UNPKG

@danidoble/webserial-vending-commands

Version:
446 lines (445 loc) 8.34 kB
var w = Object.defineProperty; var m = (c, n, r) => n in c ? w(c, n, { enumerable: !0, configurable: !0, writable: !0, value: r }) : c[n] = r; var d = (c, n, r) => m(c, typeof n != "symbol" ? n + "" : n, r); import { p as S, a as k } from "./parser-DRICA5j-.js"; const e = class e { build(n) { return e.asHex ? k({ data: n, asString: !1 }) : S(n); } serialBoardroidSumHex(n) { let r = 0; for (let t = 0; t < n.length; t++) t === 0 || t === 11 || (r += n[t]); return r; } boardroidCheckSum(n) { return n[11] = this.serialBoardroidSumHex(n), n; } static connection({ channel: n = 1 } = {}) { const r = e.instance.boardroidCheckSum( new Uint8Array([ 241, 5 + n, 0, 0, 0, 0, 0, 0, 0, 0, 242, 248 ]) ); return e.instance.build(r); } static coinPurseConfiguration({ enable: n = !1, high: r = 255, low: t = 255 } = {}) { const i = e.instance.boardroidCheckSum( new Uint8Array([ 241, 193, n ? 1 : 0, r, t, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(i); } static coinPurseDispense({ $50c: n = 0, $1: r = 0, $2: t = 0, $5: i = 0, $10: a = 0 } = {}) { if ([n, r, t, i, a].some( (o) => isNaN(o) || typeof o == "string" )) throw new Error("One of the values is not a number"); if (n < 1 && r < 1 && t < 1 && i < 1 && a < 1) throw new Error("No coins to dispense"); const s = e.instance.boardroidCheckSum( new Uint8Array([ 241, 198, n, r, t, i, a, 0, 0, 0, 242, 0 ]) ); return e.instance.build(s); } static coinPurseReadTubes() { const n = e.instance.boardroidCheckSum( new Uint8Array([ 241, 194, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(n); } static banknotePurseICTConfigure({ enable: n = !1, scrow: r = !1 } = {}) { const t = n ? 255 : 0, i = r ? 255 : 0, a = e.instance.boardroidCheckSum( new Uint8Array([ 241, 192, t, t, i, i, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(a); } static banknotePurseOtherConfigure({ enable: n = !1, scrow: r = !1 } = {}) { const t = n ? 1 : 0, i = r ? 1 : 0, a = e.instance.boardroidCheckSum( new Uint8Array([ 241, 192, t, i, 0, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(a); } static banknotePurseICTDispense({ quantity: n = 1, denomination: r = 20 }) { if (n < 1) throw new Error("No banknotes to dispense"); if ([20, 50, 100, 200, 500].indexOf(r) === -1) throw new Error("Invalid denomination"); const t = [20, 50, 100, 200, 500].indexOf(r), i = e.instance.boardroidCheckSum( new Uint8Array([ 241, 197, t, n, 0, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(i); } static banknotePurseOtherDispense({ $20: n = 0, $50: r = 0, $100: t = 0, $200: i = 0, $500: a = 0, $1000: s = 0 } = {}) { if ([n, r, t, i, a, s].some( (u) => isNaN(u) || typeof u == "string" )) throw new Error("One of the values is not a number"); if (n < 1 && r < 1 && t < 1 && i < 1 && a < 1 && s < 1) throw new Error("No banknotes to dispense"); const o = e.instance.boardroidCheckSum( new Uint8Array([ 241, 197, n, r, t, i, a, s, 0, 0, 242, 0 ]) ); return e.instance.build(o); } static banknotePurseAcceptInScrow() { const n = e.instance.boardroidCheckSum( new Uint8Array([ 241, 196, 1, 0, 0, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(n); } static banknotePurseRejectInScrow() { const n = e.instance.boardroidCheckSum( new Uint8Array([ 241, 196, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(n); } static banknotePurseSaveMemory({ channel: n = null, $20: r = null, $50: t = null, $100: i = null, $200: a = null, $500: s = null, $1000: o = null } = { channel: null, $20: null, $50: null, $100: null, $200: null, $500: null, $1000: null }) { if (n === null || r === null || t === null || i === null || a === null || s === null || o === null) throw new Error( "One of the values is not defined: " + JSON.stringify({ channel: n, $20: r, $50: t, $100: i, $200: a, $500: s, $1000: o }) ); const u = e.instance.boardroidCheckSum( new Uint8Array([ 241, 200, n, 0, r, t, i, a, s, o, 242, 0 ]) ); return e.instance.build(u); } static banknotePurseReadRecycler() { const n = e.instance.boardroidCheckSum( new Uint8Array([ 241, 195, 0, 0, 0, 0, 0, 0, 0, 0, 242, 181 ]) ); return e.instance.build(n); } static cardReaderDisable() { const n = e.instance.boardroidCheckSum( new Uint8Array([ 241, 205, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(n); } static cardReaderDispense({ selection: n = 1, second_selection: r = null, sensor: t = !0, seconds: i = null, price: a = 0 } = { selection: 1, second_selection: null, sensor: !0, seconds: null, price: 0 }) { const s = a / 256, o = a % 256, u = n + 9; let b = 0; r && (b = r + 9); let f = 0; t || (i || (i = 1.5), f = Math.round(i * 6.2)); const h = e.instance.boardroidCheckSum( new Uint8Array([ 241, 205, 1, u, b, f, s, o, 0, 0, 242, 0 ]) ); return e.instance.build(h); } static coolingRelayConfigure({ enable: n = !0 } = {}) { const r = e.instance.boardroidCheckSum( new Uint8Array([ 241, 204, n ? 1 : 0, 0, 0, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(r); } static readTemperature() { const n = e.instance.boardroidCheckSum( new Uint8Array([ 241, 203, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(n); } static dispense({ selection: n = 1, second_selection: r = null, sensor: t = !0, seconds: i = null } = { selection: 1, second_selection: null, sensor: !0, seconds: null }) { n += 9; const a = n; let s = 0; r && (r += 9, s = r); let o = 0; t || (i || (i = 1.5), o = Math.round(i * 6.2)); const u = e.instance.boardroidCheckSum( new Uint8Array([ 241, 199, a, s, o, 0, 0, 0, 0, 0, 242, 0 ]) ); return e.instance.build(u); } static customCode(n) { typeof n[0] == "string" && (n = n.map((t) => parseInt(t, 16))); const r = e.instance.boardroidCheckSum( new Uint8Array(n) ); return e.instance.build(r); } }; d(e, "asHex", !1), d(e, "instance"); let l = e; l.instance = new l(); export { l as Boardroid };