@aircast-4g/mavlink 1.0.1

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 (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +632 -0
  3. package/dist/batch-processor.d.ts +17 -0
  4. package/dist/batch-processor.d.ts.map +1 -0
  5. package/dist/batch-processor.js +141 -0
  6. package/dist/batch-processor.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +174 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/generator/batch-processor.d.ts +17 -0
  12. package/dist/generator/batch-processor.d.ts.map +1 -0
  13. package/dist/generator/batch-processor.js +141 -0
  14. package/dist/generator/batch-processor.js.map +1 -0
  15. package/dist/generator/generator.d.ts +15 -0
  16. package/dist/generator/generator.d.ts.map +1 -0
  17. package/dist/generator/generator.js +92 -0
  18. package/dist/generator/generator.js.map +1 -0
  19. package/dist/generator/template-engine.d.ts +13 -0
  20. package/dist/generator/template-engine.d.ts.map +1 -0
  21. package/dist/generator/template-engine.js +220 -0
  22. package/dist/generator/template-engine.js.map +1 -0
  23. package/dist/generator/type-converter.d.ts +15 -0
  24. package/dist/generator/type-converter.d.ts.map +1 -0
  25. package/dist/generator/type-converter.js +179 -0
  26. package/dist/generator/type-converter.js.map +1 -0
  27. package/dist/generator/xml-parser.d.ts +13 -0
  28. package/dist/generator/xml-parser.d.ts.map +1 -0
  29. package/dist/generator/xml-parser.js +170 -0
  30. package/dist/generator/xml-parser.js.map +1 -0
  31. package/dist/generator.d.ts +15 -0
  32. package/dist/generator.d.ts.map +1 -0
  33. package/dist/generator.js +92 -0
  34. package/dist/generator.js.map +1 -0
  35. package/dist/index.d.ts +8 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +37 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/parser/crc.d.ts +7 -0
  40. package/dist/parser/crc.d.ts.map +1 -0
  41. package/dist/parser/crc.js +182 -0
  42. package/dist/parser/crc.js.map +1 -0
  43. package/dist/parser/frame-parser.d.ts +15 -0
  44. package/dist/parser/frame-parser.d.ts.map +1 -0
  45. package/dist/parser/frame-parser.js +82 -0
  46. package/dist/parser/frame-parser.js.map +1 -0
  47. package/dist/parser/index.d.ts +6 -0
  48. package/dist/parser/index.d.ts.map +1 -0
  49. package/dist/parser/index.js +28 -0
  50. package/dist/parser/index.js.map +1 -0
  51. package/dist/parser/mavlink-parser.d.ts +35 -0
  52. package/dist/parser/mavlink-parser.d.ts.map +1 -0
  53. package/dist/parser/mavlink-parser.js +204 -0
  54. package/dist/parser/mavlink-parser.js.map +1 -0
  55. package/dist/parser/message-decoder.d.ts +11 -0
  56. package/dist/parser/message-decoder.d.ts.map +1 -0
  57. package/dist/parser/message-decoder.js +247 -0
  58. package/dist/parser/message-decoder.js.map +1 -0
  59. package/dist/parser/types.d.ts +59 -0
  60. package/dist/parser/types.d.ts.map +1 -0
  61. package/dist/parser/types.js +13 -0
  62. package/dist/parser/types.js.map +1 -0
  63. package/dist/template-engine.d.ts +13 -0
  64. package/dist/template-engine.d.ts.map +1 -0
  65. package/dist/template-engine.js +220 -0
  66. package/dist/template-engine.js.map +1 -0
  67. package/dist/type-converter.d.ts +15 -0
  68. package/dist/type-converter.d.ts.map +1 -0
  69. package/dist/type-converter.js +179 -0
  70. package/dist/type-converter.js.map +1 -0
  71. package/dist/types.d.ts +110 -0
  72. package/dist/types.d.ts.map +1 -0
  73. package/dist/types.js +3 -0
  74. package/dist/types.js.map +1 -0
  75. package/dist/xml-parser.d.ts +13 -0
  76. package/dist/xml-parser.d.ts.map +1 -0
  77. package/dist/xml-parser.js +170 -0
  78. package/dist/xml-parser.js.map +1 -0
  79. package/package.json +105 -0
  80. package/types/ardupilotmega/enums.d.ts +2427 -0
  81. package/types/ardupilotmega/enums.d.ts.map +1 -0
  82. package/types/ardupilotmega/enums.js +4636 -0
  83. package/types/ardupilotmega/enums.js.map +1 -0
  84. package/types/ardupilotmega/enums.ts +4631 -0
  85. package/types/ardupilotmega/index.d.ts +4 -0
  86. package/types/ardupilotmega/index.d.ts.map +1 -0
  87. package/types/ardupilotmega/index.js +22 -0
  88. package/types/ardupilotmega/index.js.map +1 -0
  89. package/types/ardupilotmega/index.ts +6 -0
  90. package/types/ardupilotmega/messages.d.ts +3719 -0
  91. package/types/ardupilotmega/messages.d.ts.map +1 -0
  92. package/types/ardupilotmega/messages.js +1281 -0
  93. package/types/ardupilotmega/messages.js.map +1 -0
  94. package/types/ardupilotmega/messages.ts +8088 -0
  95. package/types/ardupilotmega/types.d.ts +221 -0
  96. package/types/ardupilotmega/types.d.ts.map +1 -0
  97. package/types/ardupilotmega/types.js +5 -0
  98. package/types/ardupilotmega/types.js.map +1 -0
  99. package/types/ardupilotmega/types.ts +2833 -0
  100. package/types/common/enums.d.ts +1843 -0
  101. package/types/common/enums.d.ts.map +1 -0
  102. package/types/common/enums.js +3636 -0
  103. package/types/common/enums.js.map +1 -0
  104. package/types/common/enums.ts +3632 -0
  105. package/types/common/index.d.ts +4 -0
  106. package/types/common/index.d.ts.map +1 -0
  107. package/types/common/index.js +21 -0
  108. package/types/common/index.js.map +1 -0
  109. package/types/common/index.ts +6 -0
  110. package/types/common/messages.d.ts +2805 -0
  111. package/types/common/messages.d.ts.map +1 -0
  112. package/types/common/messages.js +920 -0
  113. package/types/common/messages.js.map +1 -0
  114. package/types/common/messages.ts +6114 -0
  115. package/types/common/types.d.ts +157 -0
  116. package/types/common/types.d.ts.map +1 -0
  117. package/types/common/types.js +4 -0
  118. package/types/common/types.js.map +1 -0
  119. package/types/common/types.ts +2159 -0
  120. package/types/minimal/enums.d.ts +244 -0
  121. package/types/minimal/enums.d.ts.map +1 -0
  122. package/types/minimal/enums.js +496 -0
  123. package/types/minimal/enums.js.map +1 -0
  124. package/types/minimal/enums.ts +494 -0
  125. package/types/minimal/index.d.ts +4 -0
  126. package/types/minimal/index.d.ts.map +1 -0
  127. package/types/minimal/index.js +21 -0
  128. package/types/minimal/index.js.map +1 -0
  129. package/types/minimal/index.ts +6 -0
  130. package/types/minimal/messages.d.ts +25 -0
  131. package/types/minimal/messages.d.ts.map +1 -0
  132. package/types/minimal/messages.js +12 -0
  133. package/types/minimal/messages.js.map +1 -0
  134. package/types/minimal/messages.ts +62 -0
  135. package/types/minimal/types.d.ts +14 -0
  136. package/types/minimal/types.d.ts.map +1 -0
  137. package/types/minimal/types.js +4 -0
  138. package/types/minimal/types.js.map +1 -0
  139. package/types/minimal/types.ts +272 -0
  140. package/types/paparazzi/enums.ts +3632 -0
  141. package/types/paparazzi/index.ts +6 -0
  142. package/types/paparazzi/messages.ts +6185 -0
  143. package/types/paparazzi/types.ts +2159 -0
  144. package/types/python_array_test/enums.ts +3632 -0
  145. package/types/python_array_test/index.ts +6 -0
  146. package/types/python_array_test/messages.ts +6258 -0
  147. package/types/python_array_test/types.ts +2159 -0
  148. package/types/standard/enums.d.ts +248 -0
  149. package/types/standard/enums.d.ts.map +1 -0
  150. package/types/standard/enums.js +505 -0
  151. package/types/standard/enums.js.map +1 -0
  152. package/types/standard/enums.ts +502 -0
  153. package/types/standard/index.d.ts +4 -0
  154. package/types/standard/index.d.ts.map +1 -0
  155. package/types/standard/index.js +22 -0
  156. package/types/standard/index.js.map +1 -0
  157. package/types/standard/index.ts +6 -0
  158. package/types/standard/messages.d.ts +25 -0
  159. package/types/standard/messages.d.ts.map +1 -0
  160. package/types/standard/messages.js +13 -0
  161. package/types/standard/messages.js.map +1 -0
  162. package/types/standard/messages.ts +63 -0
  163. package/types/standard/types.d.ts +15 -0
  164. package/types/standard/types.d.ts.map +1 -0
  165. package/types/standard/types.js +5 -0
  166. package/types/standard/types.js.map +1 -0
  167. package/types/standard/types.ts +278 -0
  168. package/types/test/enums.ts +2 -0
  169. package/types/test/index.ts +6 -0
  170. package/types/test/messages.ts +69 -0
  171. package/types/test/types.ts +11 -0
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAVLinkParser = void 0;
4
+ // Main MAVLink parser that processes raw bytes and outputs JSON messages
5
+ const frame_parser_1 = require("./frame-parser");
6
+ const message_decoder_1 = require("./message-decoder");
7
+ const crc_1 = require("./crc");
8
+ const types_1 = require("./types");
9
+ class MAVLinkParser {
10
+ constructor(options = {}) {
11
+ this.bufferLength = 0;
12
+ this.frameParser = new frame_parser_1.MAVLinkFrameParser();
13
+ this.messageDecoder = new message_decoder_1.MAVLinkMessageDecoder();
14
+ this.buffer = new Uint8Array(1024); // Initial buffer size
15
+ this.options = {
16
+ validateCRC: true,
17
+ allowProtocolV1: true,
18
+ allowProtocolV2: true,
19
+ maxBufferSize: 4096,
20
+ ...options
21
+ };
22
+ }
23
+ /**
24
+ * Parse raw bytes from data channel and return JSON messages
25
+ * @param data Raw bytes from data channel (WebRTC, WebSocket, etc.)
26
+ * @returns Array of parsed MAVLink messages in JSON format
27
+ */
28
+ parseBytes(data) {
29
+ const messages = [];
30
+ try {
31
+ // Append new data to buffer
32
+ this.appendToBuffer(data);
33
+ // Parse all complete frames from buffer
34
+ let processedBytes = 0;
35
+ while (processedBytes < this.bufferLength) {
36
+ const parseResult = this.tryParseFrame(processedBytes);
37
+ if (parseResult === null) {
38
+ // No complete frame found, wait for more data
39
+ break;
40
+ }
41
+ if (parseResult instanceof Error) {
42
+ // Parse error, skip this byte and continue
43
+ processedBytes++;
44
+ continue;
45
+ }
46
+ const { frame, bytesConsumed } = parseResult;
47
+ processedBytes += bytesConsumed;
48
+ // Validate CRC if enabled
49
+ if (this.options.validateCRC && !this.validateFrameCRC(frame)) {
50
+ continue;
51
+ }
52
+ // Decode message
53
+ try {
54
+ const message = this.messageDecoder.decode(frame);
55
+ messages.push(message);
56
+ }
57
+ catch (error) {
58
+ // Message decode error, continue with next frame
59
+ console.warn(`Failed to decode message ${frame.message_id}:`, error);
60
+ }
61
+ }
62
+ // Remove processed bytes from buffer
63
+ if (processedBytes > 0) {
64
+ this.buffer.copyWithin(0, processedBytes, this.bufferLength);
65
+ this.bufferLength -= processedBytes;
66
+ }
67
+ }
68
+ catch (error) {
69
+ throw new types_1.ParserError(`Parser error: ${error instanceof Error ? error.message : 'Unknown error'}`);
70
+ }
71
+ return messages;
72
+ }
73
+ /**
74
+ * Parse a single raw message (for testing or when you have complete frames)
75
+ */
76
+ parseMessage(data) {
77
+ try {
78
+ const frame = this.frameParser.parseFrame(data);
79
+ if (this.options.validateCRC && !this.validateFrameCRC(frame)) {
80
+ throw new types_1.ParserError('CRC validation failed');
81
+ }
82
+ return this.messageDecoder.decode(frame);
83
+ }
84
+ catch (error) {
85
+ throw new types_1.ParserError(`Failed to parse message: ${error instanceof Error ? error.message : 'Unknown error'}`);
86
+ }
87
+ }
88
+ appendToBuffer(data) {
89
+ // Check if we need to expand the buffer
90
+ if (this.buffer.length - this.bufferLength < data.length) {
91
+ // Check max buffer size
92
+ if (this.bufferLength + data.length > this.options.maxBufferSize) {
93
+ // Reset buffer to prevent memory issues
94
+ this.buffer = new Uint8Array(this.options.maxBufferSize);
95
+ this.bufferLength = 0;
96
+ }
97
+ else {
98
+ // Expand buffer
99
+ const newBuffer = new Uint8Array(this.buffer.length * 2);
100
+ newBuffer.set(this.buffer.subarray(0, this.bufferLength));
101
+ this.buffer = newBuffer;
102
+ }
103
+ }
104
+ // Append new data
105
+ this.buffer.set(data, this.bufferLength);
106
+ this.bufferLength += data.length;
107
+ }
108
+ tryParseFrame(offset) {
109
+ if (offset >= this.bufferLength) {
110
+ return null;
111
+ }
112
+ // Find next frame start
113
+ let startIndex = -1;
114
+ for (let i = offset; i < this.bufferLength; i++) {
115
+ const byte = this.buffer[i];
116
+ if (byte === 0xFE || byte === 0xFD) { // MAVLink v1 or v2 magic
117
+ startIndex = i;
118
+ break;
119
+ }
120
+ }
121
+ if (startIndex === -1) {
122
+ // No frame start found
123
+ return null;
124
+ }
125
+ try {
126
+ // Try to parse frame from start position
127
+ const frameData = this.buffer.subarray(startIndex, this.bufferLength);
128
+ const frame = this.frameParser.parseFrame(frameData);
129
+ // Frame parsed successfully
130
+ const frameLength = this.getFrameLength(frame);
131
+ const bytesConsumed = startIndex - offset + frameLength;
132
+ return { frame, bytesConsumed };
133
+ }
134
+ catch (error) {
135
+ // Not enough data or parse error
136
+ if (error instanceof Error && error.message.includes('Insufficient data')) {
137
+ return null; // Wait for more data
138
+ }
139
+ return error; // Parse error, will skip this byte
140
+ }
141
+ }
142
+ getFrameLength(frame) {
143
+ // Calculate total frame length including header, payload, checksum, and signature
144
+ const headerSize = frame.protocol_version === 2 ? 10 : 6;
145
+ const payloadSize = frame.payload.length;
146
+ const checksumSize = 2;
147
+ const signatureSize = frame.signature ? 13 : 0;
148
+ return headerSize + payloadSize + checksumSize + signatureSize;
149
+ }
150
+ validateFrameCRC(frame) {
151
+ try {
152
+ // Reconstruct the data for CRC calculation
153
+ const headerSize = frame.protocol_version === 2 ? 9 : 5; // Exclude magic byte
154
+ const data = new Uint8Array(headerSize + frame.payload.length);
155
+ let offset = 0;
156
+ if (frame.protocol_version === 2) {
157
+ data[offset++] = frame.payload.length;
158
+ data[offset++] = frame.incompatible_flags || 0;
159
+ data[offset++] = frame.compatible_flags || 0;
160
+ data[offset++] = frame.sequence;
161
+ data[offset++] = frame.system_id;
162
+ data[offset++] = frame.component_id;
163
+ data[offset++] = frame.message_id & 0xFF;
164
+ data[offset++] = (frame.message_id >> 8) & 0xFF;
165
+ data[offset++] = (frame.message_id >> 16) & 0xFF;
166
+ }
167
+ else {
168
+ data[offset++] = frame.payload.length;
169
+ data[offset++] = frame.sequence;
170
+ data[offset++] = frame.system_id;
171
+ data[offset++] = frame.component_id;
172
+ data[offset++] = frame.message_id & 0xFF;
173
+ }
174
+ // Add payload
175
+ data.set(frame.payload, offset);
176
+ // Calculate CRC with extra byte
177
+ const crcExtra = crc_1.CRCCalculator.getCRCExtra(frame.message_id);
178
+ const calculatedCRC = crc_1.CRCCalculator.calculate(data, crcExtra);
179
+ return calculatedCRC === frame.checksum;
180
+ }
181
+ catch (error) {
182
+ console.warn('CRC validation error:', error);
183
+ return false;
184
+ }
185
+ }
186
+ /**
187
+ * Reset parser state (useful when connection is reset)
188
+ */
189
+ reset() {
190
+ this.buffer.fill(0);
191
+ this.bufferLength = 0;
192
+ }
193
+ /**
194
+ * Get parser statistics
195
+ */
196
+ getStats() {
197
+ return {
198
+ bufferSize: this.buffer.length,
199
+ bufferUsed: this.bufferLength
200
+ };
201
+ }
202
+ }
203
+ exports.MAVLinkParser = MAVLinkParser;
204
+ //# sourceMappingURL=mavlink-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mavlink-parser.js","sourceRoot":"","sources":["../../src/parser/mavlink-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { MAVLinkFrame, ParsedMAVLinkMessage } from './types';
2
+ export declare class MAVLinkMessageDecoder {
3
+ private messageMap;
4
+ constructor();
5
+ decode(frame: MAVLinkFrame & {
6
+ protocol_version: 1 | 2;
7
+ }): ParsedMAVLinkMessage;
8
+ private decodePayload;
9
+ private getMessageName;
10
+ }
11
+ //# sourceMappingURL=message-decoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-decoder.d.ts","sourceRoot":"","sources":["../../src/parser/message-decoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAe,MAAM,SAAS,CAAC;AAE1E,qBAAa,qBAAqB;IAChC,OAAO,CAAC,UAAU,CAA+B;;IAM1C,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAA;KAAE,GAAG,oBAAoB;IAyBtF,OAAO,CAAC,aAAa;IA8DrB,OAAO,CAAC,cAAc;CA8JvB"}
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAVLinkMessageDecoder = void 0;
4
+ // Message decoder for MAVLink messages
5
+ const types_1 = require("./types");
6
+ class MAVLinkMessageDecoder {
7
+ constructor() {
8
+ this.messageMap = new Map();
9
+ // Message map initialization - would be enhanced with actual message definitions
10
+ }
11
+ decode(frame) {
12
+ const timestamp = Date.now();
13
+ try {
14
+ // Decode payload based on message ID
15
+ const payload = this.decodePayload(frame.message_id, frame.payload);
16
+ const messageName = this.getMessageName(frame.message_id);
17
+ return {
18
+ timestamp,
19
+ system_id: frame.system_id,
20
+ component_id: frame.component_id,
21
+ message_id: frame.message_id,
22
+ message_name: messageName,
23
+ sequence: frame.sequence,
24
+ payload,
25
+ protocol_version: frame.protocol_version,
26
+ checksum: frame.checksum,
27
+ signature: frame.signature
28
+ };
29
+ }
30
+ catch (error) {
31
+ throw new types_1.ParserError(`Failed to decode message: ${error instanceof Error ? error.message : 'Unknown error'}`, frame);
32
+ }
33
+ }
34
+ decodePayload(messageId, payload) {
35
+ // Basic payload decoder - this would be enhanced with proper type definitions
36
+ const decoded = {};
37
+ switch (messageId) {
38
+ case 0: // HEARTBEAT
39
+ decoded.type = payload[0];
40
+ decoded.autopilot = payload[1];
41
+ decoded.base_mode = payload[2];
42
+ decoded.custom_mode = new DataView(payload.buffer, payload.byteOffset).getUint32(3, true);
43
+ decoded.system_status = payload[7];
44
+ decoded.mavlink_version = payload[8];
45
+ break;
46
+ case 1: // SYS_STATUS
47
+ decoded.onboard_control_sensors_present = new DataView(payload.buffer, payload.byteOffset).getUint32(0, true);
48
+ decoded.onboard_control_sensors_enabled = new DataView(payload.buffer, payload.byteOffset).getUint32(4, true);
49
+ decoded.onboard_control_sensors_health = new DataView(payload.buffer, payload.byteOffset).getUint32(8, true);
50
+ decoded.load = new DataView(payload.buffer, payload.byteOffset).getUint16(12, true);
51
+ decoded.voltage_battery = new DataView(payload.buffer, payload.byteOffset).getUint16(14, true);
52
+ decoded.current_battery = new DataView(payload.buffer, payload.byteOffset).getInt16(16, true);
53
+ decoded.battery_remaining = payload[18];
54
+ break;
55
+ case 4: // PING
56
+ decoded.time_usec = new DataView(payload.buffer, payload.byteOffset).getBigUint64(0, true);
57
+ decoded.seq = new DataView(payload.buffer, payload.byteOffset).getUint32(8, true);
58
+ decoded.target_system = payload[12];
59
+ decoded.target_component = payload[13];
60
+ break;
61
+ case 30: // ATTITUDE
62
+ decoded.time_boot_ms = new DataView(payload.buffer, payload.byteOffset).getUint32(0, true);
63
+ decoded.roll = new DataView(payload.buffer, payload.byteOffset).getFloat32(4, true);
64
+ decoded.pitch = new DataView(payload.buffer, payload.byteOffset).getFloat32(8, true);
65
+ decoded.yaw = new DataView(payload.buffer, payload.byteOffset).getFloat32(12, true);
66
+ decoded.rollspeed = new DataView(payload.buffer, payload.byteOffset).getFloat32(16, true);
67
+ decoded.pitchspeed = new DataView(payload.buffer, payload.byteOffset).getFloat32(20, true);
68
+ decoded.yawspeed = new DataView(payload.buffer, payload.byteOffset).getFloat32(24, true);
69
+ break;
70
+ case 33: // GLOBAL_POSITION_INT
71
+ decoded.time_boot_ms = new DataView(payload.buffer, payload.byteOffset).getUint32(0, true);
72
+ decoded.lat = new DataView(payload.buffer, payload.byteOffset).getInt32(4, true);
73
+ decoded.lon = new DataView(payload.buffer, payload.byteOffset).getInt32(8, true);
74
+ decoded.alt = new DataView(payload.buffer, payload.byteOffset).getInt32(12, true);
75
+ decoded.relative_alt = new DataView(payload.buffer, payload.byteOffset).getInt32(16, true);
76
+ decoded.vx = new DataView(payload.buffer, payload.byteOffset).getInt16(20, true);
77
+ decoded.vy = new DataView(payload.buffer, payload.byteOffset).getInt16(22, true);
78
+ decoded.vz = new DataView(payload.buffer, payload.byteOffset).getInt16(24, true);
79
+ decoded.hdg = new DataView(payload.buffer, payload.byteOffset).getUint16(26, true);
80
+ break;
81
+ default:
82
+ // For unknown messages, return raw bytes as hex
83
+ decoded.raw_data = Array.from(payload).map(b => b.toString(16).padStart(2, '0')).join('');
84
+ break;
85
+ }
86
+ return decoded;
87
+ }
88
+ getMessageName(messageId) {
89
+ const messageNames = {
90
+ 0: 'HEARTBEAT',
91
+ 1: 'SYS_STATUS',
92
+ 2: 'SYSTEM_TIME',
93
+ 4: 'PING',
94
+ 5: 'CHANGE_OPERATOR_CONTROL',
95
+ 6: 'CHANGE_OPERATOR_CONTROL_ACK',
96
+ 7: 'AUTH_KEY',
97
+ 11: 'SET_MODE',
98
+ 20: 'PARAM_REQUEST_READ',
99
+ 21: 'PARAM_REQUEST_LIST',
100
+ 22: 'PARAM_VALUE',
101
+ 23: 'PARAM_SET',
102
+ 24: 'GPS_RAW_INT',
103
+ 25: 'GPS_STATUS',
104
+ 26: 'SCALED_IMU',
105
+ 27: 'RAW_IMU',
106
+ 28: 'RAW_PRESSURE',
107
+ 29: 'SCALED_PRESSURE',
108
+ 30: 'ATTITUDE',
109
+ 31: 'ATTITUDE_QUATERNION',
110
+ 32: 'LOCAL_POSITION_NED',
111
+ 33: 'GLOBAL_POSITION_INT',
112
+ 34: 'RC_CHANNELS_SCALED',
113
+ 35: 'RC_CHANNELS_RAW',
114
+ 36: 'SERVO_OUTPUT_RAW',
115
+ 37: 'MISSION_REQUEST_PARTIAL_LIST',
116
+ 38: 'MISSION_WRITE_PARTIAL_LIST',
117
+ 39: 'MISSION_ITEM',
118
+ 40: 'MISSION_REQUEST',
119
+ 41: 'MISSION_SET_CURRENT',
120
+ 42: 'MISSION_CURRENT',
121
+ 43: 'MISSION_REQUEST_LIST',
122
+ 44: 'MISSION_COUNT',
123
+ 45: 'MISSION_CLEAR_ALL',
124
+ 46: 'MISSION_ITEM_REACHED',
125
+ 47: 'MISSION_ACK',
126
+ 48: 'SET_GPS_GLOBAL_ORIGIN',
127
+ 49: 'GPS_GLOBAL_ORIGIN',
128
+ 50: 'PARAM_MAP_RC',
129
+ 51: 'MISSION_REQUEST_INT',
130
+ 54: 'SAFETY_SET_ALLOWED_AREA',
131
+ 55: 'SAFETY_ALLOWED_AREA',
132
+ 61: 'ATTITUDE_QUATERNION_COV',
133
+ 62: 'NAV_CONTROLLER_OUTPUT',
134
+ 63: 'GLOBAL_POSITION_INT_COV',
135
+ 64: 'LOCAL_POSITION_NED_COV',
136
+ 65: 'RC_CHANNELS',
137
+ 66: 'REQUEST_DATA_STREAM',
138
+ 67: 'DATA_STREAM',
139
+ 69: 'MANUAL_CONTROL',
140
+ 70: 'RC_CHANNELS_OVERRIDE',
141
+ 73: 'MISSION_ITEM_INT',
142
+ 74: 'VFR_HUD',
143
+ 75: 'COMMAND_INT',
144
+ 76: 'COMMAND_LONG',
145
+ 77: 'COMMAND_ACK',
146
+ 81: 'MANUAL_SETPOINT',
147
+ 82: 'SET_ATTITUDE_TARGET',
148
+ 83: 'ATTITUDE_TARGET',
149
+ 84: 'SET_POSITION_TARGET_LOCAL_NED',
150
+ 85: 'POSITION_TARGET_LOCAL_NED',
151
+ 86: 'SET_POSITION_TARGET_GLOBAL_INT',
152
+ 87: 'POSITION_TARGET_GLOBAL_INT',
153
+ 89: 'LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET',
154
+ 90: 'HIL_STATE',
155
+ 91: 'HIL_CONTROLS',
156
+ 92: 'HIL_RC_INPUTS_RAW',
157
+ 100: 'OPTICAL_FLOW',
158
+ 101: 'GLOBAL_VISION_POSITION_ESTIMATE',
159
+ 102: 'VISION_POSITION_ESTIMATE',
160
+ 103: 'VISION_SPEED_ESTIMATE',
161
+ 104: 'VICON_POSITION_ESTIMATE',
162
+ 105: 'HIGHRES_IMU',
163
+ 106: 'OPTICAL_FLOW_RAD',
164
+ 107: 'HIL_SENSOR',
165
+ 108: 'SIM_STATE',
166
+ 109: 'RADIO_STATUS',
167
+ 110: 'FILE_TRANSFER_PROTOCOL',
168
+ 111: 'TIMESYNC',
169
+ 112: 'CAMERA_TRIGGER',
170
+ 113: 'HIL_GPS',
171
+ 114: 'HIL_OPTICAL_FLOW',
172
+ 115: 'HIL_STATE_QUATERNION',
173
+ 116: 'SCALED_IMU2',
174
+ 117: 'LOG_REQUEST_LIST',
175
+ 118: 'LOG_ENTRY',
176
+ 119: 'LOG_REQUEST_DATA',
177
+ 120: 'LOG_DATA',
178
+ 121: 'LOG_ERASE',
179
+ 122: 'LOG_REQUEST_END',
180
+ 123: 'GPS_INJECT_DATA',
181
+ 124: 'GPS2_RAW',
182
+ 125: 'POWER_STATUS',
183
+ 126: 'SERIAL_CONTROL',
184
+ 127: 'GPS_RTK',
185
+ 128: 'GPS2_RTK',
186
+ 129: 'SCALED_IMU3',
187
+ 130: 'DATA_TRANSMISSION_HANDSHAKE',
188
+ 131: 'ENCAPSULATED_DATA',
189
+ 132: 'DISTANCE_SENSOR',
190
+ 133: 'TERRAIN_REQUEST',
191
+ 134: 'TERRAIN_DATA',
192
+ 135: 'TERRAIN_CHECK',
193
+ 136: 'TERRAIN_REPORT',
194
+ 137: 'SCALED_PRESSURE2',
195
+ 138: 'ATT_POS_MOCAP',
196
+ 139: 'SET_ACTUATOR_CONTROL_TARGET',
197
+ 140: 'ACTUATOR_CONTROL_TARGET',
198
+ 141: 'ALTITUDE',
199
+ 142: 'RESOURCE_REQUEST',
200
+ 143: 'SCALED_PRESSURE3',
201
+ 144: 'FOLLOW_TARGET',
202
+ 146: 'CONTROL_SYSTEM_STATE',
203
+ 147: 'BATTERY_STATUS',
204
+ 148: 'AUTOPILOT_VERSION',
205
+ 149: 'LANDING_TARGET',
206
+ 230: 'ESTIMATOR_STATUS',
207
+ 231: 'WIND_COV',
208
+ 232: 'GPS_INPUT',
209
+ 233: 'GPS_RTCM_DATA',
210
+ 234: 'HIGH_LATENCY',
211
+ 235: 'HIGH_LATENCY2',
212
+ 241: 'VIBRATION',
213
+ 242: 'HOME_POSITION',
214
+ 243: 'SET_HOME_POSITION',
215
+ 244: 'MESSAGE_INTERVAL',
216
+ 245: 'EXTENDED_SYS_STATE',
217
+ 246: 'ADSB_VEHICLE',
218
+ 247: 'COLLISION',
219
+ 248: 'V2_EXTENSION',
220
+ 249: 'MEMORY_VECT',
221
+ 250: 'DEBUG_VECT',
222
+ 251: 'NAMED_VALUE_FLOAT',
223
+ 252: 'NAMED_VALUE_INT',
224
+ 253: 'STATUSTEXT',
225
+ 254: 'DEBUG',
226
+ 256: 'SETUP_SIGNING',
227
+ 257: 'BUTTON_CHANGE',
228
+ 258: 'PLAY_TUNE',
229
+ 259: 'CAMERA_INFORMATION',
230
+ 260: 'CAMERA_SETTINGS',
231
+ 261: 'STORAGE_INFORMATION',
232
+ 262: 'CAMERA_CAPTURE_STATUS',
233
+ 263: 'CAMERA_IMAGE_CAPTURED',
234
+ 264: 'FLIGHT_INFORMATION',
235
+ 265: 'MOUNT_ORIENTATION',
236
+ 266: 'LOGGING_DATA',
237
+ 267: 'LOGGING_DATA_ACKED',
238
+ 268: 'LOGGING_ACK',
239
+ 269: 'VIDEO_STREAM_INFORMATION',
240
+ 270: 'VIDEO_STREAM_STATUS',
241
+ 299: 'WIFI_CONFIG_AP'
242
+ };
243
+ return messageNames[messageId] || `UNKNOWN_${messageId}`;
244
+ }
245
+ }
246
+ exports.MAVLinkMessageDecoder = MAVLinkMessageDecoder;
247
+ //# sourceMappingURL=message-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-decoder.js","sourceRoot":"","sources":["../../src/parser/message-decoder.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,mCAA0E;AAE1E,MAAa,qBAAqB;IAGhC;QAFQ,eAAU,GAAqB,IAAI,GAAG,EAAE,CAAC;QAG/C,iFAAiF;IACnF,CAAC;IAEM,MAAM,CAAC,KAAiD;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,qCAAqC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAE1D,OAAO;gBACL,SAAS;gBACT,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,WAAW;gBACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO;gBACP,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,mBAAW,CAAC,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,SAAiB,EAAE,OAAmB;QAC1D,8EAA8E;QAC9E,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,CAAC,EAAE,YAAY;gBAClB,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/B,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/B,OAAO,CAAC,WAAW,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC1F,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM;YAER,KAAK,CAAC,EAAE,aAAa;gBACnB,OAAO,CAAC,+BAA+B,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC9G,OAAO,CAAC,+BAA+B,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC9G,OAAO,CAAC,8BAA8B,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC7G,OAAO,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACpF,OAAO,CAAC,eAAe,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC/F,OAAO,CAAC,eAAe,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC9F,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxC,MAAM;YAER,KAAK,CAAC,EAAE,OAAO;gBACb,OAAO,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC3F,OAAO,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAClF,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;gBACpC,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvC,MAAM;YAER,KAAK,EAAE,EAAE,WAAW;gBAClB,OAAO,CAAC,YAAY,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC3F,OAAO,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACpF,OAAO,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACpF,OAAO,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC1F,OAAO,CAAC,UAAU,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3F,OAAO,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACzF,MAAM;YAER,KAAK,EAAE,EAAE,sBAAsB;gBAC7B,OAAO,CAAC,YAAY,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC3F,OAAO,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACjF,OAAO,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACjF,OAAO,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClF,OAAO,CAAC,YAAY,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3F,OAAO,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACjF,OAAO,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACjF,OAAO,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACjF,OAAO,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACnF,MAAM;YAER;gBACE,gDAAgD;gBAChD,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1F,MAAM;QACV,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,SAAiB;QACtC,MAAM,YAAY,GAA2B;YAC3C,CAAC,EAAE,WAAW;YACd,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,aAAa;YAChB,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,yBAAyB;YAC5B,CAAC,EAAE,6BAA6B;YAChC,CAAC,EAAE,UAAU;YACb,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,oBAAoB;YACxB,EAAE,EAAE,oBAAoB;YACxB,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,WAAW;YACf,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,cAAc;YAClB,EAAE,EAAE,iBAAiB;YACrB,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,oBAAoB;YACxB,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,oBAAoB;YACxB,EAAE,EAAE,iBAAiB;YACrB,EAAE,EAAE,kBAAkB;YACtB,EAAE,EAAE,8BAA8B;YAClC,EAAE,EAAE,4BAA4B;YAChC,EAAE,EAAE,cAAc;YAClB,EAAE,EAAE,iBAAiB;YACrB,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,iBAAiB;YACrB,EAAE,EAAE,sBAAsB;YAC1B,EAAE,EAAE,eAAe;YACnB,EAAE,EAAE,mBAAmB;YACvB,EAAE,EAAE,sBAAsB;YAC1B,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,uBAAuB;YAC3B,EAAE,EAAE,mBAAmB;YACvB,EAAE,EAAE,cAAc;YAClB,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,yBAAyB;YAC7B,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,yBAAyB;YAC7B,EAAE,EAAE,uBAAuB;YAC3B,EAAE,EAAE,yBAAyB;YAC7B,EAAE,EAAE,wBAAwB;YAC5B,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,gBAAgB;YACpB,EAAE,EAAE,sBAAsB;YAC1B,EAAE,EAAE,kBAAkB;YACtB,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,cAAc;YAClB,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,iBAAiB;YACrB,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,iBAAiB;YACrB,EAAE,EAAE,+BAA+B;YACnC,EAAE,EAAE,2BAA2B;YAC/B,EAAE,EAAE,gCAAgC;YACpC,EAAE,EAAE,4BAA4B;YAChC,EAAE,EAAE,yCAAyC;YAC7C,EAAE,EAAE,WAAW;YACf,EAAE,EAAE,cAAc;YAClB,EAAE,EAAE,mBAAmB;YACvB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,iCAAiC;YACtC,GAAG,EAAE,0BAA0B;YAC/B,GAAG,EAAE,uBAAuB;YAC5B,GAAG,EAAE,yBAAyB;YAC9B,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,wBAAwB;YAC7B,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,sBAAsB;YAC3B,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,6BAA6B;YAClC,GAAG,EAAE,mBAAmB;YACxB,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,6BAA6B;YAClC,GAAG,EAAE,yBAAyB;YAC9B,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,sBAAsB;YAC3B,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,mBAAmB;YACxB,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,mBAAmB;YACxB,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,mBAAmB;YACxB,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,qBAAqB;YAC1B,GAAG,EAAE,uBAAuB;YAC5B,GAAG,EAAE,uBAAuB;YAC5B,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,mBAAmB;YACxB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,0BAA0B;YAC/B,GAAG,EAAE,qBAAqB;YAC1B,GAAG,EAAE,gBAAgB;SACtB,CAAC;QAEF,OAAO,YAAY,CAAC,SAAS,CAAC,IAAI,WAAW,SAAS,EAAE,CAAC;IAC3D,CAAC;CACF;AA5PD,sDA4PC"}
@@ -0,0 +1,59 @@
1
+ export interface ParsedMAVLinkMessage {
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
+ signature?: Uint8Array;
12
+ }
13
+ export interface MAVLinkFrame {
14
+ magic: number;
15
+ length: number;
16
+ incompatible_flags?: number;
17
+ compatible_flags?: number;
18
+ sequence: number;
19
+ system_id: number;
20
+ component_id: number;
21
+ message_id: number;
22
+ payload: Uint8Array;
23
+ checksum: number;
24
+ signature?: Uint8Array;
25
+ }
26
+ export interface ParserOptions {
27
+ validateCRC?: boolean;
28
+ allowProtocolV1?: boolean;
29
+ allowProtocolV2?: boolean;
30
+ maxBufferSize?: number;
31
+ }
32
+ export declare class ParserError extends Error {
33
+ frame?: any;
34
+ constructor(message: string, frame?: any);
35
+ }
36
+ export interface ParserResult {
37
+ messages: ParsedMAVLinkMessage[];
38
+ errors: ParserError[];
39
+ bytesProcessed: number;
40
+ remainingBytes: Uint8Array;
41
+ }
42
+ export interface FieldDescriptor {
43
+ name: string;
44
+ type: string;
45
+ enum?: string;
46
+ arrayLength?: number;
47
+ }
48
+ export interface MessageDescriptor {
49
+ id: number;
50
+ name: string;
51
+ fields: FieldDescriptor[];
52
+ crc_extra: number;
53
+ }
54
+ export interface DialectRegistry {
55
+ [dialectName: string]: {
56
+ [messageId: number]: MessageDescriptor;
57
+ };
58
+ }
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/parser/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,WAAY,SAAQ,KAAK;IAC7B,KAAK,CAAC,EAAE,GAAG,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;CAKzC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,WAAW,EAAE,MAAM,GAAG;QACrB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAAC;KACxC,CAAC;CACH"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ // Parser types for MAVLink protocol parsing
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ParserError = void 0;
5
+ class ParserError extends Error {
6
+ constructor(message, frame) {
7
+ super(message);
8
+ this.name = 'ParserError';
9
+ this.frame = frame;
10
+ }
11
+ }
12
+ exports.ParserError = ParserError;
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/parser/types.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;AAoC5C,MAAa,WAAY,SAAQ,KAAK;IAGpC,YAAY,OAAe,EAAE,KAAW;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AARD,kCAQC"}
@@ -0,0 +1,13 @@
1
+ import { TypeScriptDialect } from './types';
2
+ export declare class TemplateEngine {
3
+ private templates;
4
+ constructor();
5
+ private initializeTemplates;
6
+ private registerHelpers;
7
+ generateTypes(dialect: TypeScriptDialect): string;
8
+ generateEnums(dialect: TypeScriptDialect): string;
9
+ generateMessages(dialect: TypeScriptDialect): string;
10
+ generateIndex(dialect: TypeScriptDialect, includeEnums?: boolean): string;
11
+ generateSingle(dialect: TypeScriptDialect): string;
12
+ }
13
+ //# sourceMappingURL=template-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../src/template-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAsD;;IAOvE,OAAO,CAAC,mBAAmB;IAmK3B,OAAO,CAAC,eAAe;IAcvB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAQjD,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAQjD,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAQpD,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM;IAQhF,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;CAOnD"}