weblab-instrument
Version:
communication with instrument through usb
188 lines (179 loc) • 5.01 kB
JavaScript
const propMethod = require('../dev/propMethod.js');
// const debug = require('debug');
// const log = debug('lcr_sys:log');
function SysCmd() {
this.sysLock = 'OFF';
this.bias = 'ON';
this.disppage = 'MEAS';
this.trig = 'INT';
this.delay = '0';
this.freq = '100';
this.level = { volt: '1', curr: '0.1', mode: 'volt', resist: '50', alc: 'OFF' };
this.aperture = { rate: 'SLOW', avg: '1' };
}
SysCmd.prototype.cmdHandler = {
IDN: {
getHandler() {
return true;
},
},
SysLocal: {
setHelper(sysObj) {
sysObj.sysLock = 'OFF';
return true;
},
},
Bias: {
setHelper(sysObj, arg) {
sysObj.bias = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`bias return string = ${res}`);
sysObj.bias = res.slice(0, -1);
return true;
},
},
BiasVAL: {
setHelper(sysObj, arg) {
sysObj.bias = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`BiasVAL return string = ${res}`);
sysObj.bias = res.slice(0, -1);
return true;
},
},
DispPage: {
setHelper(sysObj, arg) {
sysObj.disppage = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`DispPage return string = ${res}`);
sysObj.disppage = res.slice(0, -1);
return true;
},
},
Frequency: {
setHelper(sysObj, arg) {
sysObj.freq = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`Frequency return string = ${res}`);
sysObj.freq = res.slice(0, -1);
return true;
},
},
LevelVoltage: {
setHelper(sysObj, arg) {
sysObj.level.volt = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`LevelVoltage return string = ${res}`);
sysObj.level.volt = res.slice(0, -1);
return true;
},
},
LevelCurrent: {
setHelper(sysObj, arg) {
sysObj.level.curr = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`LevelCurrent return string = ${res}`);
sysObj.level.curr = res.slice(0, -1);
return true;
},
},
LevelSresistance: {
setHelper(sysObj, arg) {
sysObj.level.resist = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`LevelSresistance return string = ${res}`);
sysObj.level.resist = res.slice(0, -1);
return true;
},
},
LevelALC: {
setHelper(sysObj, arg) {
sysObj.level.alc = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`LevelALC return string = ${res}`);
sysObj.level.alc = res.slice(0, -1);
return true;
},
},
LevelMode: {
setHelper(sysObj, arg) {
sysObj.level.mode = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`LevelMode return string = ${res}`);
sysObj.level.mode = res.slice(0, -1);
return true;
},
},
SetApertureRate: {
setHelper(sysObj, arg) {
// console.log("ApertureRate return")
sysObj.aperture.rate = arg;
return true;
},
},
ApertureRate: {
getHandler(sysObj, res) {
// console.log(`ApertureRate return string = ${res}`);
sysObj.aperture.rate = res.slice(0, -1);
return true;
},
},
SetApertureAVG: {
setHelper(sysObj, arg) {
sysObj.aperture.avg = arg;
return true;
},
},
ApertureAVG: {
getHandler(sysObj, res) {
// console.log(`ApertureAVG return string = ${res}`);
sysObj.aperture.avg = res.slice(0, -1);
return true;
},
},
TriggerSource: {
setHelper(sysObj, arg) {
sysObj.source = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`TriggerSource return string = ${res}`);
sysObj.source = res.slice(0, -1);
return true;
},
},
TriggerDelay: {
setHelper(sysObj, arg) {
sysObj.delay = arg;
return true;
},
getHandler(sysObj, res) {
// console.log(`TriggerDelay return string = ${res}`);
sysObj.delay = res.slice(0, -1);
return true;
},
},
};
exports.initLcrSysObj = function initLcrSysObj(id) {
const sysCmd = new SysCmd();
sysCmd.prop = propMethod.CreatMethod.call(this, id);
return sysCmd;
};