@canboat/canboatjs 3.18.0 → 3.19.0-beta.2

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 (50) hide show
  1. package/README.md +4 -0
  2. package/build/Makefile +2 -2
  3. package/build/canSocket.target.mk +14 -14
  4. package/dist/actisense-serial.d.ts.map +1 -1
  5. package/dist/actisense-serial.js +46 -38
  6. package/dist/actisense-serial.js.map +1 -1
  7. package/dist/actisense-serial.test.js +106 -0
  8. package/dist/actisense-serial.test.js.map +1 -1
  9. package/dist/bin/maretron-ipgjs.d.ts +26 -0
  10. package/dist/bin/maretron-ipgjs.d.ts.map +1 -0
  11. package/dist/bin/maretron-ipgjs.js +159 -0
  12. package/dist/bin/maretron-ipgjs.js.map +1 -0
  13. package/dist/fromPgn.d.ts.map +1 -1
  14. package/dist/fromPgn.js +22 -1
  15. package/dist/fromPgn.js.map +1 -1
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +5 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/maretron-ipg.d.ts +135 -0
  21. package/dist/maretron-ipg.d.ts.map +1 -0
  22. package/dist/maretron-ipg.js +660 -0
  23. package/dist/maretron-ipg.js.map +1 -0
  24. package/dist/maretron-ipg.test.d.ts +2 -0
  25. package/dist/maretron-ipg.test.d.ts.map +1 -0
  26. package/dist/maretron-ipg.test.js +703 -0
  27. package/dist/maretron-ipg.test.js.map +1 -0
  28. package/dist/n2kDevice.d.ts.map +1 -1
  29. package/dist/n2kDevice.js +58 -5
  30. package/dist/n2kDevice.js.map +1 -1
  31. package/dist/n2kDevice.test.d.ts +2 -0
  32. package/dist/n2kDevice.test.d.ts.map +1 -0
  33. package/dist/n2kDevice.test.js +154 -0
  34. package/dist/n2kDevice.test.js.map +1 -0
  35. package/dist/n2kIpGateway.d.ts +40 -0
  36. package/dist/n2kIpGateway.d.ts.map +1 -0
  37. package/dist/n2kIpGateway.js +464 -0
  38. package/dist/n2kIpGateway.js.map +1 -0
  39. package/dist/n2kIpGateway.test.d.ts +2 -0
  40. package/dist/n2kIpGateway.test.d.ts.map +1 -0
  41. package/dist/n2kIpGateway.test.js +349 -0
  42. package/dist/n2kIpGateway.test.js.map +1 -0
  43. package/dist/stringMsg.d.ts +1 -1
  44. package/dist/stringMsg.d.ts.map +1 -1
  45. package/dist/stringMsg.js +16 -3
  46. package/dist/stringMsg.js.map +1 -1
  47. package/dist/ydgw02.js +9 -1
  48. package/dist/ydgw02.js.map +1 -1
  49. package/package.json +3 -2
  50. package/tsconfig.tsbuildinfo +1 -1
package/README.md CHANGED
@@ -113,6 +113,7 @@ console.log('Generated:', actisenseString)
113
113
  ### NMEA 2000 Gateways
114
114
  - **Actisense NGT-1** & **W2K-1** - USB and WiFi NMEA 2000 gateways
115
115
  - **Digital Yacht iKonvert** - Serial to NMEA 2000 converter
116
+ - **Maretron IPG100** - Ethernet NMEA 2000 gateway
116
117
  - **Yacht Devices YDWG-02** & **YDEN-02** - WiFi and Ethernet gateways
117
118
  - **Shipmodul MiniPlex-3-N2K** - Multi-protocol marine data multiplexer
118
119
 
@@ -142,6 +143,9 @@ actisense-serialjs /dev/ttyUSB0 | analyzerjs
142
143
  # From iKonvert
143
144
  ikonvert-serial /dev/ttyUSB0 | analyzerjs
144
145
 
146
+ # From IPG100 over network
147
+ maretron-ipgjs ipg100-ip | analyzerjs
148
+
145
149
  # From YDWG-02 over network
146
150
  nc ydgw-ip 1475 | analyzerjs
147
151
 
package/build/Makefile CHANGED
@@ -338,8 +338,8 @@ ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
338
338
  endif
339
339
 
340
340
  quiet_cmd_regen_makefile = ACTION Regenerating $@
341
- cmd_regen_makefile = cd $(srcdir); /opt/hostedtoolcache/node/24.14.1/x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/home/runner/.cache/node-gyp/24.14.1" "-Dnode_gyp_dir=/opt/hostedtoolcache/node/24.14.1/x64/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/home/runner/.cache/node-gyp/24.14.1/<(target_arch)/node.lib" "-Dmodule_root_dir=/home/runner/work/canboatjs/canboatjs" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/home/runner/work/canboatjs/canboatjs/build/config.gypi -I/opt/hostedtoolcache/node/24.14.1/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/home/runner/.cache/node-gyp/24.14.1/include/node/common.gypi "--toplevel-dir=." binding.gyp
342
- Makefile: $(srcdir)/../../../../../opt/hostedtoolcache/node/24.14.1/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/../../../.cache/node-gyp/24.14.1/include/node/common.gypi $(srcdir)/binding.gyp $(srcdir)/build/config.gypi
341
+ cmd_regen_makefile = cd $(srcdir); /opt/hostedtoolcache/node/24.15.0/x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/home/runner/.cache/node-gyp/24.15.0" "-Dnode_gyp_dir=/opt/hostedtoolcache/node/24.15.0/x64/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/home/runner/.cache/node-gyp/24.15.0/<(target_arch)/node.lib" "-Dmodule_root_dir=/home/runner/work/canboatjs/canboatjs" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/home/runner/work/canboatjs/canboatjs/build/config.gypi -I/opt/hostedtoolcache/node/24.15.0/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/home/runner/.cache/node-gyp/24.15.0/include/node/common.gypi "--toplevel-dir=." binding.gyp
342
+ Makefile: $(srcdir)/../../../../../opt/hostedtoolcache/node/24.15.0/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/../../../.cache/node-gyp/24.15.0/include/node/common.gypi $(srcdir)/binding.gyp $(srcdir)/build/config.gypi
343
343
  $(call do_cmd,regen_makefile)
344
344
 
345
345
  # "all" is a concatenation of the "all" targets from all the included
@@ -39,13 +39,13 @@ CFLAGS_CC_Debug := \
39
39
  -std=gnu++20
40
40
 
41
41
  INCS_Debug := \
42
- -I/home/runner/.cache/node-gyp/24.14.1/include/node \
43
- -I/home/runner/.cache/node-gyp/24.14.1/src \
44
- -I/home/runner/.cache/node-gyp/24.14.1/deps/openssl/config \
45
- -I/home/runner/.cache/node-gyp/24.14.1/deps/openssl/openssl/include \
46
- -I/home/runner/.cache/node-gyp/24.14.1/deps/uv/include \
47
- -I/home/runner/.cache/node-gyp/24.14.1/deps/zlib \
48
- -I/home/runner/.cache/node-gyp/24.14.1/deps/v8/include \
42
+ -I/home/runner/.cache/node-gyp/24.15.0/include/node \
43
+ -I/home/runner/.cache/node-gyp/24.15.0/src \
44
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/openssl/config \
45
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/openssl/openssl/include \
46
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/uv/include \
47
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/zlib \
48
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/v8/include \
49
49
  -I/home/runner/work/canboatjs/canboatjs/node_modules/node-addon-api
50
50
 
51
51
  DEFS_Release := \
@@ -83,13 +83,13 @@ CFLAGS_CC_Release := \
83
83
  -std=gnu++20
84
84
 
85
85
  INCS_Release := \
86
- -I/home/runner/.cache/node-gyp/24.14.1/include/node \
87
- -I/home/runner/.cache/node-gyp/24.14.1/src \
88
- -I/home/runner/.cache/node-gyp/24.14.1/deps/openssl/config \
89
- -I/home/runner/.cache/node-gyp/24.14.1/deps/openssl/openssl/include \
90
- -I/home/runner/.cache/node-gyp/24.14.1/deps/uv/include \
91
- -I/home/runner/.cache/node-gyp/24.14.1/deps/zlib \
92
- -I/home/runner/.cache/node-gyp/24.14.1/deps/v8/include \
86
+ -I/home/runner/.cache/node-gyp/24.15.0/include/node \
87
+ -I/home/runner/.cache/node-gyp/24.15.0/src \
88
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/openssl/config \
89
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/openssl/openssl/include \
90
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/uv/include \
91
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/zlib \
92
+ -I/home/runner/.cache/node-gyp/24.15.0/deps/v8/include \
93
93
  -I/home/runner/work/canboatjs/canboatjs/node_modules/node-addon-api
94
94
 
95
95
  OBJS := \
@@ -1 +1 @@
1
- {"version":3,"file":"actisense-serial.d.ts","sourceRoot":"","sources":["../lib/actisense-serial.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8CH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAkCtD;AAqcD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,uBA+B1E"}
1
+ {"version":3,"file":"actisense-serial.d.ts","sourceRoot":"","sources":["../lib/actisense-serial.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8CH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAkCtD;AA2cD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,uBA+B1E"}
@@ -135,46 +135,16 @@ ActisenseStream.prototype.start = function () {
135
135
  }
136
136
  });
137
137
  if (this.options.app) {
138
- const writeString = (msg) => {
139
- this.debugOut(`sending ${msg}`);
140
- let buf = parseInput(msg);
141
- buf = composeMessage(N2K_MSG_SEND, buf, buf.length);
142
- this.debugOut(buf);
143
- this.serial.write(buf);
144
- if (this.options.app.listenerCount('canboatjs:rawsend') > 0) {
145
- this.options.app.emit('canboatjs:rawsend', { data: msg });
146
- }
147
- this.options.app.emit('connectionwrite', {
148
- providerId: this.options.providerId
149
- });
150
- };
151
- const writeObject = (msg) => {
152
- const data = (0, toPgn_1.toPgn)(msg);
153
- const actisense = (0, stringMsg_1.encodeActisense)({ pgn: msg.pgn, data, dst: msg.dst });
154
- this.debugOut(`sending ${actisense}`);
155
- let buf = parseInput(actisense);
156
- buf = composeMessage(N2K_MSG_SEND, buf, buf.length);
157
- this.debugOut(buf);
158
- this.serial.write(buf);
159
- if (this.options.app.listenerCount('canboatjs:rawsend') > 0) {
160
- this.options.app.emit('canboatjs:rawsend', { data: actisense });
161
- }
162
- this.options.app.emit('connectionwrite', {
163
- providerId: this.options.providerId
164
- });
165
- };
166
138
  const outEvents = (this.options.outEvent || 'nmea2000out')
167
139
  .split(',')
168
140
  .map((event) => event.trim());
169
141
  outEvents.forEach((event) => {
170
142
  this.options.app.on(event, (msg) => {
171
- if (this.outAvailable) {
172
- if (typeof msg === 'string') {
173
- writeString(msg);
174
- }
175
- else {
176
- writeObject(msg);
177
- }
143
+ if (typeof msg === 'string') {
144
+ this.sendString(msg);
145
+ }
146
+ else {
147
+ this.sendPGN(msg);
178
148
  }
179
149
  });
180
150
  });
@@ -183,9 +153,7 @@ ActisenseStream.prototype.start = function () {
183
153
  .map((event) => event.trim());
184
154
  jsonOutEvents.forEach((event) => {
185
155
  this.options.app.on(event, (msg) => {
186
- if (this.outAvailable) {
187
- writeObject(msg);
188
- }
156
+ this.sendPGN(msg);
189
157
  });
190
158
  });
191
159
  }
@@ -230,6 +198,46 @@ ActisenseStream.prototype.start = function () {
230
198
  });
231
199
  }
232
200
  };
201
+ ActisenseStream.prototype.sendString = function (msg) {
202
+ if (!this.outAvailable)
203
+ return;
204
+ this.debugOut(`sending ${msg}`);
205
+ let buf = parseInput(msg);
206
+ buf = composeMessage(N2K_MSG_SEND, buf, buf.length);
207
+ this.debugOut(buf);
208
+ this.serial.write(buf);
209
+ if (this.options.app.listenerCount('canboatjs:rawsend') > 0) {
210
+ this.options.app.emit('canboatjs:rawsend', { data: msg });
211
+ }
212
+ this.options.app.emit('connectionwrite', {
213
+ providerId: this.options.providerId
214
+ });
215
+ };
216
+ ActisenseStream.prototype.sendPGN = function (pgn) {
217
+ if (!this.outAvailable)
218
+ return;
219
+ const data = (0, toPgn_1.toPgn)(pgn);
220
+ const actisense = (0, stringMsg_1.encodeActisense)({
221
+ pgn: pgn.pgn,
222
+ data,
223
+ dst: pgn.dst,
224
+ // NGT-1 send frames do not carry a caller-provided source address;
225
+ // the gateway transmits using its own claimed NMEA 2000 address.
226
+ src: 0,
227
+ prio: pgn.prio
228
+ });
229
+ this.debugOut(`sending ${actisense}`);
230
+ let buf = parseInput(actisense);
231
+ buf = composeMessage(N2K_MSG_SEND, buf, buf.length);
232
+ this.debugOut(buf);
233
+ this.serial.write(buf);
234
+ if (this.options.app.listenerCount('canboatjs:rawsend') > 0) {
235
+ this.options.app.emit('canboatjs:rawsend', { data: actisense });
236
+ }
237
+ this.options.app.emit('connectionwrite', {
238
+ providerId: this.options.providerId
239
+ });
240
+ };
233
241
  ActisenseStream.prototype.scheduleReconnect = function () {
234
242
  if (this.options.reconnect === undefined || this.options.reconnect === true) {
235
243
  this.reconnectDelay *= this.reconnectDelay < 60 * 1000 ? 1.5 : 1;
@@ -1 +1 @@
1
- {"version":3,"file":"actisense-serial.js","sourceRoot":"","sources":["../lib/actisense-serial.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;AA8CH,0CAkCC;AAqcD,wCA+BC;AAjjBD,2CAAyC;AACzC,+BAA+B;AAC/B,mCAAkC;AAClC,2CAA+C;AAC/C,mCAA+B;AAC/B,2CAA6C;AAC7C,mCAA6C;AAC7C,oDAAsB;AACtB,uCAA6C;AAE7C,qDAAqD;AAErD,MAAM,GAAG,GAAG,IAAI,CAAA,CAAC,kBAAkB;AACnC,MAAM,GAAG,GAAG,IAAI,CAAA,CAAC,gBAAgB;AACjC,MAAM,GAAG,GAAG,IAAI,CAAA,CAAC,2DAA2D;AAC5E,MAAM,GAAG,GAAG,IAAI,CAAA,CAAC,YAAY;AAE7B;;;;;;;;;;;;;EAaE;AAEF,MAAM,gBAAgB,GAAG,IAAI,CAAA,CAAC,kCAAkC;AAChE,MAAM,YAAY,GAAG,IAAI,CAAA,CAAC,sBAAsB;AAChD,MAAM,gBAAgB,GAAG,IAAI,CAAA,CAAC,kCAAkC;AAChE,MAAM,YAAY,GAAG,IAAI,CAAA,CAAC,sBAAsB;AAEhD,MAAM,SAAS,GAAG,CAAC,CAAA;AACnB,MAAM,UAAU,GAAG,CAAC,CAAA;AACpB,MAAM,WAAW,GAAG,CAAC,CAAA;AAErB,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAE1D,SAAgB,eAAe,CAAY,OAAY;IACrD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,IAAK,eAAuB,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAW,EAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;IACzD,IAAI,CAAC,KAAK,GAAG,IAAA,uBAAW,EAAC,4BAA4B,EAAE,OAAO,CAAC,CAAA;IAE/D,kBAAS,CAAC,IAAI,CAAC,IAAI,EAAE;QACnB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAA;IAEF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IAElC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAA;IAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;IAE3B,IAAI,CAAC,YAAY,GAAG,2BAAmB,CAAA;IACvC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC3E,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAA;IAE1C,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAA;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAA;AACd,CAAC;AAED,IAAA,eAAQ,EAAC,eAAe,EAAE,kBAAS,CAAC,CAAA;AAEpC,eAAe,CAAC,SAAS,CAAC,KAAK,GAAG;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC7B,OAAM;IACR,CAAC;IAED,MAAM,iBAAiB,GACrB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB;QACpD,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAClE,CAAC;QACH,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA;IACd,MAAM,gBAAgB,GACpB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB;QACnD,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QACjE,CAAC;QACH,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA;IACd,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAE1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;IACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACnB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;IAEtB,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;IAC5B,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBACzB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM;aAC1C,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gBAAgB,CAAC,iCAAiC,CAAC,CAAA;YACnD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACtB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;gBAC/B,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;gBACzB,GAAG,GAAG,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC3D,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBACvC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;iBACpC,CAAC,CAAA;YACJ,CAAC,CAAA;YAED,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,GAAG,CAAC,CAAA;gBACvB,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;gBACvE,IAAI,CAAC,QAAQ,CAAC,WAAW,SAAS,EAAE,CAAC,CAAA;gBACrC,IAAI,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;gBAC/B,GAAG,GAAG,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;gBACjE,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBACvC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;iBACpC,CAAC,CAAA;YACJ,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC;iBACvD,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YACvC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE;oBACzC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;4BAC5B,WAAW,CAAC,GAAG,CAAC,CAAA;wBAClB,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,GAAG,CAAC,CAAA;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,iBAAiB,CAAC;iBACnE,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YACvC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACtC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,WAAW,CAAC,GAAG,CAAC,CAAA;oBAClB,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAEzB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;YACnC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,gBAAgB,CAAC,yBAAyB,CAAC,CAAA;YAC3C,uBAAuB;YACvB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;gBAC1B,iBAAiB,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;gBACxD,MAAM,GAAG,GAAG,cAAc,CACxB,YAAY,EACZ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAC5B,eAAe,CAAC,MAAM,CACvB,CAAA;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACtB,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAA;gBAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;oBACxC,YAAY,CAAC,IAAI,CAAC,CAAA;gBACpB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,IAAI,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;4BACtC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;4BACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;4BAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBACxB,CAAC;oBACH,CAAC,EAAE,IAAI,CAAC,CAAA;gBACV,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AAED,eAAe,CAAC,SAAS,CAAC,iBAAiB,GAAG;IAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC5E,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,MAAM,GAAG,GAAG,8BAA8B,CACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAC3B,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;QACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;QAC3B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACxD,CAAC;AACH,CAAC,CAAA;AAED,SAAS,QAAQ,CAAC,IAAS,EAAE,IAAY;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,sBAAsB;QACtB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAS,EAAE,CAAM;IAClC,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,yEAAyE;IAEzE,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC;oBACvC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;gBACzD,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC;oBAC9C,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;QACvB,CAAC;aAAM,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACzB,CAAC;aAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CACX,qCAAqC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,CACvF,CAAA;YACD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;QACvB,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACxB,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAS,EAAE,GAAW;IACzC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;IAClC,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,YAAY,CAAC,IAAS;IAC7B,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;IACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAS;IACvC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAChC,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAA;IAC5C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC7B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;gBAClD,sBAAsB,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,iCAAiC,CAAA;gBAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;gBACvC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACjB,YAAY,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAA;AACX,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAS,EAAE,MAAc,EAAE,GAAW;IAC/D,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAEzB,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,gDAAgD,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC1E,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACpC,MAAM,EAAE,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,GAAG,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAC/B,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,MAAM;QACvB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAClB,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACvB,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;QACxB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,KAAK;QACtB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,KAAK;QACtB,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA,CAAC,WAAW;QAC7B,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAE5C,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC,aAAa;QACzD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAC1C,yBAAyB;YACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAO,CAAC,EAAE,CAAC,CAAA;YAC/B,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClD,IAAI,EAAE,EAAE,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,iBAAiB;QACjB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;YACzB,UAAU,CAAC,GAAG,EAAE;gBACd,sBAAsB,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;aAAM,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;YAC3B,MAAM,EAAE,GAAG,IAAI,oBAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;YAC3D,MAAM,EAAE,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,GAAa,EAAE,CAAA;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;YAC5B,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;YAE/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE;gBACjE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACxD,CAAC;aAAM,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,iDAAiD;YACjD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBACnC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/C,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,4BAA4B;YAC5B,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC1D,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAA;oBACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;gBAC9B,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;YAC9B,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAA;YAC1C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAChC,CAAC;aAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;YAC/B,YAAY,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;QACpB,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,GAAG,IAAI,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAS,EAAE,MAAc,EAAE,GAAW;IAC/D,mEAAmE;IACnE,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAI,UAAU,GAAG,EAAE,IAAI,GAAG,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CACR,wDAAwD,EACxD,GAAG,EACH,UAAU,CACX,CAAA;QACD,OAAM;IACR,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;QACpD,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;YACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,EAAE,GAAG,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAA;IAE5B,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE;QACpB,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QACnE,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE;QACnB,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE;QACnB,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE;KAC3B,CAAA;IACD,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;IAC1B,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,OAAO,CACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG;QACvD,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC;aACxC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YACxB,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,GAAG,CAAC;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1C,IAAI,CAAC,GAAG,CAAC,CACb,CAAA;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,GAAW;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAA;IAEjC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACnB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACnB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACvB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACnB,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACf,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;QACD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACjB,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAA;IACnC,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IACD,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACxB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACnB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAEnB,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,MAAM,EAAE,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAA;IAEhC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9B,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACnB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAClB,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACvB,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IACxB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAElB;;;MAGE;IAEF,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACnC,OAAO,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACnC,OAAO,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACnC,OAAO,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/B,MAAM,GAAG,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAA;IACjC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACpB,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACpB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,SAAS;IAE3B,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IAC3B,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IAE3B,MAAM,GAAG,GAAG,cAAc,CACxB,YAAY,EACZ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EACvC,GAAG,CAAC,SAAS,CACd,CAAA;IAED,yCAAyC;IAEzC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;IAoBI;AAEJ,eAAe,CAAC,SAAS,CAAC,GAAG,GAAG;IAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;AACH,CAAC,CAAA;AAED,eAAe,CAAC,SAAS,CAAC,UAAU,GAAG,UACrC,KAAU,EACV,QAAgB,EAChB,IAAS;IAET,IAAI,CAAC,KAAK,CAAC,YAAY,OAAO,KAAK,EAAE,CAAC,CAAA;IACtC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrB,IAAI,EAAE,CAAA;AACR,CAAC,CAAA"}
1
+ {"version":3,"file":"actisense-serial.js","sourceRoot":"","sources":["../lib/actisense-serial.ts"],"names":[],"mappings":"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"}
@@ -192,4 +192,110 @@ describe('framing error recovery', () => {
192
192
  expect(downstream).toHaveLength(0);
193
193
  });
194
194
  });
195
+ // Build a bare ActisenseStream wired to in-memory sinks so the send-path
196
+ // prototype methods can be exercised without opening a serial port.
197
+ function makeSendInstance() {
198
+ const app = new events_1.EventEmitter();
199
+ const writes = [];
200
+ const rawSends = [];
201
+ app.on('canboatjs:rawsend', (e) => rawSends.push(e.data));
202
+ const instance = Object.create(actisense_serial_1.ActisenseStream.prototype);
203
+ instance.options = { app, providerId: 'test' };
204
+ instance.outAvailable = true;
205
+ instance.serial = { write: (buf) => writes.push(buf) };
206
+ instance.debugOut = () => { };
207
+ return { instance, app, writes, rawSends };
208
+ }
209
+ const samplePGN = {
210
+ pgn: 127251,
211
+ prio: 6,
212
+ src: 17,
213
+ dst: 200,
214
+ fields: { rateOfTurn: 0 }
215
+ };
216
+ // Actisense CSV: <timestamp>,<prio>,<pgn>,<src>,<dst>,<len>,<bytes...>
217
+ function actisenseFields(s) {
218
+ const parts = s.split(',');
219
+ return {
220
+ prio: Number(parts[1]),
221
+ pgn: Number(parts[2]),
222
+ src: Number(parts[3]),
223
+ dst: Number(parts[4])
224
+ };
225
+ }
226
+ describe('ActisenseStream.sendPGN', () => {
227
+ test('preserves prio and reports the NGT-1 send-frame source', () => {
228
+ const { instance, rawSends, writes } = makeSendInstance();
229
+ instance.sendPGN(samplePGN);
230
+ expect(writes).toHaveLength(1);
231
+ expect(rawSends).toHaveLength(1);
232
+ // src is reported as 0 because the NGT-1 transmits with its own
233
+ // claimed N2K address; pgn.src is not forwarded on the wire.
234
+ expect(actisenseFields(rawSends[0])).toEqual({
235
+ prio: 6,
236
+ pgn: 127251,
237
+ src: 0,
238
+ dst: 200
239
+ });
240
+ });
241
+ test('falls back to defaults when prio is not provided', () => {
242
+ const { instance, rawSends } = makeSendInstance();
243
+ instance.sendPGN({
244
+ pgn: 127251,
245
+ dst: 255,
246
+ fields: { rateOfTurn: 0 }
247
+ });
248
+ expect(actisenseFields(rawSends[0])).toEqual({
249
+ prio: 2,
250
+ pgn: 127251,
251
+ src: 0,
252
+ dst: 255
253
+ });
254
+ });
255
+ test('does not write when outAvailable is false', () => {
256
+ const { instance, writes, rawSends } = makeSendInstance();
257
+ instance.outAvailable = false;
258
+ instance.sendPGN(samplePGN);
259
+ expect(writes).toHaveLength(0);
260
+ expect(rawSends).toHaveLength(0);
261
+ });
262
+ test('emits connectionwrite when sending', () => {
263
+ const { instance, app } = makeSendInstance();
264
+ let connectionWrites = 0;
265
+ app.on('connectionwrite', () => connectionWrites++);
266
+ instance.sendPGN(samplePGN);
267
+ expect(connectionWrites).toBe(1);
268
+ });
269
+ });
270
+ describe('ActisenseStream listener wiring', () => {
271
+ // The listener registration lives inside start(), which opens a serial
272
+ // port. Mirror just the listener-only portion so the event-to-method
273
+ // routing can be verified without touching hardware.
274
+ function wireListeners(instance) {
275
+ const app = instance.options.app;
276
+ app.on('nmea2000out', (msg) => {
277
+ if (typeof msg === 'string') {
278
+ instance.sendString(msg);
279
+ }
280
+ else {
281
+ instance.sendPGN(msg);
282
+ }
283
+ });
284
+ app.on('nmea2000JsonOut', (msg) => instance.sendPGN(msg));
285
+ }
286
+ test('routes nmea2000JsonOut events through sendPGN', () => {
287
+ const { instance, app, rawSends } = makeSendInstance();
288
+ wireListeners(instance);
289
+ app.emit('nmea2000JsonOut', samplePGN);
290
+ expect(rawSends).toHaveLength(1);
291
+ expect(actisenseFields(rawSends[0]).prio).toBe(6);
292
+ });
293
+ test('routes nmea2000out string events through sendString', () => {
294
+ const { instance, app, rawSends } = makeSendInstance();
295
+ wireListeners(instance);
296
+ const raw = '2026-05-07T20:35:05.606Z,6,61184,49,255,8,16,1c,4d,11,00,00,00,00';
297
+ app.emit('nmea2000out', raw);
298
+ expect(rawSends).toEqual([raw]);
299
+ });
300
+ });
195
301
  //# sourceMappingURL=actisense-serial.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actisense-serial.test.js","sourceRoot":"","sources":["../lib/actisense-serial.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actisense-serial.test.js","sourceRoot":"","sources":["../lib/actisense-serial.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Stream Maretron IPG100 binary frames as canboat plain CSV.
4
+ *
5
+ * Connects, completes the CONNECT handshake, sends SET_MODE\tBINARY\0 on
6
+ * receipt of CONNECTED, and writes one CSV line per inbound 0xA5 frame to
7
+ * stdout in the format canboat's `analyzer` accepts:
8
+ *
9
+ * YYYY-MM-DD-HH:MM:SS.mmm,<prio>,<pgn>,<src>,<dst>,<len>,<hex>,<hex>,...
10
+ *
11
+ * Control text frames (handshake replies, license-pool announces) go to
12
+ * stderr, so stdout can be piped directly into `analyzerjs`:
13
+ *
14
+ * maretron-ipgjs ipg100-ip | analyzerjs -json -nv
15
+ *
16
+ * Outbound traffic: each line on stdin is sent to the bus. canboat plain
17
+ * CSV is interpreted as a string; a line that starts with `{` is parsed
18
+ * as a JSON PGN object (matching cansendjs's convention).
19
+ *
20
+ * cat commands.txt | maretron-ipgjs ipg100-ip
21
+ *
22
+ * stdin is not consumed until the CONNECT handshake completes; the kernel
23
+ * pipe buffer applies backpressure to the producer so nothing is dropped.
24
+ */
25
+ export {};
26
+ //# sourceMappingURL=maretron-ipgjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maretron-ipgjs.d.ts","sourceRoot":"","sources":["../../lib/bin/maretron-ipgjs.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
@@ -0,0 +1,159 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * Stream Maretron IPG100 binary frames as canboat plain CSV.
5
+ *
6
+ * Connects, completes the CONNECT handshake, sends SET_MODE\tBINARY\0 on
7
+ * receipt of CONNECTED, and writes one CSV line per inbound 0xA5 frame to
8
+ * stdout in the format canboat's `analyzer` accepts:
9
+ *
10
+ * YYYY-MM-DD-HH:MM:SS.mmm,<prio>,<pgn>,<src>,<dst>,<len>,<hex>,<hex>,...
11
+ *
12
+ * Control text frames (handshake replies, license-pool announces) go to
13
+ * stderr, so stdout can be piped directly into `analyzerjs`:
14
+ *
15
+ * maretron-ipgjs ipg100-ip | analyzerjs -json -nv
16
+ *
17
+ * Outbound traffic: each line on stdin is sent to the bus. canboat plain
18
+ * CSV is interpreted as a string; a line that starts with `{` is parsed
19
+ * as a JSON PGN object (matching cansendjs's convention).
20
+ *
21
+ * cat commands.txt | maretron-ipgjs ipg100-ip
22
+ *
23
+ * stdin is not consumed until the CONNECT handshake completes; the kernel
24
+ * pipe buffer applies backpressure to the producer so nothing is dropped.
25
+ */
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ const node_events_1 = require("node:events");
31
+ const readline_1 = __importDefault(require("readline"));
32
+ const minimist_1 = __importDefault(require("minimist"));
33
+ const utils_1 = require("./utils");
34
+ const utilities_1 = require("../utilities");
35
+ const index_1 = require("../index");
36
+ const maretron_ipg_1 = require("../maretron-ipg");
37
+ const debug = (0, utilities_1.createDebug)('canboatjs:maretron-ipg-cli');
38
+ const argv = (0, minimist_1.default)(process.argv.slice(2), {
39
+ alias: { h: 'help' },
40
+ string: ['port', 'password'],
41
+ boolean: ['help', 'version'],
42
+ default: {
43
+ port: String(maretron_ipg_1.IPG_PORT),
44
+ password: ''
45
+ }
46
+ });
47
+ (0, utils_1.printVersion)(argv);
48
+ if (argv['help'] || argv['_'].length === 0) {
49
+ console.error(`Usage: ${process.argv[1]?.split('/').pop() ?? 'maretron-ipgjs'} [options] host
50
+
51
+ Streams N2K traffic from a Maretron IPG100 as canboat plain CSV on
52
+ stdout. Control/status text frames go to stderr. Lines read on stdin
53
+ are sent to the bus after the CONNECT handshake completes (canboat
54
+ plain CSV or a single-line JSON PGN object).
55
+
56
+ Options:
57
+ --port <n> TCP port (default 6543)
58
+ --password <str> CONNECT password (default empty)
59
+ --version print version and exit
60
+ -h, --help show this help
61
+
62
+ Examples:
63
+ maretron-ipgjs ipg100-ip | analyzerjs -json -nv
64
+ cat commands.txt | maretron-ipgjs ipg100-ip > frames.log 2> control.log
65
+ echo '2026-05-15-10:00:00.000,6,59904,0,255,3,00,ee,01' | maretron-ipgjs ipg100-ip`);
66
+ process.exit(argv['help'] ? 0 : 1);
67
+ }
68
+ const host = argv['_'][0];
69
+ const port = Number(argv['port']);
70
+ if (!Number.isFinite(port) || port <= 0 || port > 65535) {
71
+ console.error(`Invalid --port value: ${argv['port']}`);
72
+ process.exit(1);
73
+ }
74
+ debug(`connecting to ${host}:${port}`);
75
+ // An app-like EventEmitter — the driver listens on `nmea2000out` /
76
+ // `nmea2000JsonOut`, so emitting those events here is how we send.
77
+ const app = new node_events_1.EventEmitter();
78
+ const stream = new index_1.MaretronIPG({
79
+ app,
80
+ host,
81
+ port,
82
+ password: argv['password'],
83
+ reconnect: true,
84
+ // The CLI passes `app` only for event wiring (nmea2000out / JsonOut
85
+ // from stdin), not as a SignalK provider. Re-assert the standalone
86
+ // fail-fast policy explicitly so a typo'd hostname exits 1 instead
87
+ // of looping forever.
88
+ failFastOnInitialConnect: true
89
+ });
90
+ let stdinAttached = false;
91
+ function attachStdin() {
92
+ if (stdinAttached)
93
+ return;
94
+ stdinAttached = true;
95
+ const rl = readline_1.default.createInterface({
96
+ input: process.stdin,
97
+ terminal: false
98
+ });
99
+ rl.on('line', (line) => {
100
+ if (line.length === 0)
101
+ return;
102
+ // Mirrors cansendjs convention: JSON-line PGN objects or canboat CSV.
103
+ if (line[0] === '{') {
104
+ try {
105
+ const obj = JSON.parse(line);
106
+ app.emit('nmea2000JsonOut', obj);
107
+ }
108
+ catch (err) {
109
+ const message = err instanceof Error ? err.message : String(err);
110
+ console.error(`-- bad JSON on stdin: ${message}`);
111
+ }
112
+ }
113
+ else {
114
+ app.emit('nmea2000out', line);
115
+ }
116
+ });
117
+ rl.on('close', () => {
118
+ debug('stdin closed');
119
+ });
120
+ console.error('-- stdin ready (canboat CSV or JSON, one per line)');
121
+ }
122
+ stream.on('connected', (info) => {
123
+ console.error(`-- connected (serial=${info?.serial ?? '?'})`);
124
+ // Attach stdin only now. Until this point the kernel pipe buffer holds
125
+ // input from any upstream `cat`/echo, applying backpressure rather than
126
+ // discarding lines — so the very first line in commands.txt still gets
127
+ // sent. Reconnects don't re-attach (the rl is already live).
128
+ attachStdin();
129
+ });
130
+ stream.on('version', (version, product) => {
131
+ console.error(`-- ${product} ${version}`);
132
+ });
133
+ stream.on('instance', (busAddress, instance) => {
134
+ console.error(`-- IPG bus address=${busAddress}, client instance=${instance}`);
135
+ });
136
+ stream.on('authfail', () => {
137
+ console.error('-- authentication failed (NO)');
138
+ process.exit(2);
139
+ });
140
+ // Driver pushes canboat plain CSV strings on the readable side — drain
141
+ // them to stdout with newline terminators so `analyzer` can parse the
142
+ // output directly.
143
+ stream.on('data', (line) => {
144
+ process.stdout.write(line + '\n');
145
+ });
146
+ stream.on('error', () => {
147
+ // The driver only emits a stream-level 'error' on a fatal initial-connect
148
+ // failure. By the time we get here, the driver has already written the
149
+ // underlying socket error to stderr via setProviderError. In-session
150
+ // socket errors don't reach this handler — they take the setProviderError
151
+ // path and are followed by an automatic reconnect.
152
+ process.exit(1);
153
+ });
154
+ process.on('SIGINT', () => {
155
+ console.error('-- SIGINT, closing');
156
+ stream.end();
157
+ process.exit(0);
158
+ });
159
+ //# sourceMappingURL=maretron-ipgjs.js.map