@aircast-4g/mavlink 1.1.3 → 1.1.6

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 (91) hide show
  1. package/README.md +40 -29
  2. package/dist/dialects/ardupilotmega/index.d.ts +7071 -5
  3. package/dist/dialects/ardupilotmega/index.js +17804 -0
  4. package/dist/dialects/ardupilotmega/index.js.map +1 -0
  5. package/dist/dialects/common/index.d.ts +5335 -5
  6. package/dist/dialects/common/index.js +13709 -0
  7. package/dist/dialects/common/index.js.map +1 -0
  8. package/dist/dialects/minimal/index.d.ts +359 -5
  9. package/dist/dialects/minimal/index.js +859 -0
  10. package/dist/dialects/minimal/index.js.map +1 -0
  11. package/dist/dialects/paparazzi/index.d.ts +5379 -0
  12. package/dist/dialects/paparazzi/index.js +13807 -0
  13. package/dist/dialects/paparazzi/index.js.map +1 -0
  14. package/dist/dialects/python_array_test/index.d.ts +5420 -0
  15. package/dist/dialects/python_array_test/index.js +13954 -0
  16. package/dist/dialects/python_array_test/index.js.map +1 -0
  17. package/dist/dialects/standard/index.d.ts +365 -0
  18. package/dist/dialects/standard/index.js +867 -0
  19. package/dist/dialects/standard/index.js.map +1 -0
  20. package/dist/dialects/test/index.d.ts +115 -0
  21. package/dist/dialects/test/index.js +409 -0
  22. package/dist/dialects/test/index.js.map +1 -0
  23. package/package.json +52 -18
  24. package/dist/cli.d.ts +0 -3
  25. package/dist/cli.d.ts.map +0 -1
  26. package/dist/cli.js +0 -174
  27. package/dist/cli.js.map +0 -1
  28. package/dist/dialects/ardupilotmega/decoder.js +0 -11930
  29. package/dist/dialects/ardupilotmega/enums.d.ts +0 -4631
  30. package/dist/dialects/ardupilotmega/messages.d.ts +0 -8088
  31. package/dist/dialects/ardupilotmega/types.d.ts +0 -2833
  32. package/dist/dialects/common/decoder.js +0 -9098
  33. package/dist/dialects/common/enums.d.ts +0 -3632
  34. package/dist/dialects/common/messages.d.ts +0 -6114
  35. package/dist/dialects/common/types.d.ts +0 -2159
  36. package/dist/dialects/minimal/decoder.js +0 -67
  37. package/dist/dialects/minimal/enums.d.ts +0 -494
  38. package/dist/dialects/minimal/messages.d.ts +0 -62
  39. package/dist/dialects/minimal/types.d.ts +0 -272
  40. package/dist/generator/batch-processor.d.ts +0 -17
  41. package/dist/generator/batch-processor.d.ts.map +0 -1
  42. package/dist/generator/batch-processor.js +0 -141
  43. package/dist/generator/batch-processor.js.map +0 -1
  44. package/dist/generator/generator.d.ts +0 -16
  45. package/dist/generator/generator.d.ts.map +0 -1
  46. package/dist/generator/generator.js +0 -136
  47. package/dist/generator/generator.js.map +0 -1
  48. package/dist/generator/template-engine.d.ts +0 -14
  49. package/dist/generator/template-engine.d.ts.map +0 -1
  50. package/dist/generator/template-engine.js +0 -270
  51. package/dist/generator/template-engine.js.map +0 -1
  52. package/dist/generator/type-converter.d.ts +0 -15
  53. package/dist/generator/type-converter.d.ts.map +0 -1
  54. package/dist/generator/type-converter.js +0 -179
  55. package/dist/generator/type-converter.js.map +0 -1
  56. package/dist/generator/xml-parser.d.ts +0 -13
  57. package/dist/generator/xml-parser.d.ts.map +0 -1
  58. package/dist/generator/xml-parser.js +0 -170
  59. package/dist/generator/xml-parser.js.map +0 -1
  60. package/dist/index.d.ts +0 -8
  61. package/dist/index.d.ts.map +0 -1
  62. package/dist/index.js +0 -37
  63. package/dist/index.js.map +0 -1
  64. package/dist/parser/crc.d.ts +0 -7
  65. package/dist/parser/crc.d.ts.map +0 -1
  66. package/dist/parser/crc.js +0 -182
  67. package/dist/parser/crc.js.map +0 -1
  68. package/dist/parser/frame-parser.d.ts +0 -15
  69. package/dist/parser/frame-parser.d.ts.map +0 -1
  70. package/dist/parser/frame-parser.js +0 -82
  71. package/dist/parser/frame-parser.js.map +0 -1
  72. package/dist/parser/index.d.ts +0 -6
  73. package/dist/parser/index.d.ts.map +0 -1
  74. package/dist/parser/index.js +0 -28
  75. package/dist/parser/index.js.map +0 -1
  76. package/dist/parser/mavlink-parser.d.ts +0 -35
  77. package/dist/parser/mavlink-parser.d.ts.map +0 -1
  78. package/dist/parser/mavlink-parser.js +0 -215
  79. package/dist/parser/mavlink-parser.js.map +0 -1
  80. package/dist/parser/message-decoder.d.ts +0 -47
  81. package/dist/parser/message-decoder.d.ts.map +0 -1
  82. package/dist/parser/message-decoder.js +0 -288
  83. package/dist/parser/message-decoder.js.map +0 -1
  84. package/dist/parser/types.d.ts +0 -60
  85. package/dist/parser/types.d.ts.map +0 -1
  86. package/dist/parser/types.js +0 -13
  87. package/dist/parser/types.js.map +0 -1
  88. package/dist/types.d.ts +0 -110
  89. package/dist/types.d.ts.map +0 -1
  90. package/dist/types.js +0 -3
  91. package/dist/types.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/generated/dialects/standard/enums.ts","../../../src/generated/dialects/standard/messages.ts","../../../src/generated/dialects/standard/decoder.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,6BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,6BAAgC;;AAEhC,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;;AAEvB,IAAA,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;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"}
@@ -0,0 +1,115 @@
1
+ interface ParsedMAVLinkMessage$1 {
2
+ timestamp: number;
3
+ system_id: number;
4
+ component_id: number;
5
+ message_id: number;
6
+ message_name: string;
7
+ sequence: number;
8
+ payload: Record<string, any>;
9
+ protocol_version: 1 | 2;
10
+ checksum: number;
11
+ crc_ok: boolean;
12
+ signature?: Uint8Array;
13
+ dialect?: string;
14
+ }
15
+
16
+ interface MessageTestTypes {
17
+ c: string;
18
+ s: string;
19
+ u8: number;
20
+ u16: number;
21
+ u32: number;
22
+ u64: number;
23
+ s8: number;
24
+ s16: number;
25
+ s32: number;
26
+ s64: number;
27
+ f: number;
28
+ d: number;
29
+ u8Array: number[];
30
+ u16Array: number[];
31
+ u32Array: number[];
32
+ u64Array: number[];
33
+ s8Array: number[];
34
+ s16Array: number[];
35
+ s32Array: number[];
36
+ s64Array: number[];
37
+ fArray: number[];
38
+ dArray: number[];
39
+ }
40
+ interface MessageTypeMap {
41
+ TEST_TYPES: MessageTestTypes;
42
+ }
43
+ type AnyMessage = ParsedMAVLinkMessage$1;
44
+ declare function isTestTypes(msg: ParsedMAVLinkMessage$1): msg is ParsedMAVLinkMessage$1 & {
45
+ payload: MessageTestTypes;
46
+ };
47
+
48
+ interface ParsedMAVLinkMessage {
49
+ timestamp: number;
50
+ system_id: number;
51
+ component_id: number;
52
+ message_id: number;
53
+ message_name: string;
54
+ sequence: number;
55
+ payload: Record<string, any>;
56
+ protocol_version: 1 | 2;
57
+ checksum: number;
58
+ crc_ok: boolean;
59
+ signature?: Uint8Array;
60
+ dialect?: string;
61
+ }
62
+ interface MAVLinkFrame {
63
+ magic: number;
64
+ length: number;
65
+ incompatible_flags?: number;
66
+ compatible_flags?: number;
67
+ sequence: number;
68
+ system_id: number;
69
+ component_id: number;
70
+ message_id: number;
71
+ payload: Uint8Array;
72
+ checksum: number;
73
+ signature?: Uint8Array;
74
+ }
75
+ interface MessageDefinition {
76
+ id: number;
77
+ name: string;
78
+ fields: FieldDefinition[];
79
+ }
80
+ interface FieldDefinition {
81
+ name: string;
82
+ type: string;
83
+ arrayLength?: number;
84
+ extension?: boolean;
85
+ }
86
+ declare abstract class DialectParser {
87
+ protected messageDefinitions: Map<number, MessageDefinition>;
88
+ protected dialectName: string;
89
+ private buffer;
90
+ constructor(dialectName: string);
91
+ abstract loadDefinitions(): Promise<void>;
92
+ parseBytes(data: Uint8Array): ParsedMAVLinkMessage[];
93
+ private tryParseFrame;
94
+ resetBuffer(): void;
95
+ decode(frame: MAVLinkFrame & {
96
+ crc_ok?: boolean;
97
+ protocol_version?: 1 | 2;
98
+ }): ParsedMAVLinkMessage;
99
+ private decodePayload;
100
+ private getDefaultValue;
101
+ private decodeField;
102
+ private decodeSingleValue;
103
+ getMessageDefinition(id: number): MessageDefinition | undefined;
104
+ getSupportedMessageIds(): number[];
105
+ getDialectName(): string;
106
+ supportsMessage(messageId: number): boolean;
107
+ }
108
+ declare class TestParser extends DialectParser {
109
+ constructor();
110
+ loadDefinitions(): Promise<void>;
111
+ private loadDefinitionsSync;
112
+ }
113
+
114
+ export { TestParser, isTestTypes };
115
+ export type { AnyMessage, MessageTestTypes, MessageTypeMap, ParsedMAVLinkMessage$1 as ParsedMAVLinkMessage };
@@ -0,0 +1,409 @@
1
+ // @aircast-4g/mavlink - Dialect bundle
2
+ // Generated from TypeScript sources
3
+ // Auto-generated TypeScript message interfaces for test dialect
4
+ // Type guard functions
5
+ function isTestTypes(msg) {
6
+ return msg.message_name === 'TEST_TYPES';
7
+ }
8
+
9
+ // Auto-generated decoder and parser for test dialect
10
+ // Generated from MAVLink XML definitions
11
+ // Base dialect parser class
12
+ class DialectParser {
13
+ constructor(dialectName) {
14
+ this.messageDefinitions = new Map();
15
+ this.buffer = new Uint8Array(0);
16
+ this.dialectName = dialectName;
17
+ }
18
+ parseBytes(data) {
19
+ const results = [];
20
+ if (!data || data.length === 0) {
21
+ return results;
22
+ }
23
+ // Append new data to buffer
24
+ const newBuffer = new Uint8Array(this.buffer.length + data.length);
25
+ newBuffer.set(this.buffer);
26
+ newBuffer.set(data, this.buffer.length);
27
+ this.buffer = newBuffer;
28
+ let offset = 0;
29
+ // Parse MAVLink frames from buffer
30
+ while (offset < this.buffer.length) {
31
+ const frameResult = this.tryParseFrame(this.buffer.slice(offset));
32
+ if (frameResult.frame) {
33
+ const message = this.decode(frameResult.frame);
34
+ results.push(message);
35
+ offset += frameResult.bytesConsumed;
36
+ }
37
+ else if (frameResult.bytesConsumed > 0) {
38
+ // Skip invalid bytes
39
+ offset += frameResult.bytesConsumed;
40
+ }
41
+ else {
42
+ // Not enough data for a complete frame
43
+ break;
44
+ }
45
+ }
46
+ // Keep remaining data in buffer
47
+ this.buffer = this.buffer.slice(offset);
48
+ return results;
49
+ }
50
+ tryParseFrame(data) {
51
+ if (data.length < 8) {
52
+ return { bytesConsumed: 0 };
53
+ }
54
+ let offset = 0;
55
+ // Find magic byte
56
+ while (offset < data.length && data[offset] !== 0xFE && data[offset] !== 0xFD) {
57
+ offset++;
58
+ }
59
+ if (offset === data.length) {
60
+ return { bytesConsumed: data.length };
61
+ }
62
+ const magic = data[offset];
63
+ const isV2 = magic === 0xFD;
64
+ if (data.length - offset < (isV2 ? 12 : 8)) {
65
+ return { bytesConsumed: offset };
66
+ }
67
+ let frameOffset = offset;
68
+ const frame = { magic };
69
+ frameOffset++;
70
+ frame.length = data[frameOffset++];
71
+ if (isV2) {
72
+ frame.incompatible_flags = data[frameOffset++];
73
+ frame.compatible_flags = data[frameOffset++];
74
+ }
75
+ frame.sequence = data[frameOffset++];
76
+ frame.system_id = data[frameOffset++];
77
+ frame.component_id = data[frameOffset++];
78
+ frame.message_id = data[frameOffset++];
79
+ if (isV2 && data.length - frameOffset >= 2) {
80
+ frame.message_id |= (data[frameOffset++] << 8);
81
+ frame.message_id |= (data[frameOffset++] << 16);
82
+ }
83
+ const totalLength = frameOffset - offset + frame.length + 2; // +2 for checksum
84
+ if (data.length - offset < totalLength) {
85
+ return { bytesConsumed: offset };
86
+ }
87
+ frame.payload = data.slice(frameOffset, frameOffset + frame.length);
88
+ frameOffset += frame.length;
89
+ frame.checksum = data[frameOffset] | (data[frameOffset + 1] << 8);
90
+ frameOffset += 2;
91
+ // Handle signature for v2
92
+ if (isV2 && frame.incompatible_flags && (frame.incompatible_flags & 0x01)) {
93
+ if (data.length - frameOffset >= 13) {
94
+ frame.signature = data.slice(frameOffset, frameOffset + 13);
95
+ frameOffset += 13;
96
+ }
97
+ }
98
+ frame.crc_ok = true; // Simplified - not doing CRC validation
99
+ frame.protocol_version = isV2 ? 2 : 1;
100
+ return { frame, bytesConsumed: frameOffset - offset };
101
+ }
102
+ resetBuffer() {
103
+ this.buffer = new Uint8Array(0);
104
+ }
105
+ decode(frame) {
106
+ const messageDef = this.messageDefinitions.get(frame.message_id);
107
+ const protocolVersion = frame.protocol_version || (frame.magic === 0xFD ? 2 : 1);
108
+ if (!messageDef) {
109
+ return {
110
+ timestamp: Date.now(),
111
+ system_id: frame.system_id,
112
+ component_id: frame.component_id,
113
+ message_id: frame.message_id,
114
+ message_name: `UNKNOWN_${frame.message_id}`,
115
+ sequence: frame.sequence,
116
+ payload: {
117
+ raw_payload: Array.from(frame.payload)
118
+ },
119
+ protocol_version: protocolVersion,
120
+ checksum: frame.checksum,
121
+ crc_ok: frame.crc_ok !== false,
122
+ signature: frame.signature,
123
+ dialect: this.dialectName
124
+ };
125
+ }
126
+ const payload = this.decodePayload(frame.payload, messageDef.fields);
127
+ return {
128
+ timestamp: Date.now(),
129
+ system_id: frame.system_id,
130
+ component_id: frame.component_id,
131
+ message_id: frame.message_id,
132
+ message_name: messageDef.name,
133
+ sequence: frame.sequence,
134
+ payload,
135
+ protocol_version: protocolVersion,
136
+ checksum: frame.checksum,
137
+ crc_ok: frame.crc_ok !== false,
138
+ signature: frame.signature,
139
+ dialect: this.dialectName
140
+ };
141
+ }
142
+ decodePayload(payload, fields) {
143
+ const result = {};
144
+ const view = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);
145
+ let offset = 0;
146
+ for (const field of fields) {
147
+ if (offset >= payload.length) {
148
+ result[field.name] = this.getDefaultValue(field);
149
+ }
150
+ else {
151
+ const { value, bytesRead } = this.decodeField(view, offset, field);
152
+ result[field.name] = value;
153
+ offset += bytesRead;
154
+ }
155
+ }
156
+ return result;
157
+ }
158
+ getDefaultValue(field) {
159
+ const isArray = field.arrayLength !== undefined && field.arrayLength > 1;
160
+ if (isArray) {
161
+ return [];
162
+ }
163
+ switch (field.type) {
164
+ case 'uint8_t':
165
+ case 'int8_t':
166
+ case 'uint16_t':
167
+ case 'int16_t':
168
+ case 'uint32_t':
169
+ case 'int32_t':
170
+ case 'float':
171
+ case 'double':
172
+ return 0;
173
+ case 'uint64_t':
174
+ case 'int64_t':
175
+ return 0n;
176
+ case 'char':
177
+ return '\0';
178
+ default:
179
+ if (field.type.startsWith('char[') || field.type.includes('[]')) {
180
+ return '';
181
+ }
182
+ return 0;
183
+ }
184
+ }
185
+ decodeField(view, offset, field) {
186
+ const isArray = field.arrayLength !== undefined;
187
+ const arrayLength = field.arrayLength || 1;
188
+ if (isArray && arrayLength > 1) {
189
+ const values = [];
190
+ let totalBytes = 0;
191
+ // Strip array notation from type to avoid double processing
192
+ let baseType = field.type;
193
+ if (baseType.includes('[') && baseType.includes(']')) {
194
+ baseType = baseType.substring(0, baseType.indexOf('['));
195
+ }
196
+ for (let i = 0; i < arrayLength; i++) {
197
+ if (offset + totalBytes >= view.byteLength)
198
+ break;
199
+ const { value, bytesRead } = this.decodeSingleValue(view, offset + totalBytes, baseType);
200
+ values.push(value);
201
+ totalBytes += bytesRead;
202
+ }
203
+ return { value: values, bytesRead: totalBytes };
204
+ }
205
+ else {
206
+ return this.decodeSingleValue(view, offset, field.type);
207
+ }
208
+ }
209
+ decodeSingleValue(view, offset, type) {
210
+ try {
211
+ switch (type) {
212
+ case 'uint8_t':
213
+ return { value: view.getUint8(offset), bytesRead: 1 };
214
+ case 'int8_t':
215
+ return { value: view.getInt8(offset), bytesRead: 1 };
216
+ case 'uint16_t':
217
+ return { value: view.getUint16(offset, true), bytesRead: 2 };
218
+ case 'int16_t':
219
+ return { value: view.getInt16(offset, true), bytesRead: 2 };
220
+ case 'uint32_t':
221
+ return { value: view.getUint32(offset, true), bytesRead: 4 };
222
+ case 'int32_t':
223
+ return { value: view.getInt32(offset, true), bytesRead: 4 };
224
+ case 'uint64_t':
225
+ return { value: view.getBigUint64(offset, true), bytesRead: 8 };
226
+ case 'int64_t':
227
+ return { value: view.getBigInt64(offset, true), bytesRead: 8 };
228
+ case 'float':
229
+ return { value: view.getFloat32(offset, true), bytesRead: 4 };
230
+ case 'double':
231
+ return { value: view.getFloat64(offset, true), bytesRead: 8 };
232
+ case 'char': {
233
+ const charCode = view.getUint8(offset);
234
+ return { value: charCode === 0 ? '\0' : String.fromCharCode(charCode), bytesRead: 1 };
235
+ }
236
+ default:
237
+ if (type.startsWith('char[') && type.endsWith(']')) {
238
+ const length = parseInt(type.slice(5, -1));
239
+ const chars = [];
240
+ for (let i = 0; i < length && offset + i < view.byteLength; i++) {
241
+ const charCode = view.getUint8(offset + i);
242
+ if (charCode === 0)
243
+ break;
244
+ chars.push(String.fromCharCode(charCode));
245
+ }
246
+ return { value: chars.join(''), bytesRead: length };
247
+ }
248
+ else if (type.includes('[') && type.includes(']')) {
249
+ const baseType = type.substring(0, type.indexOf('['));
250
+ const arrayLength = parseInt(type.substring(type.indexOf('[') + 1, type.indexOf(']')));
251
+ const values = [];
252
+ let totalBytes = 0;
253
+ for (let i = 0; i < arrayLength; i++) {
254
+ if (offset + totalBytes >= view.byteLength)
255
+ break;
256
+ const { value, bytesRead } = this.decodeSingleValue(view, offset + totalBytes, baseType);
257
+ values.push(value);
258
+ totalBytes += bytesRead;
259
+ }
260
+ return { value: values, bytesRead: totalBytes };
261
+ }
262
+ return { value: view.getUint8(offset), bytesRead: 1 };
263
+ }
264
+ }
265
+ catch (error) {
266
+ return { value: 0, bytesRead: 1 };
267
+ }
268
+ }
269
+ getMessageDefinition(id) {
270
+ return this.messageDefinitions.get(id);
271
+ }
272
+ getSupportedMessageIds() {
273
+ return Array.from(this.messageDefinitions.keys()).sort((a, b) => a - b);
274
+ }
275
+ getDialectName() {
276
+ return this.dialectName;
277
+ }
278
+ supportsMessage(messageId) {
279
+ return this.messageDefinitions.has(messageId);
280
+ }
281
+ }
282
+ const MESSAGE_DEFINITIONS = [
283
+ {
284
+ id: 17000,
285
+ name: 'TEST_TYPES',
286
+ fields: [
287
+ {
288
+ name: 'c',
289
+ type: 'char',
290
+ },
291
+ {
292
+ name: 's',
293
+ type: 'char[10]',
294
+ arrayLength: 10,
295
+ },
296
+ {
297
+ name: 'u8',
298
+ type: 'uint8_t',
299
+ },
300
+ {
301
+ name: 'u16',
302
+ type: 'uint16_t',
303
+ },
304
+ {
305
+ name: 'u32',
306
+ type: 'uint32_t',
307
+ },
308
+ {
309
+ name: 'u64',
310
+ type: 'uint64_t',
311
+ },
312
+ {
313
+ name: 's8',
314
+ type: 'int8_t',
315
+ },
316
+ {
317
+ name: 's16',
318
+ type: 'int16_t',
319
+ },
320
+ {
321
+ name: 's32',
322
+ type: 'int32_t',
323
+ },
324
+ {
325
+ name: 's64',
326
+ type: 'int64_t',
327
+ },
328
+ {
329
+ name: 'f',
330
+ type: 'float',
331
+ },
332
+ {
333
+ name: 'd',
334
+ type: 'double',
335
+ },
336
+ {
337
+ name: 'u8Array',
338
+ type: 'uint8_t[3]',
339
+ arrayLength: 3,
340
+ },
341
+ {
342
+ name: 'u16Array',
343
+ type: 'uint16_t[3]',
344
+ arrayLength: 3,
345
+ },
346
+ {
347
+ name: 'u32Array',
348
+ type: 'uint32_t[3]',
349
+ arrayLength: 3,
350
+ },
351
+ {
352
+ name: 'u64Array',
353
+ type: 'uint64_t[3]',
354
+ arrayLength: 3,
355
+ },
356
+ {
357
+ name: 's8Array',
358
+ type: 'int8_t[3]',
359
+ arrayLength: 3,
360
+ },
361
+ {
362
+ name: 's16Array',
363
+ type: 'int16_t[3]',
364
+ arrayLength: 3,
365
+ },
366
+ {
367
+ name: 's32Array',
368
+ type: 'int32_t[3]',
369
+ arrayLength: 3,
370
+ },
371
+ {
372
+ name: 's64Array',
373
+ type: 'int64_t[3]',
374
+ arrayLength: 3,
375
+ },
376
+ {
377
+ name: 'fArray',
378
+ type: 'float[3]',
379
+ arrayLength: 3,
380
+ },
381
+ {
382
+ name: 'dArray',
383
+ type: 'double[3]',
384
+ arrayLength: 3,
385
+ },
386
+ ]
387
+ },
388
+ ];
389
+ class TestParser extends DialectParser {
390
+ constructor() {
391
+ super('test');
392
+ this.loadDefinitionsSync();
393
+ }
394
+ async loadDefinitions() {
395
+ this.messageDefinitions.clear();
396
+ for (const def of MESSAGE_DEFINITIONS) {
397
+ this.messageDefinitions.set(def.id, def);
398
+ }
399
+ }
400
+ loadDefinitionsSync() {
401
+ this.messageDefinitions.clear();
402
+ for (const def of MESSAGE_DEFINITIONS) {
403
+ this.messageDefinitions.set(def.id, def);
404
+ }
405
+ }
406
+ }
407
+
408
+ export { TestParser, isTestTypes };
409
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/generated/dialects/test/messages.ts","../../../src/generated/dialects/test/decoder.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}