node-red-zelecproto 0.0.4 → 0.0.6
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/645.js +6 -9
- package/package.json +1 -1
- package/test.js +11 -3
- package/zeleble.js +1 -1
package/645.js
CHANGED
|
@@ -219,7 +219,7 @@ function reverseHexBytes(hex) {
|
|
|
219
219
|
}
|
|
220
220
|
|
|
221
221
|
/******************** 解码:batchMsg(返回统一对象,含 exec_addr/di/value 等) ********************/
|
|
222
|
-
function
|
|
222
|
+
function decode645(_msg) {
|
|
223
223
|
// ===== 工具 =====
|
|
224
224
|
function calc645Checksum(u8) {
|
|
225
225
|
let s = 0;
|
|
@@ -1014,9 +1014,7 @@ function parseCoverOpenLast645(arrPush) {
|
|
|
1014
1014
|
|
|
1015
1015
|
|
|
1016
1016
|
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
function batchMsg(msg) {
|
|
1017
|
+
function batchMsgMain(msg) {
|
|
1020
1018
|
/******************** 入口:根据 msg.mode / msg.action 选择 encode / decode ********************/
|
|
1021
1019
|
const MODE = String(msg.mode || msg.action || 'decode').toLowerCase();
|
|
1022
1020
|
|
|
@@ -1041,15 +1039,14 @@ function batchMsg(msg) {
|
|
|
1041
1039
|
/******************** decode:解码 645 响应(统一返回对象,含 exec_addr 等) ********************/
|
|
1042
1040
|
const dataIn = msg.payload;
|
|
1043
1041
|
|
|
1044
|
-
|
|
1045
1042
|
if (Array.isArray(dataIn)) {
|
|
1046
|
-
msg.payload = dataIn.map(_msg =>
|
|
1043
|
+
msg.payload = dataIn.map(_msg => decode645(_msg));
|
|
1047
1044
|
} else {
|
|
1048
|
-
msg.payload =
|
|
1045
|
+
msg.payload = decode645(msg);
|
|
1049
1046
|
}
|
|
1050
1047
|
return msg;
|
|
1051
1048
|
}
|
|
1052
1049
|
|
|
1053
1050
|
|
|
1054
|
-
module.exports =
|
|
1055
|
-
module.exports.batchMsg645 =
|
|
1051
|
+
module.exports = batchMsgMain;
|
|
1052
|
+
module.exports.batchMsg645 = decode645;
|
package/package.json
CHANGED
package/test.js
CHANGED
|
@@ -3,10 +3,18 @@ var proto645 = require("./645");
|
|
|
3
3
|
var proto698 = require("./698");
|
|
4
4
|
|
|
5
5
|
let msg = {};
|
|
6
|
-
msg.payload = '68
|
|
7
|
-
msg.
|
|
6
|
+
// msg.payload = 'FE FE FE FE 68 30 00 C3 05 60 80 63 00 15 19 11 38 1D 90 00 17 85 01 01 30 1B 07 00 01 01 01 02 02 00 02 02 06 00 00 00 00 00 00 00 01 00 04 4C 3E EE F6 B3 CA 16'
|
|
7
|
+
// msg.payload = 'FE FE FE FE 68 30 00 C3 05 77 59 63 00 15 19 11 59 0F 90 00 17 85 01 01 30 1B 07 00 01 01 01 02 02 00 02 02 06 00 00 00 00 00 00 00 01 00 04 B2 F3 8B 23 F2 7C 16'
|
|
8
|
+
// msg.payload = 'FE FE FE FE 68 33 00 C3 05 60 80 63 00 15 19 11 8B E3 90 00 1A 85 01 01 30 13 0A 00 01 01 01 02 02 00 02 02 1C 07 E3 07 17 0B 06 1B 00 00 00 01 00 04 2C 96 C6 41 EF 15 16'
|
|
9
|
+
// msg.payload = 'FE FE FE FE 68 2C 00 C3 05 16 01 00 00 00 00 11 54 84 90 00 13 85 01 01 30 13 0A 00 01 01 01 02 02 00 02 02 00 00 00 00 01 00 04 EE E6 E8 86 13 64 16'
|
|
10
|
+
msg.payload = 'FEFEFEFE68797038300000689306ACA36B6333333D16'
|
|
11
|
+
msg.proto = 645
|
|
8
12
|
msg.mode = 'decode'
|
|
9
13
|
|
|
10
14
|
|
|
11
15
|
|
|
12
|
-
console.log(proto698(msg));
|
|
16
|
+
// console.log(JSON.stringify(proto698(msg)));
|
|
17
|
+
// console.log(proto698(msg));
|
|
18
|
+
|
|
19
|
+
// console.log(JSON.stringify(proto645(msg)));
|
|
20
|
+
console.log(proto645(msg));
|