@aircast-4g/mavlink 1.1.5 → 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.
@@ -1,9 +1,16 @@
1
- interface MAVLinkMessage<Content = unknown> {
1
+ interface ParsedMAVLinkMessage$1 {
2
2
  timestamp: number;
3
3
  system_id: number;
4
4
  component_id: number;
5
- type: string;
6
- payload: Content;
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;
7
14
  }
8
15
 
9
16
  interface MessageTestTypes {
@@ -33,9 +40,38 @@ interface MessageTestTypes {
33
40
  interface MessageTypeMap {
34
41
  TEST_TYPES: MessageTestTypes;
35
42
  }
36
- type AnyMessage = MAVLinkMessage<MessageTestTypes>;
37
- declare function isTestTypes(msg: MAVLinkMessage): msg is MAVLinkMessage<MessageTestTypes>;
43
+ type AnyMessage = ParsedMAVLinkMessage$1;
44
+ declare function isTestTypes(msg: ParsedMAVLinkMessage$1): msg is ParsedMAVLinkMessage$1 & {
45
+ payload: MessageTestTypes;
46
+ };
38
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
+ }
39
75
  interface MessageDefinition {
40
76
  id: number;
41
77
  name: string;
@@ -47,7 +83,33 @@ interface FieldDefinition {
47
83
  arrayLength?: number;
48
84
  extension?: boolean;
49
85
  }
50
- declare const TEST_MESSAGE_DEFINITIONS: MessageDefinition[];
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
+ }
51
113
 
52
- export { TEST_MESSAGE_DEFINITIONS, isTestTypes };
53
- export type { AnyMessage, MAVLinkMessage, MessageTestTypes, MessageTypeMap };
114
+ export { TestParser, isTestTypes };
115
+ export type { AnyMessage, MessageTestTypes, MessageTypeMap, ParsedMAVLinkMessage$1 as ParsedMAVLinkMessage };
@@ -3,12 +3,283 @@
3
3
  // Auto-generated TypeScript message interfaces for test dialect
4
4
  // Type guard functions
5
5
  function isTestTypes(msg) {
6
- return msg.type === 'TEST_TYPES';
6
+ return msg.message_name === 'TEST_TYPES';
7
7
  }
8
8
 
9
- // Auto-generated decoder definitions for test dialect
9
+ // Auto-generated decoder and parser for test dialect
10
10
  // Generated from MAVLink XML definitions
11
- const TEST_MESSAGE_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 = [
12
283
  {
13
284
  id: 17000,
14
285
  name: 'TEST_TYPES',
@@ -19,7 +290,7 @@ const TEST_MESSAGE_DEFINITIONS = [
19
290
  },
20
291
  {
21
292
  name: 's',
22
- type: 'char',
293
+ type: 'char[10]',
23
294
  arrayLength: 10,
24
295
  },
25
296
  {
@@ -63,58 +334,76 @@ const TEST_MESSAGE_DEFINITIONS = [
63
334
  type: 'double',
64
335
  },
65
336
  {
66
- name: 'u8_array',
67
- type: 'uint8_t',
337
+ name: 'u8Array',
338
+ type: 'uint8_t[3]',
68
339
  arrayLength: 3,
69
340
  },
70
341
  {
71
- name: 'u16_array',
72
- type: 'uint16_t',
342
+ name: 'u16Array',
343
+ type: 'uint16_t[3]',
73
344
  arrayLength: 3,
74
345
  },
75
346
  {
76
- name: 'u32_array',
77
- type: 'uint32_t',
347
+ name: 'u32Array',
348
+ type: 'uint32_t[3]',
78
349
  arrayLength: 3,
79
350
  },
80
351
  {
81
- name: 'u64_array',
82
- type: 'uint64_t',
352
+ name: 'u64Array',
353
+ type: 'uint64_t[3]',
83
354
  arrayLength: 3,
84
355
  },
85
356
  {
86
- name: 's8_array',
87
- type: 'int8_t',
357
+ name: 's8Array',
358
+ type: 'int8_t[3]',
88
359
  arrayLength: 3,
89
360
  },
90
361
  {
91
- name: 's16_array',
92
- type: 'int16_t',
362
+ name: 's16Array',
363
+ type: 'int16_t[3]',
93
364
  arrayLength: 3,
94
365
  },
95
366
  {
96
- name: 's32_array',
97
- type: 'int32_t',
367
+ name: 's32Array',
368
+ type: 'int32_t[3]',
98
369
  arrayLength: 3,
99
370
  },
100
371
  {
101
- name: 's64_array',
102
- type: 'int64_t',
372
+ name: 's64Array',
373
+ type: 'int64_t[3]',
103
374
  arrayLength: 3,
104
375
  },
105
376
  {
106
- name: 'f_array',
107
- type: 'float',
377
+ name: 'fArray',
378
+ type: 'float[3]',
108
379
  arrayLength: 3,
109
380
  },
110
381
  {
111
- name: 'd_array',
112
- type: 'double',
382
+ name: 'dArray',
383
+ type: 'double[3]',
113
384
  arrayLength: 3,
114
385
  },
115
386
  ]
116
387
  },
117
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
+ }
118
407
 
119
- export { TEST_MESSAGE_DEFINITIONS, isTestTypes };
408
+ export { TestParser, isTestTypes };
120
409
  //# sourceMappingURL=index.js.map
@@ -1 +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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"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aircast-4g/mavlink",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "description": "TypeScript type generator for MAVLink dialects",
5
5
  "main": "dist/mavlink.cjs.js",
6
6
  "module": "dist/mavlink.esm.js",