weblab-instrument
Version:
communication with instrument through usb
79 lines (71 loc) • 1.78 kB
JavaScript
const propMethod = require('../dev/propMethod.js');
// const debug = require('debug');
// const log = debug('fm_channel:log');
function FM() {
this.temp = '';
this.type = 'SIN';
this.source = 'INTernal';
this.freq = '1E+6';
this.state = 'OFF';
this.deviation = '1E+1';
}
FM.prototype.cmdHandler = {
FMInteFunc: {
setHelper(fmObj, arg) {
fmObj.type = arg;
},
getHandler(fmObj, res) {
res = res.slice(0, -1);
fmObj.type = res.toString();
return true;
},
},
FMInteFreq: {
setHelper(fmObj, arg) {
fmObj.freq = arg;
return true;
},
getHandler(fmObj, res) {
res = res.slice(0, -1);
fmObj.freq = res.toString();
return true;
},
},
FMSource: {
setHelper(fmObj, arg) {
fmObj.source = arg;
},
getHandler(fmObj, res) {
res = res.slice(0, -1);
fmObj.source = res.toString();
return true;
},
},
FMState: {
setHelper(fmObj, arg) {
fmObj.state = arg;
},
getHandler(fmObj, res) {
res = res.slice(0, -1);
fmObj.state = res.toString();
return true;
},
},
FMDeviation: {
setHelper(fmObj, arg) {
fmObj.deviation = arg;
return true;
},
getHandler(fmObj, res) {
res = res.slice(0, -1);
fmObj.deviation = res.toString();
return true;
},
},
};
exports.initFMObj = function initFMObj(id) {
const fmCmd = new FM();
fmCmd.id = id;
fmCmd.prop = propMethod.CreatMethod.call(this, id);
return fmCmd;
};