modbus-serial
Advanced tools
Comparing version 7.5.1 to 7.6.0-no-serial-port
@@ -42,2 +42,6 @@ /* eslint-disable no-console, no-unused-vars, spaced-comment */ | ||
serverTCP.on("initialized", function() { | ||
console.log("initialized"); | ||
}); | ||
serverTCP.on("socketError", function(err) { | ||
@@ -44,0 +48,0 @@ console.error(err); |
@@ -383,2 +383,5 @@ "use strict"; | ||
this._port.close(callback); | ||
} else { | ||
// nothing needed to be done | ||
callback(); | ||
} | ||
@@ -398,2 +401,5 @@ }; | ||
this._port.destroy(callback); | ||
} else { | ||
// nothing needed to be done | ||
callback(); | ||
} | ||
@@ -400,0 +406,0 @@ }; |
@@ -47,2 +47,4 @@ export class ModbusRTU { | ||
writeRegisters(dataAddress: number, values: Array<number>): Promise<WriteMultipleResult>; // 16 | ||
isOpen: boolean; | ||
} | ||
@@ -113,2 +115,2 @@ | ||
port?: number; | ||
} | ||
} |
{ | ||
"name": "modbus-serial", | ||
"version": "7.5.1", | ||
"version": "7.6.0-no-serial-port", | ||
"description": "A pure JavaScript implemetation of MODBUS-RTU (Serial and TCP) for NodeJS.", | ||
@@ -37,8 +37,8 @@ "main": "index.js", | ||
"pump": "^3.0.0", | ||
"serialport": "^7.1.3", | ||
"sinon": "^7.2.2" | ||
}, | ||
"dependencies": { | ||
"serialport": "^7.1.3", | ||
"debug": "^4.1.1" | ||
} | ||
} | ||
} |
@@ -99,5 +99,7 @@ "use strict"; | ||
this._client.on("timeout", function() { | ||
modbus.openFlag = false; | ||
// modbus.openFlag is left in its current state as it reflects two types of timeouts, | ||
// i.e. 'false' for "TCP connection timeout" and 'true' for "Modbus response timeout" | ||
// (this allows to continue Modbus request re-tries without reconnecting TCP). | ||
modbusSerialDebug("TCP port: TimedOut"); | ||
handleCallback(new Error("TCP Connection Timed Out.")); | ||
handleCallback(new Error("TCP Connection Timed Out")); | ||
}); | ||
@@ -104,0 +106,0 @@ |
@@ -125,5 +125,7 @@ "use strict"; | ||
this._client.on("timeout", function() { | ||
modbus.openFlag = false; | ||
// modbus.openFlag is left in its current state as it reflects two types of timeouts, | ||
// i.e. 'false' for "TCP connection timeout" and 'true' for "Modbus response timeout" | ||
// (this allows to continue Modbus request re-tries without reconnecting TCP). | ||
modbusSerialDebug("TcpRTUBufferedPort port: TimedOut"); | ||
handleCallback(new Error("TcpRTUBufferedPort Connection Timed Out.")); | ||
handleCallback(new Error("TcpRTUBufferedPort Connection Timed Out")); | ||
}); | ||
@@ -130,0 +132,0 @@ |
@@ -537,33 +537,33 @@ "use strict"; | ||
if (vector.setCoil) { | ||
var callbackInvoked = false; | ||
var cbCount = 0; | ||
var buildCb = function(/* i - not used at the moment */) { | ||
return function(err) { | ||
if (err) { | ||
if (!callbackInvoked) { | ||
callbackInvoked = true; | ||
callback(err); | ||
} | ||
return; | ||
var callbackInvoked = false; | ||
var cbCount = 0; | ||
var buildCb = function(/* i - not used at the moment */) { | ||
return function(err) { | ||
if (err) { | ||
if (!callbackInvoked) { | ||
callbackInvoked = true; | ||
callback(err); | ||
} | ||
cbCount = cbCount + 1; | ||
return; | ||
} | ||
if (cbCount === length && !callbackInvoked) { | ||
modbusSerialDebug({ action: "FC15 response", responseBuffer: responseBuffer }); | ||
cbCount = cbCount + 1; | ||
callbackInvoked = true; | ||
callback(null, responseBuffer); | ||
} | ||
}; | ||
if (cbCount === length && !callbackInvoked) { | ||
modbusSerialDebug({ action: "FC15 response", responseBuffer: responseBuffer }); | ||
callbackInvoked = true; | ||
callback(null, responseBuffer); | ||
} | ||
}; | ||
}; | ||
if (length === 0) | ||
callback({ | ||
modbusErrorCode: 0x02, // Illegal address | ||
msg: "Invalid length" | ||
}); | ||
if (length === 0) | ||
callback({ | ||
modbusErrorCode: 0x02, // Illegal address | ||
msg: "Invalid length" | ||
}); | ||
if (vector.setCoil) { | ||
var state; | ||
@@ -588,2 +588,22 @@ | ||
} | ||
} else if (vector.setCoilArray) { | ||
state = []; | ||
for (i = 0; i < length; i++) { | ||
cb = buildCb(i); | ||
state.push(requestBuffer.readBit(i, 7)); | ||
_handlePromiseOrValue(promiseOrValue, cb); | ||
} | ||
try { | ||
if (vector.setCoilArray.length === 4) { | ||
vector.setCoilArray(address, state, unitID, cb); | ||
} | ||
else { | ||
vector.setCoilArray(address, state, unitID); | ||
} | ||
} | ||
catch(err) { | ||
cb(err); | ||
} | ||
} | ||
@@ -617,33 +637,33 @@ } | ||
// write registers | ||
if (vector.setRegister) { | ||
var callbackInvoked = false; | ||
var cbCount = 0; | ||
var buildCb = function(/* i - not used at the moment */) { | ||
return function(err) { | ||
if (err) { | ||
if (!callbackInvoked) { | ||
callbackInvoked = true; | ||
callback(err); | ||
} | ||
return; | ||
var callbackInvoked = false; | ||
var cbCount = 0; | ||
var buildCb = function(/* i - not used at the moment */) { | ||
return function(err) { | ||
if (err) { | ||
if (!callbackInvoked) { | ||
callbackInvoked = true; | ||
callback(err); | ||
} | ||
cbCount = cbCount + 1; | ||
return; | ||
} | ||
if (cbCount === length && !callbackInvoked) { | ||
modbusSerialDebug({ action: "FC16 response", responseBuffer: responseBuffer }); | ||
cbCount = cbCount + 1; | ||
callbackInvoked = true; | ||
callback(null, responseBuffer); | ||
} | ||
}; | ||
if (cbCount === length && !callbackInvoked) { | ||
modbusSerialDebug({ action: "FC16 response", responseBuffer: responseBuffer }); | ||
callbackInvoked = true; | ||
callback(null, responseBuffer); | ||
} | ||
}; | ||
}; | ||
if (length === 0) | ||
callback({ | ||
modbusErrorCode: 0x02, // Illegal address | ||
msg: "Invalid length" | ||
}); | ||
if (length === 0) | ||
callback({ | ||
modbusErrorCode: 0x02, // Illegal address | ||
msg: "Invalid length" | ||
}); | ||
if (vector.setRegister) { | ||
var value; | ||
@@ -668,2 +688,23 @@ | ||
} | ||
} else if (vector.setRegisterArray) { | ||
value = []; | ||
for (i = 0; i < length; i++) { | ||
cb = buildCb(i); | ||
value.push(requestBuffer.readUInt16BE(7 + i * 2)); | ||
_handlePromiseOrValue(value, cb); | ||
} | ||
try { | ||
if (vector.setRegisterArray.length === 6) { | ||
vector.setRegisterArray(address, value, unitID, cb); | ||
} | ||
else { | ||
vector.setRegisterArray(address, value, unitID); | ||
} | ||
} | ||
catch (err) { | ||
cb(err); | ||
} | ||
} | ||
@@ -670,0 +711,0 @@ } |
@@ -210,3 +210,8 @@ "use strict"; | ||
modbus._server = net.createServer(); | ||
modbus._server.listen(options.port || MODBUS_PORT, options.host || HOST); | ||
modbus._server.listen({ | ||
port: options.port || MODBUS_PORT, | ||
host: options.host || HOST | ||
}, function() { | ||
modbus.emit("initialized"); | ||
}); | ||
@@ -213,0 +218,0 @@ // create a server unit id |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
255451
1
56
6721
11
1
- Removedserialport@^7.1.3
- Removed@serialport/binding-abstract@2.0.5(transitive)
- Removed@serialport/binding-mock@2.0.5(transitive)
- Removed@serialport/bindings@2.0.8(transitive)
- Removed@serialport/parser-byte-length@2.0.2(transitive)
- Removed@serialport/parser-cctalk@2.0.2(transitive)
- Removed@serialport/parser-delimiter@2.0.2(transitive)
- Removed@serialport/parser-readline@2.0.2(transitive)
- Removed@serialport/parser-ready@2.0.2(transitive)
- Removed@serialport/parser-regex@2.0.2(transitive)
- Removed@serialport/stream@2.0.5(transitive)
- Removedansi-regex@2.1.1(transitive)
- Removedaproba@1.2.0(transitive)
- Removedare-we-there-yet@1.1.7(transitive)
- Removedbase64-js@1.5.1(transitive)
- Removedbindings@1.5.0(transitive)
- Removedbl@4.1.0(transitive)
- Removedbuffer@5.7.1(transitive)
- Removedchownr@1.1.4(transitive)
- Removedcode-point-at@1.1.0(transitive)
- Removedconsole-control-strings@1.1.0(transitive)
- Removedcore-util-is@1.0.3(transitive)
- Removeddecompress-response@4.2.1(transitive)
- Removeddeep-extend@0.6.0(transitive)
- Removeddelegates@1.0.0(transitive)
- Removeddetect-libc@1.0.3(transitive)
- Removedend-of-stream@1.4.4(transitive)
- Removedexpand-template@2.0.3(transitive)
- Removedfile-uri-to-path@1.0.0(transitive)
- Removedfs-constants@1.0.0(transitive)
- Removedgauge@2.7.4(transitive)
- Removedgithub-from-package@0.0.0(transitive)
- Removedhas-unicode@2.0.1(transitive)
- Removedieee754@1.2.1(transitive)
- Removedinherits@2.0.4(transitive)
- Removedini@1.3.8(transitive)
- Removedis-fullwidth-code-point@1.0.0(transitive)
- Removedisarray@1.0.0(transitive)
- Removedmimic-response@2.1.0(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmkdirp-classic@0.5.3(transitive)
- Removednan@2.19.0(transitive)
- Removednapi-build-utils@1.0.2(transitive)
- Removednode-abi@2.30.1(transitive)
- Removednoop-logger@0.1.1(transitive)
- Removednpmlog@4.1.2(transitive)
- Removednumber-is-nan@1.0.1(transitive)
- Removedobject-assign@4.1.1(transitive)
- Removedonce@1.4.0(transitive)
- Removedprebuild-install@5.3.6(transitive)
- Removedprocess-nextick-args@2.0.1(transitive)
- Removedpump@3.0.0(transitive)
- Removedrc@1.2.8(transitive)
- Removedreadable-stream@2.3.83.6.2(transitive)
- Removedsafe-buffer@5.1.2(transitive)
- Removedsemver@5.7.2(transitive)
- Removedserialport@7.1.5(transitive)
- Removedset-blocking@2.0.0(transitive)
- Removedsignal-exit@3.0.7(transitive)
- Removedsimple-concat@1.0.1(transitive)
- Removedsimple-get@3.1.1(transitive)
- Removedstring-width@1.0.2(transitive)
- Removedstring_decoder@1.1.1(transitive)
- Removedstrip-ansi@3.0.1(transitive)
- Removedstrip-json-comments@2.0.1(transitive)
- Removedtar-fs@2.1.1(transitive)
- Removedtar-stream@2.2.0(transitive)
- Removedtunnel-agent@0.6.0(transitive)
- Removedutil-deprecate@1.0.2(transitive)
- Removedwhich-pm-runs@1.1.0(transitive)
- Removedwide-align@1.1.5(transitive)
- Removedwrappy@1.0.2(transitive)