@zimo-elektronik/zcan 1.0.0

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.
Files changed (202) hide show
  1. package/.dockerignore +7 -0
  2. package/.editorconfig +15 -0
  3. package/.eslintignore +7 -0
  4. package/.eslintrc.cjs +17 -0
  5. package/.gitattributes +1 -0
  6. package/.github/workflows/docs.yml +46 -0
  7. package/.github/workflows/library.yml +59 -0
  8. package/.nvmrc +1 -0
  9. package/.prettierignore +14 -0
  10. package/.prettierrc.json +8 -0
  11. package/LICENSE.md +21 -0
  12. package/README.md +8 -0
  13. package/__tests__/connection.test.ts +58 -0
  14. package/__tests__/dataGroup.test.ts +98 -0
  15. package/__tests__/infoGroup.test.ts +30 -0
  16. package/__tests__/lanDataGroup.test.ts +82 -0
  17. package/__tests__/lanInfoGroup.test.ts +41 -0
  18. package/__tests__/systemControlGroup.test.ts +42 -0
  19. package/__tests__/trackCfgGroup.test.ts +43 -0
  20. package/__tests__/util/index.ts +14 -0
  21. package/__tests__/vehicleGroup.test.ts +128 -0
  22. package/dist/@types/communication.d.ts +30 -0
  23. package/dist/@types/communication.js +2 -0
  24. package/dist/@types/communication.js.map +1 -0
  25. package/dist/@types/models.d.ts +172 -0
  26. package/dist/@types/models.js +2 -0
  27. package/dist/@types/models.js.map +1 -0
  28. package/dist/MX10.d.ts +45 -0
  29. package/dist/MX10.js +233 -0
  30. package/dist/MX10.js.map +1 -0
  31. package/dist/docs_entrypoint.d.ts +6 -0
  32. package/dist/docs_entrypoint.js +7 -0
  33. package/dist/docs_entrypoint.js.map +1 -0
  34. package/dist/index.d.ts +6 -0
  35. package/dist/index.js +7 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/internal/bites.d.ts +9 -0
  38. package/dist/internal/bites.js +10 -0
  39. package/dist/internal/bites.js.map +1 -0
  40. package/dist/internal/speedUtils.d.ts +9 -0
  41. package/dist/internal/speedUtils.js +29 -0
  42. package/dist/internal/speedUtils.js.map +1 -0
  43. package/dist/internal/utils.d.ts +1 -0
  44. package/dist/internal/utils.js +4 -0
  45. package/dist/internal/utils.js.map +1 -0
  46. package/dist/util/enums.d.ts +113 -0
  47. package/dist/util/enums.js +137 -0
  48. package/dist/util/enums.js.map +1 -0
  49. package/dist/util/extended-ascii.d.ts +7 -0
  50. package/dist/util/extended-ascii.js +162 -0
  51. package/dist/util/extended-ascii.js.map +1 -0
  52. package/dist/zcan/accessoryCommandGroup.d.ts +6 -0
  53. package/dist/zcan/accessoryCommandGroup.js +9 -0
  54. package/dist/zcan/accessoryCommandGroup.js.map +1 -0
  55. package/dist/zcan/dataGroup.d.ts +31 -0
  56. package/dist/zcan/dataGroup.js +233 -0
  57. package/dist/zcan/dataGroup.js.map +1 -0
  58. package/dist/zcan/fileControlGroup.d.ts +7 -0
  59. package/dist/zcan/fileControlGroup.js +9 -0
  60. package/dist/zcan/fileControlGroup.js.map +1 -0
  61. package/dist/zcan/fileTransferGroup.d.ts +7 -0
  62. package/dist/zcan/fileTransferGroup.js +9 -0
  63. package/dist/zcan/fileTransferGroup.js.map +1 -0
  64. package/dist/zcan/index.d.ts +18 -0
  65. package/dist/zcan/index.js +19 -0
  66. package/dist/zcan/index.js.map +1 -0
  67. package/dist/zcan/infoGroup.d.ts +15 -0
  68. package/dist/zcan/infoGroup.js +64 -0
  69. package/dist/zcan/infoGroup.js.map +1 -0
  70. package/dist/zcan/lanDataGroup.d.ts +23 -0
  71. package/dist/zcan/lanDataGroup.js +226 -0
  72. package/dist/zcan/lanDataGroup.js.map +1 -0
  73. package/dist/zcan/lanInfoGroup.d.ts +11 -0
  74. package/dist/zcan/lanInfoGroup.js +58 -0
  75. package/dist/zcan/lanInfoGroup.js.map +1 -0
  76. package/dist/zcan/lanNetworkGroup.d.ts +11 -0
  77. package/dist/zcan/lanNetworkGroup.js +37 -0
  78. package/dist/zcan/lanNetworkGroup.js.map +1 -0
  79. package/dist/zcan/lanZimoProgrammableScriptGroup.d.ts +7 -0
  80. package/dist/zcan/lanZimoProgrammableScriptGroup.js +9 -0
  81. package/dist/zcan/lanZimoProgrammableScriptGroup.js.map +1 -0
  82. package/dist/zcan/networkGroup.d.ts +10 -0
  83. package/dist/zcan/networkGroup.js +38 -0
  84. package/dist/zcan/networkGroup.js.map +1 -0
  85. package/dist/zcan/propertyConfigGroup.d.ts +7 -0
  86. package/dist/zcan/propertyConfigGroup.js +9 -0
  87. package/dist/zcan/propertyConfigGroup.js.map +1 -0
  88. package/dist/zcan/railwayControlGroup.d.ts +7 -0
  89. package/dist/zcan/railwayControlGroup.js +9 -0
  90. package/dist/zcan/railwayControlGroup.js.map +1 -0
  91. package/dist/zcan/systemControlGroup.d.ts +13 -0
  92. package/dist/zcan/systemControlGroup.js +35 -0
  93. package/dist/zcan/systemControlGroup.js.map +1 -0
  94. package/dist/zcan/trackCfgGroup.d.ts +16 -0
  95. package/dist/zcan/trackCfgGroup.js +77 -0
  96. package/dist/zcan/trackCfgGroup.js.map +1 -0
  97. package/dist/zcan/trainControlGroup.d.ts +8 -0
  98. package/dist/zcan/trainControlGroup.js +19 -0
  99. package/dist/zcan/trainControlGroup.js.map +1 -0
  100. package/dist/zcan/vehicleGroup.d.ts +26 -0
  101. package/dist/zcan/vehicleGroup.js +145 -0
  102. package/dist/zcan/vehicleGroup.js.map +1 -0
  103. package/dist/zcan/zimoProgrammableScriptGroup.d.ts +7 -0
  104. package/dist/zcan/zimoProgrammableScriptGroup.js +9 -0
  105. package/dist/zcan/zimoProgrammableScriptGroup.js.map +1 -0
  106. package/gulpfile.js +37 -0
  107. package/jest.config.js +26 -0
  108. package/package.json +50 -0
  109. package/protocol_docs/README.md +41 -0
  110. package/protocol_docs/babel.config.js +3 -0
  111. package/protocol_docs/docs/command-groups/_category_.json +4 -0
  112. package/protocol_docs/docs/command-groups/accessories/_category_.json +4 -0
  113. package/protocol_docs/docs/command-groups/accessories/accessory-state.md +7 -0
  114. package/protocol_docs/docs/command-groups/command-groups.md +50 -0
  115. package/protocol_docs/docs/command-groups/data/_category_.json +4 -0
  116. package/protocol_docs/docs/command-groups/data/data-name-extended.md +60 -0
  117. package/protocol_docs/docs/command-groups/data/group-count.md +52 -0
  118. package/protocol_docs/docs/command-groups/data/item-fx-info.md +27 -0
  119. package/protocol_docs/docs/command-groups/data/item-image-config.md +44 -0
  120. package/protocol_docs/docs/command-groups/data/item-list-by-index.md +45 -0
  121. package/protocol_docs/docs/command-groups/data/item-list-by-nid.md +43 -0
  122. package/protocol_docs/docs/command-groups/data/remove-train.md +33 -0
  123. package/protocol_docs/docs/command-groups/info/_category_.json +4 -0
  124. package/protocol_docs/docs/command-groups/info/bidi-info.md +34 -0
  125. package/protocol_docs/docs/command-groups/lan-data/_category_.json +4 -0
  126. package/protocol_docs/docs/command-groups/lan-data/data-value-extended.md +65 -0
  127. package/protocol_docs/docs/command-groups/lan-data/loco-gui-extended.md +48 -0
  128. package/protocol_docs/docs/command-groups/lan-info/_category_.json +4 -0
  129. package/protocol_docs/docs/command-groups/lan-info/module-power-info.md +26 -0
  130. package/protocol_docs/docs/command-groups/lan-network/_category_.json +4 -0
  131. package/protocol_docs/docs/command-groups/lan-network/open-port.md +47 -0
  132. package/protocol_docs/docs/command-groups/network/_category_.json +4 -0
  133. package/protocol_docs/docs/command-groups/network/ping.md +49 -0
  134. package/protocol_docs/docs/command-groups/system/_category_.json +4 -0
  135. package/protocol_docs/docs/command-groups/system/system-state.md +59 -0
  136. package/protocol_docs/docs/command-groups/track/_category_.json +4 -0
  137. package/protocol_docs/docs/command-groups/track/tse-prog-read.md +37 -0
  138. package/protocol_docs/docs/command-groups/track/tse-prog-write.md +35 -0
  139. package/protocol_docs/docs/command-groups/train/_category_.json +4 -0
  140. package/protocol_docs/docs/command-groups/train/train-part-find.md +33 -0
  141. package/protocol_docs/docs/command-groups/vehicles/_category_.json +4 -0
  142. package/protocol_docs/docs/command-groups/vehicles/vehicle-function.md +36 -0
  143. package/protocol_docs/docs/command-groups/vehicles/vehicle-mode.md +143 -0
  144. package/protocol_docs/docs/command-groups/vehicles/vehicle-special-function-switch.md +35 -0
  145. package/protocol_docs/docs/command-groups/vehicles/vehicle-speed.md +55 -0
  146. package/protocol_docs/docs/description.md +4 -0
  147. package/protocol_docs/docs/introduction/_category_.json +4 -0
  148. package/protocol_docs/docs/introduction/how-it-works.md +61 -0
  149. package/protocol_docs/docs/introduction/implementation.md +39 -0
  150. package/protocol_docs/docs/introduction/interface.md +62 -0
  151. package/protocol_docs/docs/introduction/introduction.md +82 -0
  152. package/protocol_docs/docusaurus.config.js +111 -0
  153. package/protocol_docs/package-lock.json +25611 -0
  154. package/protocol_docs/package.json +47 -0
  155. package/protocol_docs/sidebars.js +22 -0
  156. package/protocol_docs/src/components/CommandAndGroup/index.tsx +16 -0
  157. package/protocol_docs/src/components/CommandAndGroup/styles.module.css +12 -0
  158. package/protocol_docs/src/components/HomepageFeatures/index.tsx +70 -0
  159. package/protocol_docs/src/components/HomepageFeatures/styles.module.css +11 -0
  160. package/protocol_docs/src/css/custom.css +76 -0
  161. package/protocol_docs/src/pages/index.module.css +23 -0
  162. package/protocol_docs/src/pages/index.tsx +41 -0
  163. package/protocol_docs/src/pages/markdown-page.md +7 -0
  164. package/protocol_docs/static/.nojekyll +0 -0
  165. package/protocol_docs/static/img/docusaurus.png +0 -0
  166. package/protocol_docs/static/img/favicon.ico +0 -0
  167. package/protocol_docs/static/img/undraw_docusaurus_mountain.svg +171 -0
  168. package/protocol_docs/static/img/undraw_docusaurus_react.svg +170 -0
  169. package/protocol_docs/static/img/undraw_docusaurus_tree.svg +40 -0
  170. package/protocol_docs/static/typedoc/index.html +10 -0
  171. package/protocol_docs/tsconfig.json +7 -0
  172. package/src/@types/communication.ts +73 -0
  173. package/src/@types/models.ts +215 -0
  174. package/src/MX10.ts +351 -0
  175. package/src/docs_entrypoint.ts +34 -0
  176. package/src/index.ts +8 -0
  177. package/src/internal/bites.ts +11 -0
  178. package/src/internal/speedUtils.ts +36 -0
  179. package/src/internal/utils.ts +3 -0
  180. package/src/util/enums.ts +147 -0
  181. package/src/util/extended-ascii.ts +179 -0
  182. package/src/zcan/accessoryCommandGroup.ts +24 -0
  183. package/src/zcan/dataGroup.ts +342 -0
  184. package/src/zcan/fileControlGroup.ts +25 -0
  185. package/src/zcan/fileTransferGroup.ts +25 -0
  186. package/src/zcan/index.ts +37 -0
  187. package/src/zcan/infoGroup.ts +90 -0
  188. package/src/zcan/lanDataGroup.ts +361 -0
  189. package/src/zcan/lanInfoGroup.ts +86 -0
  190. package/src/zcan/lanNetworkGroup.ts +70 -0
  191. package/src/zcan/lanZimoProgrammableScriptGroup.ts +25 -0
  192. package/src/zcan/networkGroup.ts +71 -0
  193. package/src/zcan/propertyConfigGroup.ts +25 -0
  194. package/src/zcan/railwayControlGroup.ts +25 -0
  195. package/src/zcan/systemControlGroup.ts +62 -0
  196. package/src/zcan/trackCfgGroup.ts +109 -0
  197. package/src/zcan/trainControlGroup.ts +48 -0
  198. package/src/zcan/vehicleGroup.ts +267 -0
  199. package/src/zcan/zimoProgrammableScriptGroup.ts +25 -0
  200. package/tsconfig.build.json +12 -0
  201. package/tsconfig.json +49 -0
  202. package/tsconfig.test.json +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,eAAe,IAAI,CAAC;AACpB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,MAAM,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const speedBites____ = 1023;
2
+ export declare const directionBites = 1024;
3
+ export declare const directACKBites = 2048;
4
+ export declare const eastWestBites_ = 12288;
5
+ export declare const emergencyStopB = 32768;
6
+ export declare const speedStepBites = 15;
7
+ export declare const modeBites_____ = 240;
8
+ export declare const shuntingFunctionB = 15;
9
+ export declare const manualModeB = 48;
@@ -0,0 +1,10 @@
1
+ export const speedBites____ = 0b0000001111111111;
2
+ export const directionBites = 0b0000010000000000;
3
+ export const directACKBites = 0b0000100000000000;
4
+ export const eastWestBites_ = 0b0011000000000000;
5
+ export const emergencyStopB = 0b1000000000000000;
6
+ export const speedStepBites = 0b00001111;
7
+ export const modeBites_____ = 0b11110000;
8
+ export const shuntingFunctionB = 0b1111;
9
+ export const manualModeB = 0b110000;
10
+ //# sourceMappingURL=bites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bites.js","sourceRoot":"","sources":["../../src/internal/bites.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Direction } from "../util/enums";
2
+ export declare const combineSpeedAndDirection: (speed: number, forward: boolean, eastWest?: Direction, emergencyStop?: boolean) => number;
3
+ export declare const parseSpeed: (speedAndDirection: number) => {
4
+ speedStep: number;
5
+ forward: boolean;
6
+ eastWest: number;
7
+ emergencyStop: boolean;
8
+ };
9
+ export declare const getSpeedSteps: (val: number) => number | undefined;
@@ -0,0 +1,29 @@
1
+ import { Direction } from "../util/enums";
2
+ import { directACKBites, directionBites, eastWestBites_, emergencyStopB, speedBites____, speedStepBites } from "./bites";
3
+ export const combineSpeedAndDirection = (speed, forward, eastWest = Direction.UNDEFINED, emergencyStop = false) => {
4
+ const direction = Number(!forward);
5
+ const stop = Number(emergencyStop);
6
+ return speed | (direction << 10) | (eastWest << 12) | (stop << 15);
7
+ };
8
+ export const parseSpeed = (speedAndDirection) => {
9
+ const speedStep = speedAndDirection & speedBites____;
10
+ const direction = (speedAndDirection & directionBites) === directionBites;
11
+ const directionACK = (speedAndDirection & directACKBites) === directACKBites;
12
+ const sideways = (speedAndDirection & eastWestBites_) >> 12;
13
+ const emergencyStop = (speedAndDirection & emergencyStopB) === emergencyStopB;
14
+ const forward = !direction && !directionACK;
15
+ return {
16
+ speedStep,
17
+ forward,
18
+ eastWest: sideways,
19
+ emergencyStop
20
+ };
21
+ };
22
+ export const getSpeedSteps = (val) => {
23
+ const steps = val & speedStepBites;
24
+ if (steps == 0 || steps >= 6) {
25
+ return undefined;
26
+ }
27
+ return steps;
28
+ };
29
+ //# sourceMappingURL=speedUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speedUtils.js","sourceRoot":"","sources":["../../src/internal/speedUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAE,OAAgB,EAAE,QAAQ,GAAG,SAAS,CAAC,SAAS,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IACjI,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAEnC,OAAO,KAAK,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,iBAAyB,EAAE,EAAE;IACtD,MAAM,SAAS,GAAG,iBAAiB,GAAG,cAAc,CAAC;IACrD,MAAM,SAAS,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC,KAAK,cAAc,CAAC;IAC1E,MAAM,YAAY,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC,KAAK,cAAc,CAAC;IAC7E,MAAM,QAAQ,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,aAAa,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC,KAAK,cAAc,CAAC;IAE9E,MAAM,OAAO,GAAG,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC;IAE5C,OAAO;QACL,SAAS;QACT,OAAO;QACP,QAAQ,EAAE,QAAQ;QAClB,aAAa;KACd,CAAC;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC;IAEnC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAQ,KAAK,CAAC;AAChB,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare function delay(ms: number): Promise<unknown>;
@@ -0,0 +1,4 @@
1
+ export function delay(ms) {
2
+ return new Promise(resolve => setTimeout(resolve, ms));
3
+ }
4
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAE,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAE,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,113 @@
1
+ export declare enum OperatingMode {
2
+ UNKNOWN = "",
3
+ DCC = "DCC",
4
+ MM1 = "MM1",
5
+ MM2 = "MM2",
6
+ SX = "SX",
7
+ MFX = "mfx",
8
+ NOT_DEFINED = "N/A",
9
+ SYS = "System"
10
+ }
11
+ export declare const getOperatingMode: (val: number) => OperatingMode;
12
+ export declare enum MaxSpeedSteps {
13
+ UNKNOWN = 0,
14
+ MAX14 = 1,
15
+ MAX27 = 2,
16
+ MAX28 = 3,
17
+ MAX128 = 4,
18
+ MAX1024 = 5
19
+ }
20
+ export declare enum ExternalController {
21
+ FS = "FS",
22
+ T1 = "T1",
23
+ T2 = "T2",
24
+ FT = "FT",
25
+ FT2 = "FT(2)",
26
+ FS2 = "FS(2)"
27
+ }
28
+ export declare enum FunctionMode {
29
+ momentary = 0,
30
+ switch = 1
31
+ }
32
+ export declare enum SystemStateMode {
33
+ NORMAL = 1,
34
+ SSP0 = 2,
35
+ SSPe = 3,
36
+ OFF = 4,
37
+ SERVICE = 5,
38
+ OVERRCURRENT = 10
39
+ }
40
+ export declare enum TrackMode {
41
+ OFF = -1,
42
+ NORMAL = 0,
43
+ SSP0 = 1,
44
+ SSPe = 2,
45
+ SMP = 4,
46
+ UPDATE = 5,
47
+ SOUND = 6,
48
+ ERROR = 8,
49
+ ERROR_SMP = 9
50
+ }
51
+ export declare enum Direction {
52
+ UNDEFINED = 0,
53
+ EAST = 1,
54
+ WEST = 2
55
+ }
56
+ export declare enum NameType {
57
+ VEHICLE = 0,
58
+ RAILWAY = 1,
59
+ CONNECTION = 2,
60
+ MANUFACTURER = 3,
61
+ DECODER = 4,
62
+ DESIGNATION = 5,
63
+ CFGDB = 6,
64
+ ICON = 7,
65
+ ZIMO_PARTNER = 8,
66
+ LAND = 9,
67
+ COMPANY_CV = 10
68
+ }
69
+ export declare enum ImageType {
70
+ VEHICLE = 1,
71
+ VEHICLE_CRC32 = 2,
72
+ TACHO = 3,
73
+ VEHICLE_INSTRUMENT_BRAKE_BAR = 10,
74
+ VEHICLE_INSTRUMENT = 31
75
+ }
76
+ export declare enum FxInfoType {
77
+ ICON = 16
78
+ }
79
+ export declare enum SpecialFunctionMode {
80
+ MANUAL = 1,
81
+ SHUNTING_FUNCTION = 2,
82
+ DIRECTION_DEFAULT = 3
83
+ }
84
+ export declare enum Manual {
85
+ OFF = 0,
86
+ ON = 1
87
+ }
88
+ export declare enum ShuntingFunction {
89
+ OFF = 0,
90
+ AZBZ = 1,
91
+ HALF = 2
92
+ }
93
+ export declare enum DirectionDefault {
94
+ NO_CHANGE = 0,
95
+ DIRECTION_EAST = 1,
96
+ DIRECTION_WEST = 2
97
+ }
98
+ export declare enum BidiType {
99
+ RAILCOM_STATISTICS = 0,
100
+ SPEED_REPORT = 256,
101
+ TILT_AND_CURVE = 257,
102
+ CV = 512,
103
+ QOS = 768,
104
+ FILL_LEVEL = 1024,
105
+ DIRECTION = 2048,
106
+ TRACK_VOLTAGE = 4096,
107
+ ALARMS = 4352
108
+ }
109
+ export declare enum ForwardOrReverse {
110
+ UNKNOWN = 0,
111
+ FORWARD = 1,
112
+ REVERSE = 2
113
+ }
@@ -0,0 +1,137 @@
1
+ export var OperatingMode;
2
+ (function (OperatingMode) {
3
+ OperatingMode["UNKNOWN"] = "";
4
+ OperatingMode["DCC"] = "DCC";
5
+ OperatingMode["MM1"] = "MM1";
6
+ OperatingMode["MM2"] = "MM2";
7
+ OperatingMode["SX"] = "SX";
8
+ OperatingMode["MFX"] = "mfx";
9
+ OperatingMode["NOT_DEFINED"] = "N/A";
10
+ OperatingMode["SYS"] = "System";
11
+ })(OperatingMode || (OperatingMode = {}));
12
+ export const getOperatingMode = (val) => {
13
+ const mode = val >> 4;
14
+ const modes = Object.values(OperatingMode);
15
+ if (mode >= 1 && mode <= 7) {
16
+ return modes[mode];
17
+ }
18
+ return OperatingMode.UNKNOWN;
19
+ };
20
+ export var MaxSpeedSteps;
21
+ (function (MaxSpeedSteps) {
22
+ MaxSpeedSteps[MaxSpeedSteps["UNKNOWN"] = 0] = "UNKNOWN";
23
+ MaxSpeedSteps[MaxSpeedSteps["MAX14"] = 1] = "MAX14";
24
+ MaxSpeedSteps[MaxSpeedSteps["MAX27"] = 2] = "MAX27";
25
+ MaxSpeedSteps[MaxSpeedSteps["MAX28"] = 3] = "MAX28";
26
+ MaxSpeedSteps[MaxSpeedSteps["MAX128"] = 4] = "MAX128";
27
+ MaxSpeedSteps[MaxSpeedSteps["MAX1024"] = 5] = "MAX1024";
28
+ })(MaxSpeedSteps || (MaxSpeedSteps = {}));
29
+ export var ExternalController;
30
+ (function (ExternalController) {
31
+ ExternalController["FS"] = "FS";
32
+ ExternalController["T1"] = "T1";
33
+ ExternalController["T2"] = "T2";
34
+ ExternalController["FT"] = "FT";
35
+ ExternalController["FT2"] = "FT(2)";
36
+ ExternalController["FS2"] = "FS(2)";
37
+ })(ExternalController || (ExternalController = {}));
38
+ export var FunctionMode;
39
+ (function (FunctionMode) {
40
+ FunctionMode[FunctionMode["momentary"] = 0] = "momentary";
41
+ FunctionMode[FunctionMode["switch"] = 1] = "switch";
42
+ })(FunctionMode || (FunctionMode = {}));
43
+ export var SystemStateMode;
44
+ (function (SystemStateMode) {
45
+ SystemStateMode[SystemStateMode["NORMAL"] = 1] = "NORMAL";
46
+ SystemStateMode[SystemStateMode["SSP0"] = 2] = "SSP0";
47
+ SystemStateMode[SystemStateMode["SSPe"] = 3] = "SSPe";
48
+ SystemStateMode[SystemStateMode["OFF"] = 4] = "OFF";
49
+ SystemStateMode[SystemStateMode["SERVICE"] = 5] = "SERVICE";
50
+ SystemStateMode[SystemStateMode["OVERRCURRENT"] = 10] = "OVERRCURRENT";
51
+ })(SystemStateMode || (SystemStateMode = {}));
52
+ export var TrackMode;
53
+ (function (TrackMode) {
54
+ TrackMode[TrackMode["OFF"] = -1] = "OFF";
55
+ TrackMode[TrackMode["NORMAL"] = 0] = "NORMAL";
56
+ TrackMode[TrackMode["SSP0"] = 1] = "SSP0";
57
+ TrackMode[TrackMode["SSPe"] = 2] = "SSPe";
58
+ TrackMode[TrackMode["SMP"] = 4] = "SMP";
59
+ TrackMode[TrackMode["UPDATE"] = 5] = "UPDATE";
60
+ TrackMode[TrackMode["SOUND"] = 6] = "SOUND";
61
+ TrackMode[TrackMode["ERROR"] = 8] = "ERROR";
62
+ TrackMode[TrackMode["ERROR_SMP"] = 9] = "ERROR_SMP";
63
+ })(TrackMode || (TrackMode = {}));
64
+ export var Direction;
65
+ (function (Direction) {
66
+ Direction[Direction["UNDEFINED"] = 0] = "UNDEFINED";
67
+ Direction[Direction["EAST"] = 1] = "EAST";
68
+ Direction[Direction["WEST"] = 2] = "WEST";
69
+ })(Direction || (Direction = {}));
70
+ export var NameType;
71
+ (function (NameType) {
72
+ NameType[NameType["VEHICLE"] = 0] = "VEHICLE";
73
+ NameType[NameType["RAILWAY"] = 1] = "RAILWAY";
74
+ NameType[NameType["CONNECTION"] = 2] = "CONNECTION";
75
+ NameType[NameType["MANUFACTURER"] = 3] = "MANUFACTURER";
76
+ NameType[NameType["DECODER"] = 4] = "DECODER";
77
+ NameType[NameType["DESIGNATION"] = 5] = "DESIGNATION";
78
+ NameType[NameType["CFGDB"] = 6] = "CFGDB";
79
+ NameType[NameType["ICON"] = 7] = "ICON";
80
+ NameType[NameType["ZIMO_PARTNER"] = 8] = "ZIMO_PARTNER";
81
+ NameType[NameType["LAND"] = 9] = "LAND";
82
+ NameType[NameType["COMPANY_CV"] = 10] = "COMPANY_CV";
83
+ })(NameType || (NameType = {}));
84
+ export var ImageType;
85
+ (function (ImageType) {
86
+ ImageType[ImageType["VEHICLE"] = 1] = "VEHICLE";
87
+ ImageType[ImageType["VEHICLE_CRC32"] = 2] = "VEHICLE_CRC32";
88
+ ImageType[ImageType["TACHO"] = 3] = "TACHO";
89
+ ImageType[ImageType["VEHICLE_INSTRUMENT_BRAKE_BAR"] = 10] = "VEHICLE_INSTRUMENT_BRAKE_BAR";
90
+ ImageType[ImageType["VEHICLE_INSTRUMENT"] = 31] = "VEHICLE_INSTRUMENT";
91
+ })(ImageType || (ImageType = {}));
92
+ export var FxInfoType;
93
+ (function (FxInfoType) {
94
+ FxInfoType[FxInfoType["ICON"] = 16] = "ICON";
95
+ })(FxInfoType || (FxInfoType = {}));
96
+ export var SpecialFunctionMode;
97
+ (function (SpecialFunctionMode) {
98
+ SpecialFunctionMode[SpecialFunctionMode["MANUAL"] = 1] = "MANUAL";
99
+ SpecialFunctionMode[SpecialFunctionMode["SHUNTING_FUNCTION"] = 2] = "SHUNTING_FUNCTION";
100
+ SpecialFunctionMode[SpecialFunctionMode["DIRECTION_DEFAULT"] = 3] = "DIRECTION_DEFAULT";
101
+ })(SpecialFunctionMode || (SpecialFunctionMode = {}));
102
+ export var Manual;
103
+ (function (Manual) {
104
+ Manual[Manual["OFF"] = 0] = "OFF";
105
+ Manual[Manual["ON"] = 1] = "ON";
106
+ })(Manual || (Manual = {}));
107
+ export var ShuntingFunction;
108
+ (function (ShuntingFunction) {
109
+ ShuntingFunction[ShuntingFunction["OFF"] = 0] = "OFF";
110
+ ShuntingFunction[ShuntingFunction["AZBZ"] = 1] = "AZBZ";
111
+ ShuntingFunction[ShuntingFunction["HALF"] = 2] = "HALF";
112
+ })(ShuntingFunction || (ShuntingFunction = {}));
113
+ export var DirectionDefault;
114
+ (function (DirectionDefault) {
115
+ DirectionDefault[DirectionDefault["NO_CHANGE"] = 0] = "NO_CHANGE";
116
+ DirectionDefault[DirectionDefault["DIRECTION_EAST"] = 1] = "DIRECTION_EAST";
117
+ DirectionDefault[DirectionDefault["DIRECTION_WEST"] = 2] = "DIRECTION_WEST";
118
+ })(DirectionDefault || (DirectionDefault = {}));
119
+ export var BidiType;
120
+ (function (BidiType) {
121
+ BidiType[BidiType["RAILCOM_STATISTICS"] = 0] = "RAILCOM_STATISTICS";
122
+ BidiType[BidiType["SPEED_REPORT"] = 256] = "SPEED_REPORT";
123
+ BidiType[BidiType["TILT_AND_CURVE"] = 257] = "TILT_AND_CURVE";
124
+ BidiType[BidiType["CV"] = 512] = "CV";
125
+ BidiType[BidiType["QOS"] = 768] = "QOS";
126
+ BidiType[BidiType["FILL_LEVEL"] = 1024] = "FILL_LEVEL";
127
+ BidiType[BidiType["DIRECTION"] = 2048] = "DIRECTION";
128
+ BidiType[BidiType["TRACK_VOLTAGE"] = 4096] = "TRACK_VOLTAGE";
129
+ BidiType[BidiType["ALARMS"] = 4352] = "ALARMS";
130
+ })(BidiType || (BidiType = {}));
131
+ export var ForwardOrReverse;
132
+ (function (ForwardOrReverse) {
133
+ ForwardOrReverse[ForwardOrReverse["UNKNOWN"] = 0] = "UNKNOWN";
134
+ ForwardOrReverse[ForwardOrReverse["FORWARD"] = 1] = "FORWARD";
135
+ ForwardOrReverse[ForwardOrReverse["REVERSE"] = 2] = "REVERSE";
136
+ })(ForwardOrReverse || (ForwardOrReverse = {}));
137
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/util/enums.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Buffer } from 'buffer';
2
+ export default class ExtendedASCII {
3
+ private static extendedChars;
4
+ static str2byte(str: string, buf: Buffer, offset?: number, length?: number): number;
5
+ static byte2str(buff: Buffer): string;
6
+ static byteLength(str: string): number;
7
+ }
@@ -0,0 +1,162 @@
1
+ export default class ExtendedASCII {
2
+ static extendedChars = [
3
+ '\u00C7',
4
+ '\u00FC',
5
+ '\u00E9',
6
+ '\u00E2',
7
+ '\u00E4',
8
+ '\u00E0',
9
+ '\u00E5',
10
+ '\u00E7',
11
+ '\u00EA',
12
+ '\u00EB',
13
+ '\u00E8',
14
+ '\u00EF',
15
+ '\u00EE',
16
+ '\u00EC',
17
+ '\u00C4',
18
+ '\u00C5',
19
+ '\u00C9',
20
+ '\u00E6',
21
+ '\u00C6',
22
+ '\u00F4',
23
+ '\u00F6',
24
+ '\u00F2',
25
+ '\u00FB',
26
+ '\u00F9',
27
+ '\u00FF',
28
+ '\u00D6',
29
+ '\u00DC',
30
+ '\u00F8',
31
+ '\u00A3',
32
+ '\u00D8',
33
+ '\u00D7',
34
+ '\u0192',
35
+ '\u00E1',
36
+ '\u00ED',
37
+ '\u00F3',
38
+ '\u00FA',
39
+ '\u00F1',
40
+ '\u00D1',
41
+ '\u00AA',
42
+ '\u00BA',
43
+ '\u00BF',
44
+ '\u00AE',
45
+ '\u00AC',
46
+ '\u00BD',
47
+ '\u00BC',
48
+ '\u00A1',
49
+ '\u00AB',
50
+ '\u00BB',
51
+ '_',
52
+ '_',
53
+ '_',
54
+ '\u00A6',
55
+ '\u00A6',
56
+ '\u00C1',
57
+ '\u00C2',
58
+ '\u00C0',
59
+ '\u00A9',
60
+ '\u00A6',
61
+ '\u00A6',
62
+ '+',
63
+ '+',
64
+ '\u00A2',
65
+ '\u00A5',
66
+ '+',
67
+ '+',
68
+ '-',
69
+ '-',
70
+ '+',
71
+ '-',
72
+ '+',
73
+ '\u00E3',
74
+ '\u00C3',
75
+ '+',
76
+ '+',
77
+ '-',
78
+ '-',
79
+ '\u00A6',
80
+ '-',
81
+ '+',
82
+ '\u00A4',
83
+ '\u00F0',
84
+ '\u00D0',
85
+ '\u00CA',
86
+ '\u00CB',
87
+ '\u00C8',
88
+ 'i',
89
+ '\u00CD',
90
+ '\u00CE',
91
+ '\u00CF',
92
+ '+',
93
+ '+',
94
+ '_',
95
+ '_',
96
+ '\u00A6',
97
+ '\u00CC',
98
+ '_',
99
+ '\u00D3',
100
+ '\u00DF',
101
+ '\u00D4',
102
+ '\u00D2',
103
+ '\u00F5',
104
+ '\u00D5',
105
+ '\u00B5',
106
+ '\u00FE',
107
+ '\u00DE',
108
+ '\u00DA',
109
+ '\u00DB',
110
+ '\u00D9',
111
+ '\u00FD',
112
+ '\u00DD',
113
+ '\u00AF',
114
+ '\u00B4',
115
+ '\u00AD',
116
+ '\u00B1',
117
+ '_',
118
+ '\u00BE',
119
+ '\u00B6',
120
+ '\u00A7',
121
+ '\u00F7',
122
+ '\u00B8',
123
+ '\u00B0',
124
+ '\u00A8',
125
+ '\u00B7',
126
+ '\u00B9',
127
+ '\u00B3',
128
+ '\u00B2',
129
+ '_',
130
+ ' ',
131
+ ];
132
+ static str2byte(str, buf, offset = 0, length = str.length) {
133
+ for (let i = 0; i < length; i++) {
134
+ let charCode = str.charCodeAt(i);
135
+ if (charCode > 0x7f) {
136
+ const charIdx = ExtendedASCII.extendedChars.indexOf(str.charAt(i));
137
+ if (charIdx > -1) {
138
+ charCode = charIdx + 0x80;
139
+ }
140
+ }
141
+ buf.writeUInt8(charCode, offset + i);
142
+ }
143
+ return length;
144
+ }
145
+ static byte2str(buff) {
146
+ const chars = new Array(buff.length);
147
+ for (let i = 0; i < buff.length; i++) {
148
+ const charCode = buff[i];
149
+ if (charCode > 0x7f) {
150
+ chars[i] = ExtendedASCII.extendedChars[charCode - 128];
151
+ }
152
+ else {
153
+ chars[i] = String.fromCharCode(charCode);
154
+ }
155
+ }
156
+ return chars.filter((o) => o.charCodeAt(0)).join('');
157
+ }
158
+ static byteLength(str) {
159
+ return str.length;
160
+ }
161
+ }
162
+ //# sourceMappingURL=extended-ascii.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extended-ascii.js","sourceRoot":"","sources":["../../src/util/extended-ascii.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import MX10 from '../MX10';
2
+ export default class AccessoryCommandGroup {
3
+ private mx10;
4
+ constructor(mx10: MX10);
5
+ parse(size: number, command: number, mode: number, nid: number, buffer: Buffer): void;
6
+ }
@@ -0,0 +1,9 @@
1
+ export default class AccessoryCommandGroup {
2
+ mx10;
3
+ constructor(mx10) {
4
+ this.mx10 = mx10;
5
+ }
6
+ parse(size, command, mode, nid, buffer) {
7
+ }
8
+ }
9
+ //# sourceMappingURL=accessoryCommandGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessoryCommandGroup.js","sourceRoot":"","sources":["../../src/zcan/accessoryCommandGroup.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAChC,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CACH,IAAY,EACZ,OAAe,EACf,IAAY,EACZ,GAAW,EACX,MAAc;IAGhB,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import MX10 from '../MX10';
2
+ import { Buffer } from 'buffer';
3
+ import { Subject } from 'rxjs';
4
+ import { RemoveLocomotiveData, DataNameExtended, GroupCountData, ItemFxInfo, ItemImageData, ItemListByIndexData, ItemListByNidData } from '../@types/models';
5
+ import { FxInfoType, ImageType } from '../util/enums';
6
+ export default class DataGroup {
7
+ readonly onGroupCount: Subject<GroupCountData>;
8
+ readonly onListItemsByIndex: Subject<ItemListByIndexData>;
9
+ readonly onListItemsByNID: Subject<ItemListByNidData>;
10
+ readonly onRemoveLocomotive: Subject<RemoveLocomotiveData>;
11
+ readonly onItemImageConfig: Subject<ItemImageData>;
12
+ readonly onItemFxInfo: Subject<ItemFxInfo>;
13
+ readonly onDataNameExtended: Subject<DataNameExtended>;
14
+ private mx10;
15
+ constructor(mx10: MX10);
16
+ groupCount(objType?: number): void;
17
+ listItemsByIndex(groupNID: number, index: number): void;
18
+ listItemsByNID(searchAfterValue: number): void;
19
+ removeLocomotive(toRemove: number, removeFrom?: number): void;
20
+ itemImageConfig(nid: number, type: ImageType, imageId: number): void;
21
+ itemFxInfo(nid: number, fx: number, type: FxInfoType, data: number): void;
22
+ dataNameExtended(NID: number, subID: number, name: string): void;
23
+ parse(size: number, command: number, mode: number, nid: number, buffer: Buffer): void;
24
+ private parseGroupCount;
25
+ private parseItemListByIndex;
26
+ private parseItemListByNid;
27
+ private parseDataClear;
28
+ private parseItemImageConfig;
29
+ private parseItemFxInfo;
30
+ private parseDataNameExtended;
31
+ }