@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: echo "should_skip=no" >> $GITHUB_OUTPUT
24
- # run: |
25
- # PUBLISHED_VERSION=$(npm show @zimo-elektronik/zcan version)
26
- # VERSION=$(npm pkg get version | tr -d '"')
27
- #
28
- # if [ "$PUBLISHED_VERSION" = "$VERSION" ];
29
- # then
30
- # echo "Version didn't change, skipping"
31
- # echo "should_skip=yes" >> $GITHUB_OUTPUT
32
- # else
33
- # echo "should_skip=no" >> $GITHUB_OUTPUT
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
- let functions = buffer.readBigUInt64LE(16);
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 & 1n) === 1n;
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;YAG5C,IAAI,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC3C,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,EAAE,CAAC,KAAK,EAAE,CAAC;gBACvC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7B,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;YAC9B,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;gBACR,QAAQ;gBACR,kBAAkB;gBAClB,WAAW;gBACX,eAAe;gBACf,WAAW;gBACX,mBAAmB;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
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.6",
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
- let functions = buffer.readBigUInt64LE(16);
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 & 1n) === 1n;
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,