@iobroker/modbus 7.0.16 → 7.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -22,17 +22,19 @@ class ModbusClientSerial extends modbus_client_core_1.default {
|
|
|
22
22
|
buffer = Buffer.alloc(0);
|
|
23
23
|
serialPort = null;
|
|
24
24
|
unitId;
|
|
25
|
+
ready;
|
|
25
26
|
serial;
|
|
26
27
|
constructor(options) {
|
|
27
28
|
super(options);
|
|
28
29
|
this.setState('init');
|
|
29
30
|
this.unitId = options.unitId || 1;
|
|
30
31
|
this.serial = options.serial;
|
|
31
|
-
|
|
32
|
+
this.ready = import('serialport')
|
|
33
|
+
.then(sp => {
|
|
32
34
|
SerialPortClass = sp.SerialPort;
|
|
33
35
|
this.on('send', this.#onSend);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
})
|
|
37
|
+
.then(() => this.connect());
|
|
36
38
|
}
|
|
37
39
|
#onOpen = () => {
|
|
38
40
|
this.emit('connect');
|
|
@@ -117,30 +119,32 @@ class ModbusClientSerial extends modbus_client_core_1.default {
|
|
|
117
119
|
};
|
|
118
120
|
connect() {
|
|
119
121
|
this.setState('connect');
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
void this.ready.then(() => {
|
|
123
|
+
if (!this.serialPort) {
|
|
124
|
+
const serial = this.serial;
|
|
125
|
+
if (!serial.portName) {
|
|
126
|
+
throw new Error('No portname.');
|
|
127
|
+
}
|
|
128
|
+
serial.baudRate ||= 9600; // the most are working with 9600
|
|
129
|
+
serial.dataBits ||= 8;
|
|
130
|
+
serial.stopBits ||= 1;
|
|
131
|
+
serial.parity ||= 'none';
|
|
132
|
+
// TODO: flowControl - ['xon', 'xoff', 'xany', 'rtscts']
|
|
133
|
+
// TODO: settings - ['brk', 'cts', 'dtr', 'dts', 'rts']
|
|
134
|
+
this.log.debug(`connect to serial ${serial.portName} with ${serial.baudRate}`);
|
|
135
|
+
this.serialPort = new SerialPortClass({
|
|
136
|
+
path: serial.portName,
|
|
137
|
+
baudRate: serial.baudRate,
|
|
138
|
+
parity: serial.parity,
|
|
139
|
+
dataBits: serial.dataBits,
|
|
140
|
+
stopBits: serial.stopBits,
|
|
141
|
+
});
|
|
142
|
+
this.serialPort.on('open', this.#onOpen);
|
|
143
|
+
this.serialPort.on('close', this.#onClose);
|
|
144
|
+
this.serialPort.on('data', this.#onData);
|
|
145
|
+
this.serialPort.on('error', this.#onError);
|
|
124
146
|
}
|
|
125
|
-
|
|
126
|
-
serial.dataBits ||= 8;
|
|
127
|
-
serial.stopBits ||= 1;
|
|
128
|
-
serial.parity ||= 'none';
|
|
129
|
-
// TODO: flowControl - ['xon', 'xoff', 'xany', 'rtscts']
|
|
130
|
-
// TODO: settings - ['brk', 'cts', 'dtr', 'dts', 'rts']
|
|
131
|
-
this.log.debug(`connect to serial ${serial.portName} with ${serial.baudRate}`);
|
|
132
|
-
this.serialPort = new SerialPortClass({
|
|
133
|
-
path: serial.portName,
|
|
134
|
-
baudRate: serial.baudRate,
|
|
135
|
-
parity: serial.parity,
|
|
136
|
-
dataBits: serial.dataBits,
|
|
137
|
-
stopBits: serial.stopBits,
|
|
138
|
-
});
|
|
139
|
-
this.serialPort.on('open', this.#onOpen);
|
|
140
|
-
this.serialPort.on('close', this.#onClose);
|
|
141
|
-
this.serialPort.on('data', this.#onData);
|
|
142
|
-
this.serialPort.on('error', this.#onError);
|
|
143
|
-
}
|
|
147
|
+
});
|
|
144
148
|
}
|
|
145
149
|
reconnect() { }
|
|
146
150
|
close() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modbus-client-serial.js","sourceRoot":"","sources":["../../../../src/lib/modbus/transports/modbus-client-serial.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,oDAA4B;AAC5B,+EAAqD;AACrD,sDAAmC;AAEnC,IAAI,eAAoB,CAAC;AAEzB,SAAS,UAAU,CAAC,GAAW;IAC3B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAqB,kBAAmB,SAAQ,4BAAgB;IACpD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,UAAU,GAAiC,IAAI,CAAC;IACvC,MAAM,CAAS;
|
|
1
|
+
{"version":3,"file":"modbus-client-serial.js","sourceRoot":"","sources":["../../../../src/lib/modbus/transports/modbus-client-serial.ts"],"names":[],"mappings":"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"}
|