@zimo-elektronik/zcan 1.0.6 → 1.0.7
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.
|
@@ -19,19 +19,22 @@ jobs:
|
|
|
19
19
|
- uses: actions/checkout@v4.1.6
|
|
20
20
|
with:
|
|
21
21
|
fetch-depth: 0
|
|
22
|
+
- uses: actions/setup-node@v4
|
|
23
|
+
with:
|
|
24
|
+
node-version: '20.11.0'
|
|
25
|
+
registry-url: 'https://registry.npmjs.org'
|
|
22
26
|
- id: check
|
|
23
|
-
run:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
# fi
|
|
27
|
+
run: |
|
|
28
|
+
PUBLISHED_VERSION=$(npm show @zimo-elektronik/zcan version)
|
|
29
|
+
VERSION=$(npm pkg get version | tr -d '"')
|
|
30
|
+
|
|
31
|
+
if [ "$PUBLISHED_VERSION" = "$VERSION" ];
|
|
32
|
+
then
|
|
33
|
+
echo "Version didn't change, skipping"
|
|
34
|
+
echo "should_skip=yes" >> $GITHUB_OUTPUT
|
|
35
|
+
else
|
|
36
|
+
echo "should_skip=no" >> $GITHUB_OUTPUT
|
|
37
|
+
fi
|
|
35
38
|
|
|
36
39
|
|
|
37
40
|
build:
|
|
@@ -20,12 +20,14 @@ export default class LanLocoStateGroup {
|
|
|
20
20
|
const trainNid = buffer.readUInt16LE(6);
|
|
21
21
|
const lastControlledTime = buffer.readUInt32LE(8);
|
|
22
22
|
const railComData = buffer.readUInt32LE(12);
|
|
23
|
-
|
|
23
|
+
const partOneFunctions = buffer.readUInt32LE(16);
|
|
24
|
+
const partTwoFunctions = buffer.readUInt32LE(20);
|
|
25
|
+
let functions = partTwoFunctions * 2 ** 32 + partOneFunctions;
|
|
24
26
|
const functionsStates = [];
|
|
25
27
|
for (let i = 0; i < 63; i++) {
|
|
26
|
-
const active = (functions &
|
|
28
|
+
const active = (functions & 1) === 1;
|
|
29
|
+
functions >>>= 1;
|
|
27
30
|
functionsStates.push(active);
|
|
28
|
-
functions = functions >> 1n;
|
|
29
31
|
}
|
|
30
32
|
const sentDCCData = buffer.readUInt32LE(24);
|
|
31
33
|
const receivedRailcomData = buffer.readUInt32LE(28);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lanLocoStateGroup.js","sourceRoot":"","sources":["../../src/zcan/lanLocoStateGroup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAQ7B,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAC5B,IAAI,CAAO;IAEH,mBAAmB,GAAG,IAAI,OAAO,EAAiB,CAAC;IAEnE,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CACH,IAAY,EACZ,OAAe,EACf,IAAY,EACZ,GAAW,EACX,MAAc;QAEd,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,IAAI;gBACP,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM;QACV,CAAC;IACH,CAAC;IAGO,sBAAsB,CAC5B,IAAY,EACZ,IAAY,EACZ,GAAW,EACX,MAAc;QAEd,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"lanLocoStateGroup.js","sourceRoot":"","sources":["../../src/zcan/lanLocoStateGroup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAQ7B,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAC5B,IAAI,CAAO;IAEH,mBAAmB,GAAG,IAAI,OAAO,EAAiB,CAAC;IAEnE,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CACH,IAAY,EACZ,OAAe,EACf,IAAY,EACZ,GAAW,EACX,MAAc;QAEd,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,IAAI;gBACP,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM;QACV,CAAC;IACH,CAAC;IAGO,sBAAsB,CAC5B,IAAY,EACZ,IAAY,EACZ,GAAW,EACX,MAAc;QAEd,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAE5C,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,SAAS,GAAG,gBAAgB,GAAG,CAAC,IAAI,EAAE,GAAG,gBAAgB,CAAC;YAE9D,MAAM,eAAe,GAAG,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBACrC,SAAS,MAAM,CAAC,CAAC;gBACjB,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAEpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;gBAC5B,GAAG,EAAE,GAAG;gBACR,IAAI;gBACJ,QAAQ;gBAER,QAAQ;gBACR,kBAAkB;gBAClB,WAAW;gBACX,eAAe;gBACf,WAAW;gBACX,mBAAmB;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "https://github.com/ZIMO-Elektronik/zcan",
|
|
8
|
-
"version": "1.0.
|
|
8
|
+
"version": "1.0.7",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"start": "node dist/main.js",
|
|
11
11
|
"start:dev": "nodemon --ext js,ts,json,env --exec \"node --experimental-specifier-resolution=node --loader ts-node/esm\" src/main.ts",
|
|
@@ -45,14 +45,16 @@ export default class LanLocoStateGroup {
|
|
|
45
45
|
const trainNid = buffer.readUInt16LE(6);
|
|
46
46
|
const lastControlledTime = buffer.readUInt32LE(8);
|
|
47
47
|
const railComData = buffer.readUInt32LE(12);
|
|
48
|
-
// const functionState = buffer.readBigUint64LE(16);
|
|
49
48
|
|
|
50
|
-
|
|
49
|
+
const partOneFunctions = buffer.readUInt32LE(16);
|
|
50
|
+
const partTwoFunctions = buffer.readUInt32LE(20);
|
|
51
|
+
let functions = partTwoFunctions * 2 ** 32 + partOneFunctions;
|
|
52
|
+
|
|
51
53
|
const functionsStates = [];
|
|
52
54
|
for (let i = 0; i < 63; i++) {
|
|
53
|
-
const active = (functions &
|
|
55
|
+
const active = (functions & 1) === 1;
|
|
56
|
+
functions >>>= 1;
|
|
54
57
|
functionsStates.push(active);
|
|
55
|
-
functions = functions >> 1n;
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
const sentDCCData = buffer.readUInt32LE(24);
|
|
@@ -62,6 +64,7 @@ export default class LanLocoStateGroup {
|
|
|
62
64
|
nid: NID,
|
|
63
65
|
type,
|
|
64
66
|
ownerNid,
|
|
67
|
+
// trainNid is if its part of Loco
|
|
65
68
|
trainNid,
|
|
66
69
|
lastControlledTime,
|
|
67
70
|
railComData,
|