UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

284 lines 27.4 kB
/** * Generated file. Do not edit */ import { AdpControlIn } from './models'; import { AdpControlOut } from './models'; import { SerialSettings } from '@iotize/tap/service/impl/target'; import { TapStreamReader } from '@iotize/tap/client/impl'; import { TapStreamWriter } from '@iotize/tap/client/impl'; import { enumKeyOrValueToNumber } from '@iotize/tap/client/impl'; TapStreamReader.prototype.readTapnpassProtocolConfiguration = function () { const model = {}; model.modbus = this.readTapnpassProtocolConfigurationModbus(); model.serial = this.readTapnpassProtocolConfigurationSerial(); model.usb = this.readTapnpassProtocolConfigurationUsb(); return model; }; TapStreamReader.prototype.readTapnpassProtocolConfigurationModbus = function () { const model = {}; model.slave = this.readUnsigned(1); this.forwardBits(3); model.offsetFirstRegister = this.readBoolean(1); return model; }; TapStreamReader.prototype.readTapnpassProtocolConfigurationSerial = function () { const model = {}; model.baudRate = this.readBits(20); model.identification = this.readBoolean(1); this.forwardBits(1); model.ledStatus = this.readBoolean(1); this.forwardBits(1); model.physicalPort = this.readBits(4); model.stopBits = this.readBits(2); model.bitParity = this.readBits(4); model.dataBits = this.readBits(2); model.handshakeDelimiter = this.readBits(4); model.hardwareFlowControl = this.readBits(4); model.timeout = this.readUnsigned(1); return model; }; TapStreamReader.prototype.readTapnpassProtocolConfigurationUsb = function () { const model = {}; model.aliases = []; while (!this.isEof()) { model.aliases.push(this.readTapnpassProtocolConfigurationUsbAlias()); } return model; }; TapStreamReader.prototype.readTapnpassProtocolConfigurationUsbAlias = function () { const model = {}; model.pid = this.readUnsigned(2); model.vid = this.readUnsigned(2); model.equ = this.readUnsigned(1); return model; }; TapStreamReader.prototype.readAdpStats = function () { const model = {}; model.header = this.readAdpStatsHeader(); model.state = this.readAdpStatsState(); model.uart = this.readAdpStatsUart(); model.usb = this.readAdpStatsUsb(); model.current = this.readBytes(4); model.com = this.readAdpStatsCom(); model.battery = this.readBytes(4); model.intern = this.readAdpStatsIntern(); return model; }; TapStreamReader.prototype.readAdpStatsHeader = function () { const model = {}; this.forwardBits(16); model.version = this.readAdpStatsVersion(); model.errorCode = this.readUnsigned(1); this.forwardBits(16); return model; }; TapStreamReader.prototype.readAdpStatsVersion = function () { const model = {}; model.major = this.readUnsigned(1); model.minor = this.readUnsigned(1); model.patch = this.readUnsigned(1); return model; }; TapStreamReader.prototype.readAdpStatsIntern = function () { const model = {}; model.time = this.readBytes(4); model.nbBoots = this.readBytes(4); model.nbShutdown = this.readBytes(2); model.nbAdpFault = this.readBytes(2); model.nbAdpMemFault = this.readBytes(2); model.nbAdpBusFault = this.readBytes(2); model.nbAdpUsageFault = this.readBytes(2); this.forwardBits(16); model.temperature = this.readBytes(4); return model; }; TapStreamReader.prototype.readAdpStatsState = function () { const model = {}; this.forwardBits(7); model.usbDisconnected = this.readBoolean(1); this.forwardBits(24); return model; }; TapStreamReader.prototype.readAdpStatsUart = function () { const model = {}; model.nbPartityError = this.readUnsigned(1); model.nbNoiseError = this.readUnsigned(1); model.nbFrameError = this.readUnsigned(1); model.nbDmaError = this.readUnsigned(1); model.nbTxError = this.readUnsigned(1); model.nbRxError = this.readUnsigned(1); model.nbOverRun = this.readUnsigned(1); this.forwardBits(8); return model; }; TapStreamReader.prototype.readAdpStatsUsb = function () { const model = {}; model.nbFail = this.readUnsigned(1); model.nbTimeout = this.readUnsigned(1); model.nbError = this.readUnsigned(1); model.nbUnknownClass = this.readUnsigned(1); model.nbDisconnect = this.readUnsigned(1); model.nbOff = this.readUnsigned(1); this.forwardBits(16); return model; }; TapStreamReader.prototype.readAdpStatsCom = function () { const model = {}; model.txBufferOverRun = this.readUnsigned(1); model.rxBufferOverRun = this.readUnsigned(1); model.nbErrorSettings = this.readUnsigned(1); this.forwardBits(8); model.nbComAdp = this.readBytes(4); return model; }; TapStreamReader.prototype.readAdpControlIn = function () { const model = {}; model.command = this.readUnsigned(2); model.param = this.readUnsigned(2); return model; }; TapStreamReader.prototype.readAdpControlOut = function () { const model = {}; model.resultCode = this.readUnsigned(2); model.param = this.readUnsigned(2); return model; }; // TapStreamWriter.prototype.write(model: TapnpassProtocolConfiguration) : TapStreamWriter{ // return this.writeTapnpassProtocolConfiguration(model) // } TapStreamWriter.prototype.writeTapnpassProtocolConfiguration = function (model) { this.writeTapnpassProtocolConfigurationModbus(model.modbus); this.writeTapnpassProtocolConfigurationSerial(model.serial); this.writeTapnpassProtocolConfigurationUsb(model.usb); return this; }; TapStreamWriter.prototype.writeTapnpassProtocolConfigurationModbus = function (model) { this.writeUnsigned(model.slave, 1); this.forwardBits(3); this.writeBoolean(model.offsetFirstRegister, 1); return this; }; TapStreamWriter.prototype.writeTapnpassProtocolConfigurationSerial = function (model) { this.writeBits(model.baudRate, 20); this.writeBoolean(model.identification, 1); this.forwardBits(1); this.writeBoolean(model.ledStatus, 1); this.forwardBits(1); this.writeBitsInt(enumKeyOrValueToNumber(model.physicalPort, SerialSettings.PhysicalPort), 4); this.writeBitsInt(enumKeyOrValueToNumber(model.stopBits, SerialSettings.StopBits), 2); this.writeBitsInt(enumKeyOrValueToNumber(model.bitParity, SerialSettings.BitParity), 4); this.writeBitsInt(enumKeyOrValueToNumber(model.dataBits, SerialSettings.DataBits), 2); this.writeBitsInt(enumKeyOrValueToNumber(model.handshakeDelimiter, SerialSettings.HandshakeDelimiter), 4); this.writeBitsInt(enumKeyOrValueToNumber(model.hardwareFlowControl, SerialSettings.HardwareFlowControl), 4); this.writeUnsigned(model.timeout, 1); return this; }; TapStreamWriter.prototype.writeTapnpassProtocolConfigurationUsb = function (model) { for (let item of model.aliases) { this.writeTapnpassProtocolConfigurationUsbAlias(item); } return this; }; TapStreamWriter.prototype.writeTapnpassProtocolConfigurationUsbAlias = function (model) { this.writeUnsigned(model.pid, 2); this.writeUnsigned(model.vid, 2); this.writeUnsigned(model.equ, 1); return this; }; // TapStreamWriter.prototype.write(model: AdpStats) : TapStreamWriter{ // return this.writeAdpStats(model) // } TapStreamWriter.prototype.writeAdpStats = function (model) { this.writeAdpStatsHeader(model.header); this.writeAdpStatsState(model.state); this.writeAdpStatsUart(model.uart); this.writeAdpStatsUsb(model.usb); this.writeBytes(model.current, 4); this.writeAdpStatsCom(model.com); this.writeBytes(model.battery, 4); this.writeAdpStatsIntern(model.intern); return this; }; TapStreamWriter.prototype.writeAdpStatsHeader = function (model) { this.forwardBits(16); this.writeAdpStatsVersion(model.version); this.writeUnsigned(model.errorCode, 1); this.forwardBits(16); return this; }; TapStreamWriter.prototype.writeAdpStatsVersion = function (model) { this.writeUnsigned(model.major, 1); this.writeUnsigned(model.minor, 1); this.writeUnsigned(model.patch, 1); return this; }; TapStreamWriter.prototype.writeAdpStatsIntern = function (model) { this.writeBytes(model.time, 4); this.writeBytes(model.nbBoots, 4); this.writeBytes(model.nbShutdown, 2); this.writeBytes(model.nbAdpFault, 2); this.writeBytes(model.nbAdpMemFault, 2); this.writeBytes(model.nbAdpBusFault, 2); this.writeBytes(model.nbAdpUsageFault, 2); this.forwardBits(16); this.writeBytes(model.temperature, 4); return this; }; TapStreamWriter.prototype.writeAdpStatsState = function (model) { this.forwardBits(7); this.writeBoolean(model.usbDisconnected, 1); this.forwardBits(24); return this; }; TapStreamWriter.prototype.writeAdpStatsUart = function (model) { this.writeUnsigned(model.nbPartityError, 1); this.writeUnsigned(model.nbNoiseError, 1); this.writeUnsigned(model.nbFrameError, 1); this.writeUnsigned(model.nbDmaError, 1); this.writeUnsigned(model.nbTxError, 1); this.writeUnsigned(model.nbRxError, 1); this.writeUnsigned(model.nbOverRun, 1); this.forwardBits(8); return this; }; TapStreamWriter.prototype.writeAdpStatsUsb = function (model) { this.writeUnsigned(model.nbFail, 1); this.writeUnsigned(model.nbTimeout, 1); this.writeUnsigned(model.nbError, 1); this.writeUnsigned(model.nbUnknownClass, 1); this.writeUnsigned(model.nbDisconnect, 1); this.writeUnsigned(model.nbOff, 1); this.forwardBits(16); return this; }; TapStreamWriter.prototype.writeAdpStatsCom = function (model) { this.writeUnsigned(model.txBufferOverRun, 1); this.writeUnsigned(model.rxBufferOverRun, 1); this.writeUnsigned(model.nbErrorSettings, 1); this.forwardBits(8); this.writeBytes(model.nbComAdp, 4); return this; }; // TapStreamWriter.prototype.write(model: AdpControlIn) : TapStreamWriter{ // return this.writeAdpControlIn(model) // } TapStreamWriter.prototype.writeAdpControlIn = function (model) { this.writeBitsInt(enumKeyOrValueToNumber(model.command, AdpControlIn.Command), 16); this.writeUnsigned(model.param, 2); return this; }; // TapStreamWriter.prototype.write(model: AdpControlOut) : TapStreamWriter{ // return this.writeAdpControlOut(model) // } TapStreamWriter.prototype.writeAdpControlOut = function (model) { this.writeBitsInt(enumKeyOrValueToNumber(model.resultCode, AdpControlOut.ResultCode), 16); this.writeUnsigned(model.param, 2); return this; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLXN0cmVhbS1leHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ltcGwvdGFwbnBhc3Mvc3JjL2xpYi9nZW5lcmF0ZWQvY29udmVydGVyLXN0cmVhbS1leHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFJSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUE2RWpFLGVBQWUsQ0FBQyxTQUFTLENBQUMsaUNBQWlDO0lBQ3pEO1FBQ0UsTUFBTSxLQUFLLEdBQTJDLEVBQUUsQ0FBQztRQUV6RCxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDO1FBRTlELEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLENBQUM7UUFFOUQsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztRQUV4RCxPQUFPLEtBQXNDLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0FBRUosZUFBZSxDQUFDLFNBQVMsQ0FBQyx1Q0FBdUM7SUFDL0Q7UUFDRSxNQUFNLEtBQUssR0FBa0QsRUFBRSxDQUFDO1FBRWhFLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FB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