@canboat/canboatjs 3.13.2 → 3.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EACL,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAI9D,eAAO,MAAM,sBAAsB,yDAAsB,CAAA;AACzD,eAAO,MAAM,qBAAqB,yDAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EACL,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,EACnC,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAIxD,eAAO,MAAM,sBAAsB,yDAAsB,CAAA;AACzD,eAAO,MAAM,qBAAqB,yDAAqB,CAAA"}
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.lookupEnumerationName = exports.lookupEnumerationValue = exports.serial = exports.N2kDevice = exports.CanDevice = exports.YdDevice = exports.SimpleCan = exports.discover = exports.VenusMQTT = exports.Venus = exports.iKonvert = exports.W2k01 = exports.Ydgw02 = exports.Ydwg02 = exports.pgnToCandump3 = exports.pgnToCandump2 = exports.pgnToCandump1 = exports.pgnToMXPGN = exports.pgnToPCDIN = exports.pgnToYdgwFullRawFormat = exports.pgnToYdgwRawFormat = exports.pgnToiKonvertSerialFormat = exports.pgnToActisenseN2KAsciiFormat = exports.pgnToActisenseSerialFormat = exports.toPgn = exports.encodeCandump3 = exports.encodeCandump1 = exports.encodeMXPGN = exports.encodePCDIN = exports.encodePDGY = exports.encodeYDRAWFull = exports.encodeYDRAW = exports.encodeActisenseN2KACSII = exports.encodeActisense = exports.encodeCandump2 = exports.toActisenseSerialFormat = exports.isN2KString = exports.parseN2kString = exports.addCustomPgns = exports.canbus = exports.filterPGN = exports.setupFilters = exports.FromPgn = void 0;
18
+ exports.lookupEnumerationName = exports.lookupEnumerationValue = exports.getMaretronOpcodeName = exports.getMaretronProductName = exports.parseMaretronConfigResponse = exports.buildMaretronConfigCommandActisense = exports.buildMaretronConfigCommand = exports.serial = exports.N2kDevice = exports.CanDevice = exports.YdDevice = exports.SimpleCan = exports.discover = exports.VenusMQTT = exports.Venus = exports.iKonvert = exports.W2k01 = exports.Ydgw02 = exports.Ydwg02 = exports.pgnToCandump3 = exports.pgnToCandump2 = exports.pgnToCandump1 = exports.pgnToMXPGN = exports.pgnToPCDIN = exports.pgnToYdgwFullRawFormat = exports.pgnToYdgwRawFormat = exports.pgnToiKonvertSerialFormat = exports.pgnToActisenseN2KAsciiFormat = exports.pgnToActisenseSerialFormat = exports.toPgn = exports.encodeCandump3 = exports.encodeCandump1 = exports.encodeMXPGN = exports.encodePCDIN = exports.encodePDGY = exports.encodeYDRAWFull = exports.encodeYDRAW = exports.encodeActisenseN2KACSII = exports.encodeActisense = exports.encodeCandump2 = exports.toActisenseSerialFormat = exports.isN2KString = exports.parseN2kString = exports.addCustomPgns = exports.canbus = exports.filterPGN = exports.setupFilters = exports.FromPgn = void 0;
19
19
  var fromPgn_1 = require("./fromPgn");
20
20
  Object.defineProperty(exports, "FromPgn", { enumerable: true, get: function () { return fromPgn_1.Parser; } });
21
21
  var utilities_1 = require("./utilities");
@@ -75,6 +75,12 @@ var n2kDevice_1 = require("./n2kDevice");
75
75
  Object.defineProperty(exports, "N2kDevice", { enumerable: true, get: function () { return n2kDevice_1.N2kDevice; } });
76
76
  var actisense_serial_1 = require("./actisense-serial");
77
77
  Object.defineProperty(exports, "serial", { enumerable: true, get: function () { return actisense_serial_1.ActisenseStream; } });
78
+ var maretron_1 = require("./maretron");
79
+ Object.defineProperty(exports, "buildMaretronConfigCommand", { enumerable: true, get: function () { return maretron_1.buildMaretronConfigCommand; } });
80
+ Object.defineProperty(exports, "buildMaretronConfigCommandActisense", { enumerable: true, get: function () { return maretron_1.buildMaretronConfigCommandActisense; } });
81
+ Object.defineProperty(exports, "parseMaretronConfigResponse", { enumerable: true, get: function () { return maretron_1.parseMaretronConfigResponse; } });
82
+ Object.defineProperty(exports, "getMaretronProductName", { enumerable: true, get: function () { return maretron_1.getMaretronProductName; } });
83
+ Object.defineProperty(exports, "getMaretronOpcodeName", { enumerable: true, get: function () { return maretron_1.getMaretronOpcodeName; } });
78
84
  const ts_pgns_1 = require("@canboat/ts-pgns");
79
85
  exports.lookupEnumerationValue = ts_pgns_1.getEnumerationValue;
80
86
  exports.lookupEnumerationName = ts_pgns_1.getEnumerationName;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,qCAA6C;AAApC,kGAAA,MAAM,OAAW;AAE1B,yCAAqD;AAA5C,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAEhC,mCAAiD;AAAxC,gGAAA,YAAY,OAAU;AAC/B,+BAAsC;AAA7B,qGAAA,aAAa,OAAA;AACtB,yCAcoB;AAblB,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,oHAAA,uBAAuB,OAAA;AACvB,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,oHAAA,uBAAuB,OAAA;AACvB,wGAAA,WAAW,OAAA;AACX,4GAAA,eAAe,OAAA;AACf,uGAAA,UAAU,OAAA;AACV,wGAAA,WAAW,OAAA;AACX,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AAEhB,iCAYgB;AAXd,8FAAA,KAAK,OAAA;AACL,mHAAA,0BAA0B,OAAA;AAC1B,qHAAA,4BAA4B,OAAA;AAC5B,kHAAA,yBAAyB,OAAA;AACzB,2GAAA,kBAAkB,OAAA;AAClB,+GAAA,sBAAsB,OAAA;AACtB,mGAAA,UAAU,OAAA;AACV,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AAEf,mCAAiD;AAAxC,gGAAA,YAAY,OAAU;AAC/B,mCAAiD;AAAxC,gGAAA,YAAY,OAAU;AAC/B,iCAA8C;AAArC,8FAAA,WAAW,OAAS;AAC7B,uCAAuD;AAA9C,oGAAA,cAAc,OAAY;AACnC,iCAA8C;AAArC,8FAAA,WAAW,OAAS;AAC7B,2CAAwC;AAA/B,uGAAA,SAAS,OAAA;AAClB,yCAAsC;AAA7B,qGAAA,QAAQ,OAAA;AACjB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,uDAA8D;AAArD,0GAAA,eAAe,OAAU;AAElC,8CAA0E;AAE7D,QAAA,sBAAsB,GAAG,6BAAmB,CAAA;AAC5C,QAAA,qBAAqB,GAAG,4BAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,qCAA6C;AAApC,kGAAA,MAAM,OAAW;AAE1B,yCAAqD;AAA5C,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAEhC,mCAAiD;AAAxC,gGAAA,YAAY,OAAU;AAC/B,+BAAsC;AAA7B,qGAAA,aAAa,OAAA;AACtB,yCAcoB;AAblB,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,oHAAA,uBAAuB,OAAA;AACvB,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,oHAAA,uBAAuB,OAAA;AACvB,wGAAA,WAAW,OAAA;AACX,4GAAA,eAAe,OAAA;AACf,uGAAA,UAAU,OAAA;AACV,wGAAA,WAAW,OAAA;AACX,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AAEhB,iCAYgB;AAXd,8FAAA,KAAK,OAAA;AACL,mHAAA,0BAA0B,OAAA;AAC1B,qHAAA,4BAA4B,OAAA;AAC5B,kHAAA,yBAAyB,OAAA;AACzB,2GAAA,kBAAkB,OAAA;AAClB,+GAAA,sBAAsB,OAAA;AACtB,mGAAA,UAAU,OAAA;AACV,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AAEf,mCAAiD;AAAxC,gGAAA,YAAY,OAAU;AAC/B,mCAAiD;AAAxC,gGAAA,YAAY,OAAU;AAC/B,iCAA8C;AAArC,8FAAA,WAAW,OAAS;AAC7B,uCAAuD;AAA9C,oGAAA,cAAc,OAAY;AACnC,iCAA8C;AAArC,8FAAA,WAAW,OAAS;AAC7B,2CAAwC;AAA/B,uGAAA,SAAS,OAAA;AAClB,yCAAsC;AAA7B,qGAAA,QAAQ,OAAA;AACjB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,uDAA8D;AAArD,0GAAA,eAAe,OAAU;AAClC,uCAMmB;AALjB,sHAAA,0BAA0B,OAAA;AAC1B,+HAAA,mCAAmC,OAAA;AACnC,uHAAA,2BAA2B,OAAA;AAC3B,kHAAA,sBAAsB,OAAA;AACtB,iHAAA,qBAAqB,OAAA;AAIvB,8CAA0E;AAE7D,QAAA,sBAAsB,GAAG,6BAAmB,CAAA;AAC5C,QAAA,qBAAqB,GAAG,4BAAkB,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { PGN } from '@canboat/ts-pgns';
2
+ /**
3
+ * Build a raw PGN 126208 Command payload targeting PGN 126720 for Maretron
4
+ * proprietary device configuration. This bypasses canboatjs's structured
5
+ * 126208 encoder because Maretron's field index scheme doesn't match
6
+ * canboat's semantic field ordering for PGN 126720.
7
+ *
8
+ * Wire format (confirmed from live capture):
9
+ * ```
10
+ * [0] FC = 0x01 (Command)
11
+ * [1-3] Target PGN = 0x01EF00 (126720) LE
12
+ * [4] Priority + Reserved = 0xF8
13
+ * [5] Number of params = 0x04
14
+ * [6] Field idx 1
15
+ * [7-8] Mfr code packed = 0x9889 (mfr=137, rsvd=1, ind=4)
16
+ * [9] Field idx 2
17
+ * [10-11] Product code (LE)
18
+ * [12] Field idx 3
19
+ * [13-14] Sub-header = 0x0001
20
+ * [15+] Opcode + payload bytes
21
+ * ```
22
+ *
23
+ * @param dst Destination device address on the N2K bus
24
+ * @param productCode Maretron product code (e.g. 23603 for SIM100)
25
+ * @param opcodePayload Array of bytes: [opcode, ...data]
26
+ * @returns PGN object suitable for emission via nmea2000JsonOut
27
+ */
28
+ export declare function buildMaretronConfigCommand(dst: number, productCode: number, opcodePayload: number[]): PGN & {
29
+ dst: number;
30
+ fields: {
31
+ data: string;
32
+ };
33
+ };
34
+ /**
35
+ * Build a raw PGN 126208 Command as an actisense-format hex string,
36
+ * suitable for emission via the nmea2000out event.
37
+ *
38
+ * @param dst Destination device address on the N2K bus
39
+ * @param productCode Maretron product code
40
+ * @param opcodePayload Array of bytes: [opcode, ...data]
41
+ * @returns Actisense serial format string
42
+ */
43
+ export declare function buildMaretronConfigCommandActisense(dst: number, productCode: number, opcodePayload: number[]): string;
44
+ export interface MaretronConfigResponse {
45
+ productCode: number;
46
+ productName: string | undefined;
47
+ softwareCode: number;
48
+ opcode: number;
49
+ opcodeName: string | undefined;
50
+ payload: number[];
51
+ }
52
+ /**
53
+ * Parse a decoded PGN 126720 that matches the Maretron proprietary
54
+ * configuration format. Works with both the new maretronProprietaryConfiguration
55
+ * variant (which has named fields) and the generic maretronSlaveResponse.
56
+ *
57
+ * For maretronProprietaryConfiguration:
58
+ * fields.productCode, fields.softwareCode, fields.opcode, fields.payload
59
+ *
60
+ * For raw PGN objects with a data field, extracts bytes directly.
61
+ *
62
+ * @param pgn A decoded PGN 126720 object
63
+ * @returns Parsed Maretron config info, or null if not a Maretron config PGN
64
+ */
65
+ export declare function parseMaretronConfigResponse(pgn: any): MaretronConfigResponse | null;
66
+ /**
67
+ * Get the product name for a Maretron product code.
68
+ */
69
+ export declare function getMaretronProductName(productCode: number): string | undefined;
70
+ /**
71
+ * Get the opcode name for a Maretron config opcode.
72
+ */
73
+ export declare function getMaretronOpcodeName(opcode: number): string | undefined;
74
+ //# sourceMappingURL=maretron.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maretron.d.ts","sourceRoot":"","sources":["../lib/maretron.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EAGJ,MAAM,kBAAkB,CAAA;AAazB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,GACtB,GAAG,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CA+BjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,GACtB,MAAM,CA0BR;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,GAAG,GACP,sBAAsB,GAAG,IAAI,CA+D/B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAEpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExE"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildMaretronConfigCommand = buildMaretronConfigCommand;
4
+ exports.buildMaretronConfigCommandActisense = buildMaretronConfigCommandActisense;
5
+ exports.parseMaretronConfigResponse = parseMaretronConfigResponse;
6
+ exports.getMaretronProductName = getMaretronProductName;
7
+ exports.getMaretronOpcodeName = getMaretronOpcodeName;
8
+ const ts_pgns_1 = require("@canboat/ts-pgns");
9
+ // Build reverse lookups from ts-pgns enums: numeric code → name string
10
+ const PRODUCT_NAMES = {};
11
+ for (const [name, code] of Object.entries(ts_pgns_1.MaretronProductCodeValues)) {
12
+ PRODUCT_NAMES[code] = name;
13
+ }
14
+ const OPCODE_NAMES = {};
15
+ for (const [name, code] of Object.entries(ts_pgns_1.MaretronOpcodeValues)) {
16
+ OPCODE_NAMES[code] = name;
17
+ }
18
+ /**
19
+ * Build a raw PGN 126208 Command payload targeting PGN 126720 for Maretron
20
+ * proprietary device configuration. This bypasses canboatjs's structured
21
+ * 126208 encoder because Maretron's field index scheme doesn't match
22
+ * canboat's semantic field ordering for PGN 126720.
23
+ *
24
+ * Wire format (confirmed from live capture):
25
+ * ```
26
+ * [0] FC = 0x01 (Command)
27
+ * [1-3] Target PGN = 0x01EF00 (126720) LE
28
+ * [4] Priority + Reserved = 0xF8
29
+ * [5] Number of params = 0x04
30
+ * [6] Field idx 1
31
+ * [7-8] Mfr code packed = 0x9889 (mfr=137, rsvd=1, ind=4)
32
+ * [9] Field idx 2
33
+ * [10-11] Product code (LE)
34
+ * [12] Field idx 3
35
+ * [13-14] Sub-header = 0x0001
36
+ * [15+] Opcode + payload bytes
37
+ * ```
38
+ *
39
+ * @param dst Destination device address on the N2K bus
40
+ * @param productCode Maretron product code (e.g. 23603 for SIM100)
41
+ * @param opcodePayload Array of bytes: [opcode, ...data]
42
+ * @returns PGN object suitable for emission via nmea2000JsonOut
43
+ */
44
+ function buildMaretronConfigCommand(dst, productCode, opcodePayload) {
45
+ const payload = [
46
+ 0x01, // Function Code: Command
47
+ 0x00,
48
+ 0xef,
49
+ 0x01, // Target PGN 126720 (0x01EF00) LE
50
+ 0xf8, // Priority=15 (leave unchanged) + reserved
51
+ 0x04, // Number of parameters
52
+ 0x01, // Field index 1: manufacturer code
53
+ 0x89,
54
+ 0x98, // Packed: mfr=137(0x89), reserved=1, industry=4 → 0x9889 LE
55
+ 0x02, // Field index 2: product code
56
+ productCode & 0xff,
57
+ (productCode >> 8) & 0xff, // Product code LE
58
+ 0x03, // Field index 3: sub-header
59
+ 0x01,
60
+ 0x00, // Sub-header = 0x0001
61
+ ...opcodePayload
62
+ ];
63
+ const hexData = payload.map((b) => b.toString(16).padStart(2, '0')).join(',');
64
+ return {
65
+ pgn: 126208,
66
+ prio: 3,
67
+ dst,
68
+ src: 0,
69
+ fields: {
70
+ data: hexData
71
+ }
72
+ };
73
+ }
74
+ /**
75
+ * Build a raw PGN 126208 Command as an actisense-format hex string,
76
+ * suitable for emission via the nmea2000out event.
77
+ *
78
+ * @param dst Destination device address on the N2K bus
79
+ * @param productCode Maretron product code
80
+ * @param opcodePayload Array of bytes: [opcode, ...data]
81
+ * @returns Actisense serial format string
82
+ */
83
+ function buildMaretronConfigCommandActisense(dst, productCode, opcodePayload) {
84
+ const payload = [
85
+ 0x01,
86
+ 0x00,
87
+ 0xef,
88
+ 0x01,
89
+ 0xf8,
90
+ 0x04,
91
+ 0x01,
92
+ 0x89,
93
+ 0x98,
94
+ 0x02,
95
+ productCode & 0xff,
96
+ (productCode >> 8) & 0xff,
97
+ 0x03,
98
+ 0x01,
99
+ 0x00,
100
+ ...opcodePayload
101
+ ];
102
+ const now = new Date();
103
+ const timestamp = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')}T${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}:${String(now.getSeconds()).padStart(2, '0')}.${String(now.getMilliseconds()).padStart(3, '0')}Z`;
104
+ const hexBytes = payload
105
+ .map((b) => b.toString(16).padStart(2, '0').toUpperCase())
106
+ .join(',');
107
+ return `${timestamp},3,126208,0,${dst},${payload.length},${hexBytes}`;
108
+ }
109
+ /**
110
+ * Parse a decoded PGN 126720 that matches the Maretron proprietary
111
+ * configuration format. Works with both the new maretronProprietaryConfiguration
112
+ * variant (which has named fields) and the generic maretronSlaveResponse.
113
+ *
114
+ * For maretronProprietaryConfiguration:
115
+ * fields.productCode, fields.softwareCode, fields.opcode, fields.payload
116
+ *
117
+ * For raw PGN objects with a data field, extracts bytes directly.
118
+ *
119
+ * @param pgn A decoded PGN 126720 object
120
+ * @returns Parsed Maretron config info, or null if not a Maretron config PGN
121
+ */
122
+ function parseMaretronConfigResponse(pgn) {
123
+ if (!pgn || pgn.pgn !== 126720) {
124
+ return null;
125
+ }
126
+ const fields = pgn.fields;
127
+ // Check for Maretron manufacturer code
128
+ if (fields?.manufacturerCode !== 'Maretron' &&
129
+ fields?.manufacturerCode !== 137) {
130
+ return null;
131
+ }
132
+ // New maretronProprietaryConfiguration variant with named fields
133
+ if (fields.opcode !== undefined) {
134
+ const productCode = typeof fields.productCode === 'number' ? fields.productCode : 0;
135
+ const softwareCode = typeof fields.softwareCode === 'number' ? fields.softwareCode : 0;
136
+ const opcode = typeof fields.opcode === 'number' ? fields.opcode : 0;
137
+ let payloadBytes = [];
138
+ if (fields.payload) {
139
+ if (typeof fields.payload === 'string') {
140
+ payloadBytes = fields.payload
141
+ .split(',')
142
+ .map((s) => parseInt(s, 16));
143
+ }
144
+ else if (Buffer.isBuffer(fields.payload)) {
145
+ payloadBytes = Array.from(fields.payload);
146
+ }
147
+ }
148
+ return {
149
+ productCode,
150
+ productName: PRODUCT_NAMES[productCode],
151
+ softwareCode,
152
+ opcode,
153
+ opcodeName: OPCODE_NAMES[opcode],
154
+ payload: payloadBytes
155
+ };
156
+ }
157
+ // Legacy maretronSlaveResponse: command field maps to opcode
158
+ if (fields.command !== undefined) {
159
+ const productCode = typeof fields.productCode === 'number' ? fields.productCode : 0;
160
+ const softwareCode = typeof fields.softwareCode === 'number' ? fields.softwareCode : 0;
161
+ const opcode = typeof fields.command === 'number' ? fields.command : 0;
162
+ return {
163
+ productCode,
164
+ productName: PRODUCT_NAMES[productCode],
165
+ softwareCode,
166
+ opcode,
167
+ opcodeName: OPCODE_NAMES[opcode],
168
+ payload: []
169
+ };
170
+ }
171
+ return null;
172
+ }
173
+ /**
174
+ * Get the product name for a Maretron product code.
175
+ */
176
+ function getMaretronProductName(productCode) {
177
+ return PRODUCT_NAMES[productCode];
178
+ }
179
+ /**
180
+ * Get the opcode name for a Maretron config opcode.
181
+ */
182
+ function getMaretronOpcodeName(opcode) {
183
+ return OPCODE_NAMES[opcode];
184
+ }
185
+ //# sourceMappingURL=maretron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maretron.js","sourceRoot":"","sources":["../lib/maretron.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=maretron.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maretron.test.d.ts","sourceRoot":"","sources":["../lib/maretron.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const maretron_1 = require("./maretron");
4
+ describe('buildMaretronConfigCommand', () => {
5
+ test('SIM100 Read All produces correct payload', () => {
6
+ // From maretron.md: 01 00 ef 01 f8 04 01 89 98 02 33 5c 03 01 00 56 ff
7
+ const result = (0, maretron_1.buildMaretronConfigCommand)(211, 23603, [0x56, 0xff]);
8
+ expect(result.pgn).toBe(126208);
9
+ expect(result.dst).toBe(211);
10
+ const bytes = result.fields.data
11
+ .split(',')
12
+ .map((s) => parseInt(s, 16));
13
+ const expected = [
14
+ 0x01, 0x00, 0xef, 0x01, 0xf8, 0x04, 0x01, 0x89, 0x98, 0x02, 0x33, 0x5c,
15
+ 0x03, 0x01, 0x00, 0x56, 0xff
16
+ ];
17
+ expect(bytes).toEqual(expected);
18
+ });
19
+ test('SIM100 Write Ch3 mode produces correct payload', () => {
20
+ // From maretron.md: 01 00 ef 01 f8 04 01 89 98 02 33 5c 03 01 00 57 22 01 ff
21
+ const result = (0, maretron_1.buildMaretronConfigCommand)(211, 23603, [0x57, 0x22, 0x01, 0xff]);
22
+ const bytes = result.fields.data
23
+ .split(',')
24
+ .map((s) => parseInt(s, 16));
25
+ const expected = [
26
+ 0x01, 0x00, 0xef, 0x01, 0xf8, 0x04, 0x01, 0x89, 0x98, 0x02, 0x33, 0x5c,
27
+ 0x03, 0x01, 0x00, 0x57, 0x22, 0x01, 0xff
28
+ ];
29
+ expect(bytes).toEqual(expected);
30
+ });
31
+ test('TLA100 Read Config produces correct payload', () => {
32
+ // TLA100 product code = 2781 = 0x0ADD
33
+ const result = (0, maretron_1.buildMaretronConfigCommand)(100, 2781, [0x30, 0x00]);
34
+ const bytes = result.fields.data
35
+ .split(',')
36
+ .map((s) => parseInt(s, 16));
37
+ expect(bytes[10]).toBe(0xdd); // product code low byte
38
+ expect(bytes[11]).toBe(0x0a); // product code high byte
39
+ expect(bytes[15]).toBe(0x30); // opcode: Read Config
40
+ expect(bytes[16]).toBe(0x00);
41
+ });
42
+ test('DCR100 Switch Lock produces correct payload', () => {
43
+ // DCR100 product code = 22585 = 0x5839
44
+ const result = (0, maretron_1.buildMaretronConfigCommand)(150, 22585, [0x67, 0x00, 0x01]);
45
+ const bytes = result.fields.data
46
+ .split(',')
47
+ .map((s) => parseInt(s, 16));
48
+ expect(bytes[10]).toBe(0x39); // product code low byte
49
+ expect(bytes[11]).toBe(0x58); // product code high byte
50
+ expect(bytes[15]).toBe(0x67); // opcode: Switch Lock
51
+ expect(bytes[16]).toBe(0x00);
52
+ expect(bytes[17]).toBe(0x01);
53
+ });
54
+ });
55
+ describe('buildMaretronConfigCommandActisense', () => {
56
+ test('produces valid actisense format string', () => {
57
+ const result = (0, maretron_1.buildMaretronConfigCommandActisense)(211, 23603, [0x56, 0xff]);
58
+ const parts = result.split(',');
59
+ // Format: timestamp,prio,pgn,src,dst,len,hex...
60
+ expect(parts[1]).toBe('3'); // priority
61
+ expect(parts[2]).toBe('126208'); // pgn
62
+ expect(parts[3]).toBe('0'); // src
63
+ expect(parts[4]).toBe('211'); // dst
64
+ expect(parseInt(parts[5])).toBe(17); // length
65
+ expect(parts[6]).toBe('01'); // FC=Command
66
+ });
67
+ });
68
+ describe('parseMaretronConfigResponse', () => {
69
+ test('parses maretronProprietaryConfiguration variant', () => {
70
+ const pgn = {
71
+ pgn: 126720,
72
+ fields: {
73
+ manufacturerCode: 'Maretron',
74
+ industryCode: 'Marine Industry',
75
+ productCode: 23603,
76
+ softwareCode: 1,
77
+ opcode: 0x56,
78
+ payload: '00,64,00,01,64,00'
79
+ }
80
+ };
81
+ const result = (0, maretron_1.parseMaretronConfigResponse)(pgn);
82
+ expect(result).not.toBeNull();
83
+ expect(result.productCode).toBe(23603);
84
+ expect(result.productName).toBe('SIM100');
85
+ expect(result.opcode).toBe(0x56);
86
+ expect(result.opcodeName).toBe('Read Channel Config Extended');
87
+ expect(result.payload).toEqual([0x00, 0x64, 0x00, 0x01, 0x64, 0x00]);
88
+ });
89
+ test('parses maretronSlaveResponse variant with command field', () => {
90
+ const pgn = {
91
+ pgn: 126720,
92
+ fields: {
93
+ manufacturerCode: 'Maretron',
94
+ industryCode: 'Marine Industry',
95
+ productCode: 22585,
96
+ softwareCode: 1,
97
+ command: 0xfa
98
+ }
99
+ };
100
+ const result = (0, maretron_1.parseMaretronConfigResponse)(pgn);
101
+ expect(result).not.toBeNull();
102
+ expect(result.productCode).toBe(22585);
103
+ expect(result.productName).toBe('DCR100');
104
+ expect(result.opcode).toBe(0xfa);
105
+ expect(result.opcodeName).toBeUndefined();
106
+ });
107
+ test('returns null for non-Maretron PGN', () => {
108
+ const pgn = {
109
+ pgn: 126720,
110
+ fields: {
111
+ manufacturerCode: 'Raymarine',
112
+ industryCode: 'Marine Industry'
113
+ }
114
+ };
115
+ expect((0, maretron_1.parseMaretronConfigResponse)(pgn)).toBeNull();
116
+ });
117
+ test('returns null for wrong PGN number', () => {
118
+ expect((0, maretron_1.parseMaretronConfigResponse)({ pgn: 60928, fields: {} })).toBeNull();
119
+ });
120
+ test('returns null for null input', () => {
121
+ expect((0, maretron_1.parseMaretronConfigResponse)(null)).toBeNull();
122
+ });
123
+ test('handles numeric manufacturer code', () => {
124
+ const pgn = {
125
+ pgn: 126720,
126
+ fields: {
127
+ manufacturerCode: 137,
128
+ productCode: 2781,
129
+ softwareCode: 1,
130
+ opcode: 0x30
131
+ }
132
+ };
133
+ const result = (0, maretron_1.parseMaretronConfigResponse)(pgn);
134
+ expect(result).not.toBeNull();
135
+ expect(result.productName).toBe('TLA100');
136
+ expect(result.opcodeName).toBe('Write Switch Config');
137
+ });
138
+ });
139
+ describe('getMaretronProductName', () => {
140
+ test('returns name for known product codes', () => {
141
+ expect((0, maretron_1.getMaretronProductName)(23603)).toBe('SIM100');
142
+ expect((0, maretron_1.getMaretronProductName)(2781)).toBe('TLA100');
143
+ expect((0, maretron_1.getMaretronProductName)(22585)).toBe('DCR100');
144
+ expect((0, maretron_1.getMaretronProductName)(26493)).toBe('ACM100');
145
+ });
146
+ test('returns undefined for unknown product code', () => {
147
+ expect((0, maretron_1.getMaretronProductName)(99999)).toBeUndefined();
148
+ });
149
+ });
150
+ describe('getMaretronOpcodeName', () => {
151
+ test('returns name for known opcodes', () => {
152
+ expect((0, maretron_1.getMaretronOpcodeName)(0x56)).toBe('Read Channel Config Extended');
153
+ expect((0, maretron_1.getMaretronOpcodeName)(0x57)).toBe('Write Channel Config Extended');
154
+ expect((0, maretron_1.getMaretronOpcodeName)(0x30)).toBe('Write Switch Config');
155
+ expect((0, maretron_1.getMaretronOpcodeName)(0x02)).toBe('Read Config');
156
+ });
157
+ test('returns undefined for unknown opcode', () => {
158
+ expect((0, maretron_1.getMaretronOpcodeName)(0x99)).toBeUndefined();
159
+ });
160
+ });
161
+ //# sourceMappingURL=maretron.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maretron.test.js","sourceRoot":"","sources":["../lib/maretron.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"n2kDevice.d.ts","sourceRoot":"","sources":["../lib/n2kDevice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,GAAG,EAeJ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAW1C,qBAAa,SAAU,SAAQ,YAAY;IACzC,YAAY,EAAE,GAAG,CAAA;IACjB,WAAW,EAAE,GAAG,CAAA;IAChB,iBAAiB,EAAE,GAAG,CAAA;IACtB,OAAO,EAAE,GAAG,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,GAAG,CAAA;IACZ,aAAa,EAAE,OAAO,CAAA;IACtB,yBAAyB,EAAE,MAAM,CAAA;IACjC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAA;IACvB,KAAK,EAAE,GAAG,CAAA;gBAEE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;IA6G3C,KAAK;IAOL,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAY5B,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IASzC,SAAS,CAAC,GAAG,EAAE,MAAM;IAMrB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAMpB,UAAU,CAAC,GAAG,EAAE,GAAG;IA4BnB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,MAAM,GAAG,SAAqB;CACxD"}
1
+ {"version":3,"file":"n2kDevice.d.ts","sourceRoot":"","sources":["../lib/n2kDevice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,GAAG,EAeJ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAW1C,qBAAa,SAAU,SAAQ,YAAY;IACzC,YAAY,EAAE,GAAG,CAAA;IACjB,WAAW,EAAE,GAAG,CAAA;IAChB,iBAAiB,EAAE,GAAG,CAAA;IACtB,OAAO,EAAE,GAAG,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,GAAG,CAAA;IACZ,aAAa,EAAE,OAAO,CAAA;IACtB,yBAAyB,EAAE,MAAM,CAAA;IACjC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAA;IACvB,KAAK,EAAE,GAAG,CAAA;gBAEE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;IAiH3C,KAAK;IAOL,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAY5B,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IASzC,SAAS,CAAC,GAAG,EAAE,MAAM;IAMrB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAMpB,UAAU,CAAC,GAAG,EAAE,GAAG;IA4BnB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,MAAM,GAAG,SAAqB;CACxD"}
package/dist/n2kDevice.js CHANGED
@@ -108,7 +108,12 @@ class N2kDevice extends node_events_1.EventEmitter {
108
108
  };
109
109
  }
110
110
  this.productInfo['Software Version Code'] = version;
111
- if (options.serverVersion && options.serverUrl) {
111
+ if (options.configurationInfo) {
112
+ this.configurationInfo = options.configurationInfo;
113
+ this.configurationInfo.pgn = 126998;
114
+ this.configurationInfo.dst = 255;
115
+ }
116
+ else if (options.serverVersion && options.serverUrl) {
112
117
  this.configurationInfo = {
113
118
  pgn: 126998,
114
119
  dst: 255,
@@ -1 +1 @@
1
- {"version":3,"file":"n2kDevice.js","sourceRoot":"","sources":["../lib/n2kDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"n2kDevice.js","sourceRoot":"","sources":["../lib/n2kDevice.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"toPgn.d.ts","sourceRoot":"","sources":["../lib/toPgn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,GAAG,EAKJ,MAAM,kBAAkB,CAAA;AA+CzB,wBAAgB,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAsHnD;AAkND,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,UASlD;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,UASpD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,uCAK/C;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAM,UAE1E;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,sBAKjD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,YAE3C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,YAE/C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,UAEnC;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,UAEnC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,YAEtC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,YAEtC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,YAEtC;AAED,eAAO,MAAM,wBAAwB,6BAAsC,CAAA;AAC3E,eAAO,MAAM,4BAA4B,6BAGxC,CAAA;AACD,eAAO,MAAM,gBAAgB,2BAAsC,CAAA;AACnE,eAAO,MAAM,gBAAgB,2BAAsC,CAAA;AACnE,eAAO,MAAM,mBAAmB,2BAAqC,CAAA;AACrE,eAAO,MAAM,yBAAyB,2BAGrC,CAAA;AACD,eAAO,MAAM,6BAA6B,yBAGzC,CAAA"}
1
+ {"version":3,"file":"toPgn.d.ts","sourceRoot":"","sources":["../lib/toPgn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,GAAG,EAKJ,MAAM,kBAAkB,CAAA;AA+CzB,wBAAgB,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAwJnD;AAkND,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,UASlD;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,UASpD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,uCAK/C;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAM,UAE1E;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,sBAKjD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,YAE3C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,YAE/C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,UAEnC;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,UAEnC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,YAEtC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,YAEtC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,YAEtC;AAED,eAAO,MAAM,wBAAwB,6BAAsC,CAAA;AAC3E,eAAO,MAAM,4BAA4B,6BAGxC,CAAA;AACD,eAAO,MAAM,gBAAgB,2BAAsC,CAAA;AACnE,eAAO,MAAM,gBAAgB,2BAAsC,CAAA;AACnE,eAAO,MAAM,mBAAmB,2BAAqC,CAAA;AACrE,eAAO,MAAM,yBAAyB,2BAGrC,CAAA;AACD,eAAO,MAAM,6BAA6B,yBAGzC,CAAA"}