UNPKG

weblab-instrument

Version:
79 lines (72 loc) 1.73 kB
const propMethod = require('../dev/propMethod.js'); const debug = require('debug'); const log = debug('pwr_sys:log'); function SysCmd() { this.sysLock = 'OFF'; this.status = ''; this.track = '0'; this.beep = '0'; this.out = '0'; } SysCmd.prototype.cmdHandler = { IDN: { getHandler() { return true; }, }, RST: { setHelper() { return true; }, }, SysLocal: { setHelper(sysObj) { sysObj.sysLock = 'OFF'; return true; }, }, SysRemote: { setHelper(sysObj) { log('sent SysRemote command'); sysObj.sysLock = 'ON'; return true; }, }, STATUS: { getHandler(sysObj, res) { let status = ''; if (res.length > 15) { // GPD3303D for (let i = 0; i < 15; i += 2) { status += res[i]; } log(status); sysObj.status = status.slice(0, 5) + status[6] + status[6] + status[7]; } else { sysObj.status = res; } return true; }, }, TRACK: { setHelper(sysObj, arg) { sysObj.track = arg; return true; }, }, BEEP: { setHelper(sysObj, arg) { sysObj.beep = arg; return true; }, }, OUT: { setHelper(sysObj, arg) { log('sent RangeAuto command'); sysObj.out = arg; return true; }, }, }; exports.initPwrSysObj = function initPwrSysObj(id) { const sysCmd = new SysCmd(); sysCmd.prop = propMethod.CreatMethod.call(this, id); return sysCmd; };