UNPKG

dial-a-device-node

Version:

dial-a-device-node is the device interface for dial-a-device

130 lines (71 loc) 3.46 kB
(function (exports) { var device_model_simulation = { amount: 400, time: 1000, timecounter: 0, amountcounter: 0, flowrate: 400.0, runmode: 0, runfunction: 0, cyclenumber: 1, actualcyclenumber: 1 }; exports.init = function (eventbus) { setInterval(function () { if (device_model_simulation.runfunction == 1) { device_model_simulation.timecounter = device_model_simulation.timecounter + 1000; if (device_model_simulation.runmode == 0) { device_model_simulation.amountcounter = device_model_simulation.amountcounter + Math.round(device_model_simulation.flowrate / 60); if (device_model_simulation.amountcounter >= device_model_simulation.amount) { device_model_simulation.runfunction = 0; } } if (device_model_simulation.runmode == 1) { device_model_simulation.amountcounter = device_model_simulation.amountcounter + Math.round((device_model_simulation.amount / (device_model_simulation.time/1000))); if (device_model_simulation.timecounter >= device_model_simulation.time) { device_model_simulation.runfunction = 0; } } if (device_model_simulation.runmode == 2) { device_model_simulation.amountcounter = device_model_simulation.amountcounter + Math.round(device_model_simulation.flowrate / 60); if (device_model_simulation.timecounter >= device_model_simulation.time) { device_model_simulation.runfunction = 0; } } } if (device_model_simulation.runfunction == 2) { device_model_simulation.timecounter = 2000; device_model_simulation.runfunction = 0; device_model_simulation.amountcounter = 175; } eventbus.emit('ui.update', { "component": "all", "model": device_model_simulation }); eventbus.emit('device.snapshot', device_model_simulation); }, 1000); eventbus.emit("serial.simulation"); eventbus.emit("serial.portopened"); eventbus.on("device.command", function (data) { if (data.command == "set_amount") { device_model_simulation.amount = data.value; } if (data.command == "set_flowrate") { device_model_simulation.flowrate = data.value; } if (data.command == "set_time") { device_model_simulation.time = data.value; } if (data.command == "set_runmode") { device_model_simulation.runmode = data.value; } if (data.command == "set_function") { if (device_model_simulation.runfunction == 0 && data.value > 0) { device_model_simulation.timecounter = 0; device_model_simulation.amountcounter = 0; } device_model_simulation.runfunction = data.value; } }); }; })(typeof exports == 'undefined' ? this['simulator'] = {} : exports);