@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.
- package/README.md +4 -0
- package/build/Makefile +2 -2
- package/build/canSocket.target.mk +14 -14
- package/dist/actisense-serial.d.ts.map +1 -1
- package/dist/actisense-serial.js +46 -38
- package/dist/actisense-serial.js.map +1 -1
- package/dist/actisense-serial.test.js +106 -0
- package/dist/actisense-serial.test.js.map +1 -1
- package/dist/bin/maretron-ipgjs.d.ts +26 -0
- package/dist/bin/maretron-ipgjs.d.ts.map +1 -0
- package/dist/bin/maretron-ipgjs.js +159 -0
- package/dist/bin/maretron-ipgjs.js.map +1 -0
- package/dist/fromPgn.d.ts.map +1 -1
- package/dist/fromPgn.js +22 -1
- package/dist/fromPgn.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/maretron-ipg.d.ts +135 -0
- package/dist/maretron-ipg.d.ts.map +1 -0
- package/dist/maretron-ipg.js +660 -0
- package/dist/maretron-ipg.js.map +1 -0
- package/dist/maretron-ipg.test.d.ts +2 -0
- package/dist/maretron-ipg.test.d.ts.map +1 -0
- package/dist/maretron-ipg.test.js +703 -0
- package/dist/maretron-ipg.test.js.map +1 -0
- package/dist/n2kDevice.d.ts.map +1 -1
- package/dist/n2kDevice.js +58 -5
- package/dist/n2kDevice.js.map +1 -1
- package/dist/n2kDevice.test.d.ts +2 -0
- package/dist/n2kDevice.test.d.ts.map +1 -0
- package/dist/n2kDevice.test.js +154 -0
- package/dist/n2kDevice.test.js.map +1 -0
- package/dist/n2kIpGateway.d.ts +40 -0
- package/dist/n2kIpGateway.d.ts.map +1 -0
- package/dist/n2kIpGateway.js +464 -0
- package/dist/n2kIpGateway.js.map +1 -0
- package/dist/n2kIpGateway.test.d.ts +2 -0
- package/dist/n2kIpGateway.test.d.ts.map +1 -0
- package/dist/n2kIpGateway.test.js +349 -0
- package/dist/n2kIpGateway.test.js.map +1 -0
- package/dist/stringMsg.d.ts +1 -1
- package/dist/stringMsg.d.ts.map +1 -1
- package/dist/stringMsg.js +16 -3
- package/dist/stringMsg.js.map +1 -1
- package/dist/ydgw02.js +9 -1
- package/dist/ydgw02.js.map +1 -1
- package/package.json +3 -2
- 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.
|
|
342
|
-
Makefile: $(srcdir)/../../../../../opt/hostedtoolcache/node/24.
|
|
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.
|
|
43
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
44
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
45
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
46
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
47
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
48
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
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.
|
|
87
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
88
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
89
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
90
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
91
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
92
|
-
-I/home/runner/.cache/node-gyp/24.
|
|
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;
|
|
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"}
|
package/dist/actisense-serial.js
CHANGED
|
@@ -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 (
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
-
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"actisense-serial.js","sourceRoot":"","sources":["../lib/actisense-serial.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;AA8CH,0CAkCC;AA2cD,wCA+BC;AAvjBD,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,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,GAAQ,EAAE,EAAE;oBACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBACtB,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBACnB,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,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBACnB,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,UAAU,GAAG,UAAqB,GAAW;IACrE,IAAI,CAAC,IAAI,CAAC,YAAY;QAAE,OAAM;IAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;IAC/B,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IACzB,GAAG,GAAG,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;QACvC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;KACpC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,eAAe,CAAC,SAAS,CAAC,OAAO,GAAG,UAAqB,GAAQ;IAC/D,IAAI,CAAC,IAAI,CAAC,YAAY;QAAE,OAAM;IAC9B,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,GAAG,CAAC,CAAA;IACvB,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC;QAChC,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI;QACJ,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,mEAAmE;QACnE,iEAAiE;QACjE,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,WAAW,SAAS,EAAE,CAAC,CAAA;IACrC,IAAI,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IAC/B,GAAG,GAAG,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;QACvC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;KACpC,CAAC,CAAA;AACJ,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"}
|
|
@@ -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":";;AAAA,mCAAqC;AACrC,yDAAoE;AAEpE,MAAM,GAAG,GAAG,IAAI,CAAA;AAChB,MAAM,GAAG,GAAG,IAAI,CAAA;AAChB,MAAM,GAAG,GAAG,IAAI,CAAA;AAChB,MAAM,YAAY,GAAG,IAAI,CAAA;AAEzB,wEAAwE;AACxE,uEAAuE;AACvE,qEAAqE;AACrE,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA;IACzD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;YACvB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,qDAAqD;gBACrD,GAAG,CAAC,GAAG,EAAE,CAAA;gBACT,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACb,SAAQ;YACV,CAAC;YACD,OAAO,IAAI,CAAA,CAAC,wBAAwB;QACtC,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAA,CAAC,oBAAoB;AAClC,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,IAAI,CAAC,2FAA2F,EAAE,GAAG,EAAE;QACrG,sEAAsE;QACtE,8DAA8D;QAC9D,oEAAoE;QACpE,sEAAsE;QACtE,kEAAkE;QAClE,4CAA4C;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACtE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SACvB,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE9B,MAAM,MAAM,GAAG,IAAA,iCAAc,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9D,kEAAkE;QAClE,mEAAmE;QACnE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACpC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,SAAS;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,4CAA4C;IAC3E,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;QAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACtE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SACvB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,IAAA,iCAAc,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAEhC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QAC/B,wCAAwC;QACxC,MAAM,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACvC,MAAM,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,CAAC,QAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,qDAAqD;QACrD,yDAAyD;QACzD,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,IAAA,iCAAc,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9D,mDAAmD;QACnD,6CAA6C;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QACxD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;QAE9C,8DAA8D;QAC9D,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QAC/B,MAAM,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACvC,MAAM,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,CAAC,QAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iFAAiF,EAAE,GAAG,EAAE;QAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,IAAA,iCAAc,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAEhC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QAC/B,MAAM,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACvC,MAAM,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,CAAC,QAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC/F,MAAM,GAAG,GAAG,IAAI,qBAAY,EAAE,CAAA;QAC9B,MAAM,UAAU,GAAa,EAAE,CAAA;QAC/B,mEAAmE;QACnE,8DAA8D;QAC9D,wCAAwC;QACxC,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,MAAM,MAAM,GAAQ,IAAK,kCAAuB,CAAC;YAC/C,QAAQ,EAAE,IAAI;YACd,GAAG;SACJ,CAAC,CAAA;QACF,iEAAiE;QACjE,0DAA0D;QAC1D,kBAAkB;QAClB,MAAM,UAAU,GAAa,EAAE,CAAA;QAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAE5D,mCAAmC;QACnC,uDAAuD;QACvD,uDAAuD;QACvD,EAAE;QACF,8DAA8D;QAC9D,6DAA6D;QAC7D,gEAAgE;QAChE,wCAAwC;QACxC,MAAM,CAAC,UAAU,CACf,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EACzC,QAAQ,EACR,GAAG,EAAE,GAAE,CAAC,CACT,CAAA;QACD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEnC,8DAA8D;QAC9D,+DAA+D;QAC/D,iEAAiE;QACjE,gEAAgE;QAChE,6DAA6D;QAC7D,wCAAwC;QACxC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC/D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEnC,8DAA8D;QAC9D,+DAA+D;QAC/D,+DAA+D;QAC/D,8DAA8D;QAC9D,kEAAkE;QAClE,iEAAiE;QACjE,8DAA8D;QAC9D,8DAA8D;QAC9D,+DAA+D;QAC/D,0BAA0B;QAC1B,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAChE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QAChB,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gFAAgF,EAAE,GAAG,EAAE;QAC1F,MAAM,GAAG,GAAG,IAAI,qBAAY,EAAE,CAAA;QAC9B,MAAM,UAAU,GAAa,EAAE,CAAA;QAC/B,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,MAAM,MAAM,GAAQ,IAAK,kCAAuB,CAAC;YAC/C,QAAQ,EAAE,IAAI;YACd,GAAG;SACJ,CAAC,CAAA;QACF,MAAM,UAAU,GAAa,EAAE,CAAA;QAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAE5D,gEAAgE;QAChE,iEAAiE;QACjE,4DAA4D;QAC5D,gEAAgE;QAChE,+DAA+D;QAC/D,8DAA8D;QAC9D,0CAA0C;QAC1C,8CAA8C;QAC9C,kDAAkD;QAClD,4DAA4D;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;YACxB,GAAG;YACH,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,IAAI;YACJ,GAAG;YACH,GAAG;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAE5C,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
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
|