@aircast-4g/mavlink 1.1.7 → 1.1.8
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/dist/dialects/ardupilotmega/index.d.ts +1365 -1340
- package/dist/dialects/ardupilotmega/index.js +2087 -1344
- package/dist/dialects/ardupilotmega/index.js.map +1 -1
- package/dist/dialects/common/index.d.ts +1117 -1092
- package/dist/dialects/common/index.js +1749 -1096
- package/dist/dialects/common/index.js.map +1 -1
- package/dist/dialects/minimal/index.d.ts +34 -9
- package/dist/dialects/minimal/index.js +439 -13
- package/dist/dialects/minimal/index.js.map +1 -1
- package/dist/dialects/paparazzi/index.d.ts +1125 -1100
- package/dist/dialects/paparazzi/index.js +1762 -1104
- package/dist/dialects/paparazzi/index.js.map +1 -1
- package/dist/dialects/python_array_test/index.d.ts +1144 -1119
- package/dist/dialects/python_array_test/index.js +1784 -1123
- package/dist/dialects/python_array_test/index.js.map +1 -1
- package/dist/dialects/standard/index.d.ts +39 -14
- package/dist/dialects/standard/index.js +444 -18
- package/dist/dialects/standard/index.js.map +1 -1
- package/dist/dialects/test/index.d.ts +36 -11
- package/dist/dialects/test/index.js +440 -15
- package/dist/dialects/test/index.js.map +1 -1
- package/package.json +11 -3
|
@@ -8,6 +8,34 @@ function isTestTypes(msg) {
|
|
|
8
8
|
|
|
9
9
|
// Auto-generated decoder and parser for test dialect
|
|
10
10
|
// Generated from MAVLink XML definitions
|
|
11
|
+
// Embedded MAVLink CRC implementation
|
|
12
|
+
const CRC_EXTRA = {
|
|
13
|
+
17000: 0
|
|
14
|
+
};
|
|
15
|
+
class MAVLinkCRC {
|
|
16
|
+
static calculate(data, crcExtra) {
|
|
17
|
+
let crc = 0xffff;
|
|
18
|
+
// Process all message bytes using MCRF4XX algorithm
|
|
19
|
+
for (let i = 0; i < data.length; i++) {
|
|
20
|
+
let tmp = data[i] ^ (crc & 0xff);
|
|
21
|
+
tmp = (tmp ^ (tmp << 4)) & 0xff;
|
|
22
|
+
crc = ((crc >> 8) ^ (tmp << 8) ^ (tmp << 3) ^ (tmp >> 4)) & 0xffff;
|
|
23
|
+
}
|
|
24
|
+
// Add CRC_EXTRA byte using the same algorithm
|
|
25
|
+
let tmp = crcExtra ^ (crc & 0xff);
|
|
26
|
+
tmp = (tmp ^ (tmp << 4)) & 0xff;
|
|
27
|
+
crc = ((crc >> 8) ^ (tmp << 8) ^ (tmp << 3) ^ (tmp >> 4)) & 0xffff;
|
|
28
|
+
return crc;
|
|
29
|
+
}
|
|
30
|
+
static validate(data, messageId, receivedChecksum) {
|
|
31
|
+
const crcExtra = CRC_EXTRA[messageId];
|
|
32
|
+
if (crcExtra === undefined) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
const calculatedChecksum = this.calculate(data, crcExtra);
|
|
36
|
+
return calculatedChecksum === receivedChecksum;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
11
39
|
// Base dialect parser class
|
|
12
40
|
class DialectParser {
|
|
13
41
|
constructor(dialectName) {
|
|
@@ -95,7 +123,9 @@ class DialectParser {
|
|
|
95
123
|
frameOffset += 13;
|
|
96
124
|
}
|
|
97
125
|
}
|
|
98
|
-
|
|
126
|
+
// Validate CRC using proper MAVLink algorithm
|
|
127
|
+
const headerAndPayload = data.slice(offset + 1, offset + frameOffset - offset - 2);
|
|
128
|
+
frame.crc_ok = MAVLinkCRC.validate(headerAndPayload, frame.message_id, frame.checksum);
|
|
99
129
|
frame.protocol_version = isV2 ? 2 : 1;
|
|
100
130
|
return { frame: frame, bytesConsumed: frameOffset - offset };
|
|
101
131
|
}
|
|
@@ -186,13 +216,30 @@ class DialectParser {
|
|
|
186
216
|
const isArray = field.arrayLength !== undefined;
|
|
187
217
|
const arrayLength = field.arrayLength || 1;
|
|
188
218
|
if (isArray && arrayLength > 1) {
|
|
189
|
-
const values = [];
|
|
190
|
-
let totalBytes = 0;
|
|
191
219
|
// Strip array notation from type to avoid double processing
|
|
192
220
|
let baseType = field.type;
|
|
193
221
|
if (baseType.includes('[') && baseType.includes(']')) {
|
|
194
222
|
baseType = baseType.substring(0, baseType.indexOf('['));
|
|
195
223
|
}
|
|
224
|
+
// Special handling for char arrays - return as string
|
|
225
|
+
if (baseType === 'char') {
|
|
226
|
+
const chars = [];
|
|
227
|
+
let totalBytes = 0;
|
|
228
|
+
for (let i = 0; i < arrayLength; i++) {
|
|
229
|
+
if (offset + totalBytes >= view.byteLength)
|
|
230
|
+
break;
|
|
231
|
+
const charCode = view.getUint8(offset + totalBytes);
|
|
232
|
+
if (charCode === 0)
|
|
233
|
+
break; // Null terminator
|
|
234
|
+
chars.push(String.fromCharCode(charCode));
|
|
235
|
+
totalBytes += 1;
|
|
236
|
+
}
|
|
237
|
+
// Return string value and total bytes for the array
|
|
238
|
+
return { value: chars.join(''), bytesRead: arrayLength }; // Always consume full array size
|
|
239
|
+
}
|
|
240
|
+
// Handle other array types
|
|
241
|
+
const values = [];
|
|
242
|
+
let totalBytes = 0;
|
|
196
243
|
for (let i = 0; i < arrayLength; i++) {
|
|
197
244
|
if (offset + totalBytes >= view.byteLength)
|
|
198
245
|
break;
|
|
@@ -216,7 +263,7 @@ class DialectParser {
|
|
|
216
263
|
case 'int8_t':
|
|
217
264
|
return { value: view.getInt8(offset), bytesRead: 1 };
|
|
218
265
|
case 'uint16_t':
|
|
219
|
-
return { value: view.getUint16(offset,
|
|
266
|
+
return { value: view.getUint16(offset, false), bytesRead: 2 };
|
|
220
267
|
case 'int16_t':
|
|
221
268
|
return { value: view.getInt16(offset, true), bytesRead: 2 };
|
|
222
269
|
case 'uint32_t':
|
|
@@ -282,6 +329,347 @@ class DialectParser {
|
|
|
282
329
|
supportsMessage(messageId) {
|
|
283
330
|
return this.messageDefinitions.has(messageId);
|
|
284
331
|
}
|
|
332
|
+
// Serialization methods for outgoing commands
|
|
333
|
+
serializeMessage(message) {
|
|
334
|
+
const messageDef = Array.from(this.messageDefinitions.values())
|
|
335
|
+
.find(def => def.name === message.message_name);
|
|
336
|
+
if (!messageDef) {
|
|
337
|
+
throw new Error(`Unknown message type: ${message.message_name}`);
|
|
338
|
+
}
|
|
339
|
+
// Extract fields from either flat structure or payload structure
|
|
340
|
+
const messageFields = this.extractMessageFields(message, messageDef.fields);
|
|
341
|
+
// Complete the message with all defined fields (including extension fields with defaults)
|
|
342
|
+
const completeMessage = this.completeMessageWithDefaults(messageFields, messageDef.fields);
|
|
343
|
+
const payload = this.serializePayload(completeMessage, messageDef.fields);
|
|
344
|
+
return this.createMAVLinkFrame(message, messageDef.id, payload);
|
|
345
|
+
}
|
|
346
|
+
// Extract message fields from payload structure (payload format required)
|
|
347
|
+
extractMessageFields(message, fieldDefinitions) {
|
|
348
|
+
// Require payload structure
|
|
349
|
+
if (!message.payload || typeof message.payload !== 'object') {
|
|
350
|
+
throw new Error(`Message must have a 'payload' object containing the message fields. Expected format: { message_name: '...', system_id: 1, component_id: 1, sequence: 0, payload: { ...fields } }`);
|
|
351
|
+
}
|
|
352
|
+
return message.payload;
|
|
353
|
+
}
|
|
354
|
+
// Helper method to complete message with all defined fields
|
|
355
|
+
completeMessageWithDefaults(message, fields) {
|
|
356
|
+
const completeMessage = { ...message };
|
|
357
|
+
for (const field of fields) {
|
|
358
|
+
if (completeMessage[field.name] === undefined) {
|
|
359
|
+
completeMessage[field.name] = this.getDefaultValueForField(field);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
return completeMessage;
|
|
363
|
+
}
|
|
364
|
+
// Get default value for a field based on its definition
|
|
365
|
+
getDefaultValueForField(field) {
|
|
366
|
+
const isArray = field.arrayLength !== undefined && field.arrayLength > 1;
|
|
367
|
+
if (isArray) {
|
|
368
|
+
return [];
|
|
369
|
+
}
|
|
370
|
+
let baseType = field.type;
|
|
371
|
+
if (baseType.includes('[') && baseType.includes(']')) {
|
|
372
|
+
baseType = baseType.substring(0, baseType.indexOf('['));
|
|
373
|
+
}
|
|
374
|
+
switch (baseType) {
|
|
375
|
+
case 'uint8_t':
|
|
376
|
+
case 'int8_t':
|
|
377
|
+
case 'uint16_t':
|
|
378
|
+
case 'int16_t':
|
|
379
|
+
case 'uint32_t':
|
|
380
|
+
case 'int32_t':
|
|
381
|
+
case 'float':
|
|
382
|
+
case 'double':
|
|
383
|
+
return 0;
|
|
384
|
+
case 'uint64_t':
|
|
385
|
+
case 'int64_t':
|
|
386
|
+
return 0n;
|
|
387
|
+
case 'char':
|
|
388
|
+
return field.type.includes('[') ? '' : '\0';
|
|
389
|
+
default:
|
|
390
|
+
return 0;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
serializePayload(message, fields) {
|
|
394
|
+
// Calculate total payload size
|
|
395
|
+
let totalSize = 0;
|
|
396
|
+
for (const field of fields) {
|
|
397
|
+
totalSize += this.getFieldSize(field);
|
|
398
|
+
}
|
|
399
|
+
const buffer = new ArrayBuffer(totalSize);
|
|
400
|
+
const view = new DataView(buffer);
|
|
401
|
+
let offset = 0;
|
|
402
|
+
for (const field of fields) {
|
|
403
|
+
const value = message[field.name];
|
|
404
|
+
const bytesWritten = this.serializeField(view, offset, field, value);
|
|
405
|
+
offset += bytesWritten;
|
|
406
|
+
}
|
|
407
|
+
// Implement MAVLink payload trimming: remove trailing zero bytes from extension fields only
|
|
408
|
+
// This is required for proper handling of extension fields
|
|
409
|
+
const fullPayload = new Uint8Array(buffer);
|
|
410
|
+
// Calculate minimum payload size (core fields only)
|
|
411
|
+
let corePayloadSize = 0;
|
|
412
|
+
let extensionStartOffset = 0;
|
|
413
|
+
let hasExtensions = false;
|
|
414
|
+
message.message_name;
|
|
415
|
+
for (const field of fields) {
|
|
416
|
+
const fieldSize = this.getFieldSize(field);
|
|
417
|
+
// Check if this is an extension field using proper XML-based detection
|
|
418
|
+
const isExtensionField = field.extension === true;
|
|
419
|
+
if (isExtensionField) {
|
|
420
|
+
if (!hasExtensions) {
|
|
421
|
+
extensionStartOffset = corePayloadSize;
|
|
422
|
+
hasExtensions = true;
|
|
423
|
+
}
|
|
424
|
+
// Don't add extension field sizes to core payload size
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
// This is a core field - always add to core payload size
|
|
428
|
+
corePayloadSize += fieldSize;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
// If there are no extension fields, don't trim at all
|
|
432
|
+
if (!hasExtensions) {
|
|
433
|
+
return fullPayload;
|
|
434
|
+
}
|
|
435
|
+
// Find the last non-zero byte in extension fields only
|
|
436
|
+
let trimmedLength = fullPayload.length;
|
|
437
|
+
// If we have extensions, check if they contain any non-zero bytes
|
|
438
|
+
if (hasExtensions && extensionStartOffset < fullPayload.length) {
|
|
439
|
+
// Look for non-zero bytes in the extension section
|
|
440
|
+
let hasNonZeroExtensions = false;
|
|
441
|
+
for (let i = extensionStartOffset; i < fullPayload.length; i++) {
|
|
442
|
+
if (fullPayload[i] !== 0) {
|
|
443
|
+
hasNonZeroExtensions = true;
|
|
444
|
+
break;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
if (!hasNonZeroExtensions) {
|
|
448
|
+
// All extension fields are zero, trim them all
|
|
449
|
+
trimmedLength = corePayloadSize;
|
|
450
|
+
}
|
|
451
|
+
else {
|
|
452
|
+
// Find the last non-zero byte in extension fields
|
|
453
|
+
for (let i = fullPayload.length - 1; i >= extensionStartOffset; i--) {
|
|
454
|
+
if (fullPayload[i] !== 0) {
|
|
455
|
+
trimmedLength = i + 1;
|
|
456
|
+
break;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
// Never trim below the core payload size
|
|
462
|
+
if (trimmedLength < corePayloadSize) {
|
|
463
|
+
trimmedLength = corePayloadSize;
|
|
464
|
+
}
|
|
465
|
+
// Return trimmed payload if it's shorter than the original
|
|
466
|
+
if (trimmedLength < fullPayload.length) {
|
|
467
|
+
return fullPayload.slice(0, trimmedLength);
|
|
468
|
+
}
|
|
469
|
+
return fullPayload;
|
|
470
|
+
}
|
|
471
|
+
serializeField(view, offset, field, value) {
|
|
472
|
+
const isArray = field.arrayLength !== undefined;
|
|
473
|
+
const arrayLength = field.arrayLength || 1;
|
|
474
|
+
if (isArray && arrayLength > 1) {
|
|
475
|
+
let totalBytes = 0;
|
|
476
|
+
let baseType = field.type;
|
|
477
|
+
if (baseType.includes('[') && baseType.includes(']')) {
|
|
478
|
+
baseType = baseType.substring(0, baseType.indexOf('['));
|
|
479
|
+
}
|
|
480
|
+
// Special handling for char arrays - treat string as char array
|
|
481
|
+
if (baseType === 'char' && typeof value === 'string') {
|
|
482
|
+
const str = value;
|
|
483
|
+
for (let i = 0; i < arrayLength; i++) {
|
|
484
|
+
const charCode = i < str.length ? str.charCodeAt(i) : 0;
|
|
485
|
+
view.setUint8(offset + totalBytes, charCode);
|
|
486
|
+
totalBytes += 1;
|
|
487
|
+
}
|
|
488
|
+
return totalBytes;
|
|
489
|
+
}
|
|
490
|
+
// Handle other array types
|
|
491
|
+
const arrayValue = Array.isArray(value) ? value : [value];
|
|
492
|
+
for (let i = 0; i < arrayLength; i++) {
|
|
493
|
+
const itemValue = i < arrayValue.length ? arrayValue[i] : this.getDefaultValueForType(baseType);
|
|
494
|
+
const bytesWritten = this.serializeSingleValue(view, offset + totalBytes, baseType, itemValue);
|
|
495
|
+
totalBytes += bytesWritten;
|
|
496
|
+
}
|
|
497
|
+
return totalBytes;
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
return this.serializeSingleValue(view, offset, field.type, value);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
serializeSingleValue(view, offset, type, value) {
|
|
504
|
+
const actualValue = value ?? this.getDefaultValueForType(type);
|
|
505
|
+
switch (type) {
|
|
506
|
+
case 'uint8_t':
|
|
507
|
+
view.setUint8(offset, Number(actualValue));
|
|
508
|
+
return 1;
|
|
509
|
+
case 'int8_t':
|
|
510
|
+
view.setInt8(offset, Number(actualValue));
|
|
511
|
+
return 1;
|
|
512
|
+
case 'uint16_t':
|
|
513
|
+
view.setUint16(offset, Number(actualValue), false);
|
|
514
|
+
return 2;
|
|
515
|
+
case 'int16_t':
|
|
516
|
+
view.setInt16(offset, Number(actualValue), true);
|
|
517
|
+
return 2;
|
|
518
|
+
case 'uint32_t':
|
|
519
|
+
view.setUint32(offset, Number(actualValue), true);
|
|
520
|
+
return 4;
|
|
521
|
+
case 'int32_t':
|
|
522
|
+
view.setInt32(offset, Number(actualValue), true);
|
|
523
|
+
return 4;
|
|
524
|
+
case 'uint64_t':
|
|
525
|
+
view.setBigUint64(offset, typeof actualValue === 'bigint' ? actualValue : BigInt(Number(actualValue) || 0), true);
|
|
526
|
+
return 8;
|
|
527
|
+
case 'int64_t':
|
|
528
|
+
view.setBigInt64(offset, typeof actualValue === 'bigint' ? actualValue : BigInt(Number(actualValue) || 0), true);
|
|
529
|
+
return 8;
|
|
530
|
+
case 'float':
|
|
531
|
+
view.setFloat32(offset, Number(actualValue), true);
|
|
532
|
+
return 4;
|
|
533
|
+
case 'double':
|
|
534
|
+
view.setFloat64(offset, Number(actualValue), true);
|
|
535
|
+
return 8;
|
|
536
|
+
case 'char':
|
|
537
|
+
view.setUint8(offset, typeof actualValue === 'string' ? actualValue.charCodeAt(0) : Number(actualValue));
|
|
538
|
+
return 1;
|
|
539
|
+
default:
|
|
540
|
+
if (type.startsWith('char[') && type.endsWith(']')) {
|
|
541
|
+
const length = parseInt(type.slice(5, -1));
|
|
542
|
+
const str = String(actualValue);
|
|
543
|
+
for (let i = 0; i < length; i++) {
|
|
544
|
+
const charCode = i < str.length ? str.charCodeAt(i) : 0;
|
|
545
|
+
view.setUint8(offset + i, charCode);
|
|
546
|
+
}
|
|
547
|
+
return length;
|
|
548
|
+
}
|
|
549
|
+
view.setUint8(offset, Number(actualValue));
|
|
550
|
+
return 1;
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
getFieldSize(field) {
|
|
554
|
+
if (typeof field === 'string') {
|
|
555
|
+
// Legacy support for type string
|
|
556
|
+
if (field.includes('[') && field.includes(']')) {
|
|
557
|
+
const baseType = field.substring(0, field.indexOf('['));
|
|
558
|
+
const arrayLength = parseInt(field.substring(field.indexOf('[') + 1, field.indexOf(']')));
|
|
559
|
+
return this.getSingleFieldSize(baseType) * arrayLength;
|
|
560
|
+
}
|
|
561
|
+
return this.getSingleFieldSize(field);
|
|
562
|
+
}
|
|
563
|
+
// Handle FieldDefinition object
|
|
564
|
+
const type = field.type;
|
|
565
|
+
const arrayLength = field.arrayLength;
|
|
566
|
+
if (arrayLength && arrayLength > 1) {
|
|
567
|
+
return this.getSingleFieldSize(type) * arrayLength;
|
|
568
|
+
}
|
|
569
|
+
if (type.includes('[') && type.includes(']')) {
|
|
570
|
+
const baseType = type.substring(0, type.indexOf('['));
|
|
571
|
+
const parsedArrayLength = parseInt(type.substring(type.indexOf('[') + 1, type.indexOf(']')));
|
|
572
|
+
return this.getSingleFieldSize(baseType) * parsedArrayLength;
|
|
573
|
+
}
|
|
574
|
+
return this.getSingleFieldSize(type);
|
|
575
|
+
}
|
|
576
|
+
getSingleFieldSize(type) {
|
|
577
|
+
switch (type) {
|
|
578
|
+
case 'uint8_t':
|
|
579
|
+
case 'int8_t':
|
|
580
|
+
case 'char':
|
|
581
|
+
return 1;
|
|
582
|
+
case 'uint16_t':
|
|
583
|
+
case 'int16_t':
|
|
584
|
+
return 2;
|
|
585
|
+
case 'uint32_t':
|
|
586
|
+
case 'int32_t':
|
|
587
|
+
case 'float':
|
|
588
|
+
return 4;
|
|
589
|
+
case 'uint64_t':
|
|
590
|
+
case 'int64_t':
|
|
591
|
+
case 'double':
|
|
592
|
+
return 8;
|
|
593
|
+
default:
|
|
594
|
+
return 1;
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
getDefaultValueForType(type) {
|
|
598
|
+
switch (type) {
|
|
599
|
+
case 'uint8_t':
|
|
600
|
+
case 'int8_t':
|
|
601
|
+
case 'uint16_t':
|
|
602
|
+
case 'int16_t':
|
|
603
|
+
case 'uint32_t':
|
|
604
|
+
case 'int32_t':
|
|
605
|
+
case 'float':
|
|
606
|
+
case 'double':
|
|
607
|
+
return 0;
|
|
608
|
+
case 'uint64_t':
|
|
609
|
+
case 'int64_t':
|
|
610
|
+
return 0n;
|
|
611
|
+
case 'char':
|
|
612
|
+
return 0;
|
|
613
|
+
default:
|
|
614
|
+
return 0;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
createMAVLinkFrame(message, messageId, payload) {
|
|
618
|
+
const systemId = typeof message.system_id === 'number' ? message.system_id : 1;
|
|
619
|
+
const componentId = typeof message.component_id === 'number' ? message.component_id : 1;
|
|
620
|
+
const sequence = typeof message.sequence === 'number' ? message.sequence : 0;
|
|
621
|
+
// Automatically determine protocol version based on message requirements
|
|
622
|
+
const needsV2 = messageId > 255; // v1 only supports 8-bit message IDs (0-255)
|
|
623
|
+
const userSpecifiedVersion = typeof message.protocol_version === 'number' ? message.protocol_version : null;
|
|
624
|
+
// Use user-specified version if provided, otherwise auto-detect
|
|
625
|
+
const protocolVersion = userSpecifiedVersion !== null ? userSpecifiedVersion : (needsV2 ? 2 : 1);
|
|
626
|
+
const isV2 = protocolVersion === 2;
|
|
627
|
+
const magic = isV2 ? 0xFD : 0xFE;
|
|
628
|
+
// Calculate frame size based on protocol version
|
|
629
|
+
const headerSize = isV2 ? 10 : 6; // v2 has extra fields
|
|
630
|
+
const frameSize = headerSize + payload.length + 2;
|
|
631
|
+
const buffer = new ArrayBuffer(frameSize);
|
|
632
|
+
const view = new DataView(buffer);
|
|
633
|
+
let offset = 0;
|
|
634
|
+
// Header
|
|
635
|
+
view.setUint8(offset++, magic);
|
|
636
|
+
view.setUint8(offset++, payload.length);
|
|
637
|
+
if (isV2) {
|
|
638
|
+
// MAVLink v2: magic(1) + len(1) + incompat_flags(1) + compat_flags(1) + seq(1) + sysid(1) + compid(1) + msgid(3) + payload + checksum(2)
|
|
639
|
+
view.setUint8(offset++, 0); // incompat_flags
|
|
640
|
+
view.setUint8(offset++, 0); // compat_flags
|
|
641
|
+
view.setUint8(offset++, sequence);
|
|
642
|
+
view.setUint8(offset++, systemId);
|
|
643
|
+
view.setUint8(offset++, componentId);
|
|
644
|
+
// 24-bit message ID in v2
|
|
645
|
+
view.setUint8(offset++, messageId & 0xFF);
|
|
646
|
+
view.setUint8(offset++, (messageId >> 8) & 0xFF);
|
|
647
|
+
view.setUint8(offset++, (messageId >> 16) & 0xFF);
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
// MAVLink v1: magic(1) + len(1) + seq(1) + sysid(1) + compid(1) + msgid(1) + payload + checksum(2)
|
|
651
|
+
view.setUint8(offset++, sequence);
|
|
652
|
+
view.setUint8(offset++, systemId);
|
|
653
|
+
view.setUint8(offset++, componentId);
|
|
654
|
+
view.setUint8(offset++, messageId & 0xFF); // 8-bit message ID in v1
|
|
655
|
+
}
|
|
656
|
+
// Payload
|
|
657
|
+
const payloadView = new Uint8Array(buffer, offset, payload.length);
|
|
658
|
+
payloadView.set(payload);
|
|
659
|
+
offset += payload.length;
|
|
660
|
+
// Calculate proper MAVLink CRC with CRC_EXTRA
|
|
661
|
+
const crcExtra = CRC_EXTRA[messageId];
|
|
662
|
+
if (crcExtra === undefined) {
|
|
663
|
+
throw new Error("No CRC_EXTRA defined for message ID " + messageId);
|
|
664
|
+
}
|
|
665
|
+
// Get message data (exclude start byte and checksum)
|
|
666
|
+
const messageData = new Uint8Array(buffer, 1, offset - 1);
|
|
667
|
+
const checksum = MAVLinkCRC.calculate(messageData, crcExtra);
|
|
668
|
+
// Checksum (little endian)
|
|
669
|
+
view.setUint8(offset++, checksum & 0xFF);
|
|
670
|
+
view.setUint8(offset++, (checksum >> 8) & 0xFF);
|
|
671
|
+
return new Uint8Array(buffer);
|
|
672
|
+
}
|
|
285
673
|
}
|
|
286
674
|
const MESSAGE_DEFINITIONS = [
|
|
287
675
|
{
|
|
@@ -338,52 +726,52 @@ const MESSAGE_DEFINITIONS = [
|
|
|
338
726
|
type: 'double',
|
|
339
727
|
},
|
|
340
728
|
{
|
|
341
|
-
name: '
|
|
729
|
+
name: 'u8_array',
|
|
342
730
|
type: 'uint8_t',
|
|
343
731
|
arrayLength: 3,
|
|
344
732
|
},
|
|
345
733
|
{
|
|
346
|
-
name: '
|
|
734
|
+
name: 'u16_array',
|
|
347
735
|
type: 'uint16_t',
|
|
348
736
|
arrayLength: 3,
|
|
349
737
|
},
|
|
350
738
|
{
|
|
351
|
-
name: '
|
|
739
|
+
name: 'u32_array',
|
|
352
740
|
type: 'uint32_t',
|
|
353
741
|
arrayLength: 3,
|
|
354
742
|
},
|
|
355
743
|
{
|
|
356
|
-
name: '
|
|
744
|
+
name: 'u64_array',
|
|
357
745
|
type: 'uint64_t',
|
|
358
746
|
arrayLength: 3,
|
|
359
747
|
},
|
|
360
748
|
{
|
|
361
|
-
name: '
|
|
749
|
+
name: 's8_array',
|
|
362
750
|
type: 'int8_t',
|
|
363
751
|
arrayLength: 3,
|
|
364
752
|
},
|
|
365
753
|
{
|
|
366
|
-
name: '
|
|
754
|
+
name: 's16_array',
|
|
367
755
|
type: 'int16_t',
|
|
368
756
|
arrayLength: 3,
|
|
369
757
|
},
|
|
370
758
|
{
|
|
371
|
-
name: '
|
|
759
|
+
name: 's32_array',
|
|
372
760
|
type: 'int32_t',
|
|
373
761
|
arrayLength: 3,
|
|
374
762
|
},
|
|
375
763
|
{
|
|
376
|
-
name: '
|
|
764
|
+
name: 's64_array',
|
|
377
765
|
type: 'int64_t',
|
|
378
766
|
arrayLength: 3,
|
|
379
767
|
},
|
|
380
768
|
{
|
|
381
|
-
name: '
|
|
769
|
+
name: 'f_array',
|
|
382
770
|
type: 'float',
|
|
383
771
|
arrayLength: 3,
|
|
384
772
|
},
|
|
385
773
|
{
|
|
386
|
-
name: '
|
|
774
|
+
name: 'd_array',
|
|
387
775
|
type: 'double',
|
|
388
776
|
arrayLength: 3,
|
|
389
777
|
},
|
|
@@ -408,6 +796,43 @@ class TestParser extends DialectParser {
|
|
|
408
796
|
}
|
|
409
797
|
}
|
|
410
798
|
}
|
|
799
|
+
// Dialect-specific serializer
|
|
800
|
+
class TestSerializer {
|
|
801
|
+
constructor() {
|
|
802
|
+
this.parser = new TestParser();
|
|
803
|
+
}
|
|
804
|
+
// Serialize a message to MAVLink bytes
|
|
805
|
+
serialize(message) {
|
|
806
|
+
return this.parser.serializeMessage(message);
|
|
807
|
+
}
|
|
808
|
+
// Complete a message with all defined fields (including extension fields with defaults)
|
|
809
|
+
// This is useful to see what the serializer would send without actually serializing
|
|
810
|
+
// Requires payload structure format
|
|
811
|
+
completeMessage(message) {
|
|
812
|
+
const messageDef = Array.from(this.parser['messageDefinitions'].values())
|
|
813
|
+
.find(def => def.name === message.message_name);
|
|
814
|
+
if (!messageDef) {
|
|
815
|
+
throw new Error(`Unknown message type: ${message.message_name}`);
|
|
816
|
+
}
|
|
817
|
+
// Extract fields from payload structure (throws error if not payload format)
|
|
818
|
+
const messageFields = this.parser['extractMessageFields'](message, messageDef.fields);
|
|
819
|
+
// Complete the message with defaults
|
|
820
|
+
const completedFields = this.parser['completeMessageWithDefaults'](messageFields, messageDef.fields);
|
|
821
|
+
// Return in the payload structure format
|
|
822
|
+
return {
|
|
823
|
+
...message,
|
|
824
|
+
payload: completedFields
|
|
825
|
+
};
|
|
826
|
+
}
|
|
827
|
+
// Get supported message names for this dialect
|
|
828
|
+
getSupportedMessages() {
|
|
829
|
+
return Array.from(this.parser['messageDefinitions'].values()).map(def => def.name);
|
|
830
|
+
}
|
|
831
|
+
// Check if a message is supported by this dialect
|
|
832
|
+
supportsMessage(messageName) {
|
|
833
|
+
return Array.from(this.parser['messageDefinitions'].values()).some(def => def.name === messageName);
|
|
834
|
+
}
|
|
835
|
+
}
|
|
411
836
|
|
|
412
|
-
export { TestParser, isTestTypes };
|
|
837
|
+
export { TestParser, TestSerializer, isTestTypes };
|
|
413
838
|
//# 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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"}
|