@aircast-4g/mavlink 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/cli-generate-decoders.d.ts +4 -0
  2. package/dist/cli-generate-decoders.d.ts.map +1 -0
  3. package/dist/cli-generate-decoders.js +201 -0
  4. package/dist/cli-generate-decoders.js.map +1 -0
  5. package/dist/decoders/ardupilotmega.ts +11939 -0
  6. package/dist/decoders/common.ts +9107 -0
  7. package/dist/decoders/minimal.ts +76 -0
  8. package/dist/generator/generator.d.ts +1 -0
  9. package/dist/generator/generator.d.ts.map +1 -1
  10. package/dist/generator/generator.js +51 -0
  11. package/dist/generator/generator.js.map +1 -1
  12. package/dist/generator/template-engine.d.ts +1 -0
  13. package/dist/generator/template-engine.d.ts.map +1 -1
  14. package/dist/generator/template-engine.js +50 -0
  15. package/dist/generator/template-engine.js.map +1 -1
  16. package/dist/parser/decoders/ardupilotmega-decoder.d.ts +14 -0
  17. package/dist/parser/decoders/ardupilotmega-decoder.d.ts.map +1 -0
  18. package/dist/parser/decoders/ardupilotmega-decoder.js +11929 -0
  19. package/dist/parser/decoders/ardupilotmega-decoder.js.map +1 -0
  20. package/dist/parser/decoders/common-decoder.d.ts +14 -0
  21. package/dist/parser/decoders/common-decoder.d.ts.map +1 -0
  22. package/dist/parser/decoders/common-decoder.js +9097 -0
  23. package/dist/parser/decoders/common-decoder.js.map +1 -0
  24. package/dist/parser/decoders/minimal-decoder.d.ts +14 -0
  25. package/dist/parser/decoders/minimal-decoder.d.ts.map +1 -0
  26. package/dist/parser/decoders/minimal-decoder.js +66 -0
  27. package/dist/parser/decoders/minimal-decoder.js.map +1 -0
  28. package/dist/parser/generated-decoders.d.ts +15 -0
  29. package/dist/parser/generated-decoders.d.ts.map +1 -0
  30. package/dist/parser/generated-decoders.js +11938 -0
  31. package/dist/parser/generated-decoders.js.map +1 -0
  32. package/dist/parser/mavlink-parser.d.ts.map +1 -1
  33. package/dist/parser/mavlink-parser.js +17 -6
  34. package/dist/parser/mavlink-parser.js.map +1 -1
  35. package/dist/parser/message-decoder.d.ts +26 -5
  36. package/dist/parser/message-decoder.d.ts.map +1 -1
  37. package/dist/parser/message-decoder.js +406 -224
  38. package/dist/parser/message-decoder.js.map +1 -1
  39. package/dist/parser/test-decoder.d.ts +2 -0
  40. package/dist/parser/test-decoder.d.ts.map +1 -0
  41. package/dist/parser/test-decoder.js +54 -0
  42. package/dist/parser/test-decoder.js.map +1 -0
  43. package/dist/parser/types.d.ts +1 -0
  44. package/dist/parser/types.d.ts.map +1 -1
  45. package/dist/parser/types.js.map +1 -1
  46. package/package.json +24 -25
  47. package/types/ardupilotmega/enums.d.ts +0 -2427
  48. package/types/ardupilotmega/enums.d.ts.map +0 -1
  49. package/types/ardupilotmega/enums.js +0 -4636
  50. package/types/ardupilotmega/enums.js.map +0 -1
  51. package/types/ardupilotmega/index.d.ts +0 -4
  52. package/types/ardupilotmega/index.d.ts.map +0 -1
  53. package/types/ardupilotmega/index.js +0 -22
  54. package/types/ardupilotmega/index.js.map +0 -1
  55. package/types/ardupilotmega/messages.d.ts +0 -3719
  56. package/types/ardupilotmega/messages.d.ts.map +0 -1
  57. package/types/ardupilotmega/messages.js +0 -1281
  58. package/types/ardupilotmega/messages.js.map +0 -1
  59. package/types/ardupilotmega/types.d.ts +0 -221
  60. package/types/ardupilotmega/types.d.ts.map +0 -1
  61. package/types/ardupilotmega/types.js +0 -5
  62. package/types/ardupilotmega/types.js.map +0 -1
  63. package/types/common/enums.d.ts +0 -1843
  64. package/types/common/enums.d.ts.map +0 -1
  65. package/types/common/enums.js +0 -3636
  66. package/types/common/enums.js.map +0 -1
  67. package/types/common/index.d.ts +0 -4
  68. package/types/common/index.d.ts.map +0 -1
  69. package/types/common/index.js +0 -21
  70. package/types/common/index.js.map +0 -1
  71. package/types/common/messages.d.ts +0 -2805
  72. package/types/common/messages.d.ts.map +0 -1
  73. package/types/common/messages.js +0 -920
  74. package/types/common/messages.js.map +0 -1
  75. package/types/common/types.d.ts +0 -157
  76. package/types/common/types.d.ts.map +0 -1
  77. package/types/common/types.js +0 -4
  78. package/types/common/types.js.map +0 -1
  79. package/types/minimal/enums.d.ts +0 -244
  80. package/types/minimal/enums.d.ts.map +0 -1
  81. package/types/minimal/enums.js +0 -496
  82. package/types/minimal/enums.js.map +0 -1
  83. package/types/minimal/index.d.ts +0 -4
  84. package/types/minimal/index.d.ts.map +0 -1
  85. package/types/minimal/index.js +0 -21
  86. package/types/minimal/index.js.map +0 -1
  87. package/types/minimal/messages.d.ts +0 -25
  88. package/types/minimal/messages.d.ts.map +0 -1
  89. package/types/minimal/messages.js +0 -12
  90. package/types/minimal/messages.js.map +0 -1
  91. package/types/minimal/types.d.ts +0 -14
  92. package/types/minimal/types.d.ts.map +0 -1
  93. package/types/minimal/types.js +0 -4
  94. package/types/minimal/types.js.map +0 -1
  95. package/types/paparazzi/enums.ts +0 -3632
  96. package/types/paparazzi/index.ts +0 -6
  97. package/types/paparazzi/messages.ts +0 -6185
  98. package/types/paparazzi/types.ts +0 -2159
  99. package/types/python_array_test/enums.ts +0 -3632
  100. package/types/python_array_test/index.ts +0 -6
  101. package/types/python_array_test/messages.ts +0 -6258
  102. package/types/python_array_test/types.ts +0 -2159
  103. package/types/standard/enums.d.ts +0 -248
  104. package/types/standard/enums.d.ts.map +0 -1
  105. package/types/standard/enums.js +0 -505
  106. package/types/standard/enums.js.map +0 -1
  107. package/types/standard/enums.ts +0 -502
  108. package/types/standard/index.d.ts +0 -4
  109. package/types/standard/index.d.ts.map +0 -1
  110. package/types/standard/index.js +0 -22
  111. package/types/standard/index.js.map +0 -1
  112. package/types/standard/index.ts +0 -6
  113. package/types/standard/messages.d.ts +0 -25
  114. package/types/standard/messages.d.ts.map +0 -1
  115. package/types/standard/messages.js +0 -13
  116. package/types/standard/messages.js.map +0 -1
  117. package/types/standard/messages.ts +0 -63
  118. package/types/standard/types.d.ts +0 -15
  119. package/types/standard/types.d.ts.map +0 -1
  120. package/types/standard/types.js +0 -5
  121. package/types/standard/types.js.map +0 -1
  122. package/types/standard/types.ts +0 -278
  123. package/types/test/enums.ts +0 -2
  124. package/types/test/index.ts +0 -6
  125. package/types/test/messages.ts +0 -69
  126. package/types/test/types.ts +0 -11
  127. /package/{types → dist/types}/ardupilotmega/enums.ts +0 -0
  128. /package/{types → dist/types}/ardupilotmega/index.ts +0 -0
  129. /package/{types → dist/types}/ardupilotmega/messages.ts +0 -0
  130. /package/{types → dist/types}/ardupilotmega/types.ts +0 -0
  131. /package/{types → dist/types}/common/enums.ts +0 -0
  132. /package/{types → dist/types}/common/index.ts +0 -0
  133. /package/{types → dist/types}/common/messages.ts +0 -0
  134. /package/{types → dist/types}/common/types.ts +0 -0
  135. /package/{types → dist/types}/minimal/enums.ts +0 -0
  136. /package/{types → dist/types}/minimal/index.ts +0 -0
  137. /package/{types → dist/types}/minimal/messages.ts +0 -0
  138. /package/{types → dist/types}/minimal/types.ts +0 -0
@@ -0,0 +1,76 @@
1
+ // Auto-generated decoder definitions for minimal dialect
2
+ // Generated from MAVLink XML definitions
3
+
4
+ export interface MessageDefinition {
5
+ id: number;
6
+ name: string;
7
+ fields: FieldDefinition[];
8
+ }
9
+
10
+ export interface FieldDefinition {
11
+ name: string;
12
+ type: string;
13
+ arrayLength?: number;
14
+ extension?: boolean;
15
+ }
16
+
17
+ export const MESSAGE_DEFINITIONS: MessageDefinition[] = [
18
+ {
19
+ id: 0,
20
+ name: 'HEARTBEAT',
21
+ fields: [
22
+ {
23
+ name: 'type',
24
+ type: 'uint8_t',
25
+ },
26
+ {
27
+ name: 'autopilot',
28
+ type: 'uint8_t',
29
+ },
30
+ {
31
+ name: 'base_mode',
32
+ type: 'uint8_t',
33
+ },
34
+ {
35
+ name: 'custom_mode',
36
+ type: 'uint32_t',
37
+ },
38
+ {
39
+ name: 'system_status',
40
+ type: 'uint8_t',
41
+ },
42
+ {
43
+ name: 'mavlink_version',
44
+ type: 'uint8_t_mavlink_version',
45
+ },
46
+ ]
47
+ },
48
+ {
49
+ id: 300,
50
+ name: 'PROTOCOL_VERSION',
51
+ fields: [
52
+ {
53
+ name: 'version',
54
+ type: 'uint16_t',
55
+ },
56
+ {
57
+ name: 'min_version',
58
+ type: 'uint16_t',
59
+ },
60
+ {
61
+ name: 'max_version',
62
+ type: 'uint16_t',
63
+ },
64
+ {
65
+ name: 'spec_version_hash',
66
+ type: 'uint8_t',
67
+ arrayLength: 8,
68
+ },
69
+ {
70
+ name: 'library_version_hash',
71
+ type: 'uint8_t',
72
+ arrayLength: 8,
73
+ },
74
+ ]
75
+ },
76
+ ];
@@ -7,6 +7,7 @@ export declare class MAVLinkGenerator {
7
7
  generateFromURL(url: string, outputPath: string, options: GenerationOptions): Promise<void>;
8
8
  generateFromFile(filePath: string, outputPath: string, options: GenerationOptions): Promise<void>;
9
9
  private generate;
10
+ private generateDecoderDefinitions;
10
11
  reset(): void;
11
12
  }
12
13
  export declare function generateTypesFromXML(xmlContent: string, options: GenerationOptions): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAA4C,MAAM,UAAU,CAAC;AAEvF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;;IAQjC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3F,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAKzF,QAAQ;IA+BtB,KAAK,IAAI,IAAI;CAGd;AAGD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAsCzC"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAA4C,MAAM,UAAU,CAAC;AAEvF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;;IAQjC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3F,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAKzF,QAAQ;IAqCtB,OAAO,CAAC,0BAA0B;IAyDlC,KAAK,IAAI,IAAI;CAGd;AAGD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAsCzC"}
@@ -45,8 +45,59 @@ class MAVLinkGenerator {
45
45
  const indexContent = this.templateEngine.generateIndex(tsDialect, options.includeEnums);
46
46
  await fs_1.promises.writeFile((0, path_1.join)(outputPath, 'index.ts'), indexContent);
47
47
  }
48
+ // Always generate decoder definitions in dist folder (for both single and separate modes)
49
+ const decoderContent = this.generateDecoderDefinitions(definition, options.dialectName);
50
+ const distDecoderPath = (0, path_1.join)(process.cwd(), 'dist', 'decoders', `${options.dialectName}.ts`);
51
+ await fs_1.promises.mkdir((0, path_1.join)(process.cwd(), 'dist', 'decoders'), { recursive: true });
52
+ await fs_1.promises.writeFile(distDecoderPath, decoderContent);
48
53
  console.log(`Generated TypeScript types for ${options.dialectName} in ${outputPath}`);
49
54
  }
55
+ generateDecoderDefinitions(definition, dialectName) {
56
+ let code = `// Auto-generated decoder definitions for ${dialectName} dialect\n`;
57
+ code += `// Generated from MAVLink XML definitions\n\n`;
58
+ code += `export interface MessageDefinition {\n`;
59
+ code += ` id: number;\n`;
60
+ code += ` name: string;\n`;
61
+ code += ` fields: FieldDefinition[];\n`;
62
+ code += `}\n\n`;
63
+ code += `export interface FieldDefinition {\n`;
64
+ code += ` name: string;\n`;
65
+ code += ` type: string;\n`;
66
+ code += ` arrayLength?: number;\n`;
67
+ code += ` extension?: boolean;\n`;
68
+ code += `}\n\n`;
69
+ code += `export const MESSAGE_DEFINITIONS: MessageDefinition[] = [\n`;
70
+ for (const message of definition.messages || []) {
71
+ code += ` {\n`;
72
+ code += ` id: ${message.id},\n`;
73
+ code += ` name: '${message.name}',\n`;
74
+ code += ` fields: [\n`;
75
+ for (const field of message.fields || []) {
76
+ let fieldType = field.type;
77
+ let arrayLength;
78
+ // Handle array types like uint8_t[4]
79
+ const arrayMatch = fieldType.match(/^([^[]+)\[(\d+)\]$/);
80
+ if (arrayMatch) {
81
+ fieldType = arrayMatch[1];
82
+ arrayLength = parseInt(arrayMatch[2]);
83
+ }
84
+ code += ` {\n`;
85
+ code += ` name: '${field.name}',\n`;
86
+ code += ` type: '${fieldType}',\n`;
87
+ if (arrayLength) {
88
+ code += ` arrayLength: ${arrayLength},\n`;
89
+ }
90
+ if (field.extension) {
91
+ code += ` extension: ${field.extension},\n`;
92
+ }
93
+ code += ` },\n`;
94
+ }
95
+ code += ` ]\n`;
96
+ code += ` },\n`;
97
+ }
98
+ code += `];\n`;
99
+ return code;
100
+ }
50
101
  reset() {
51
102
  this.xmlParser.reset();
52
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,6 @@ export declare class TemplateEngine {
9
9
  generateMessages(dialect: TypeScriptDialect): string;
10
10
  generateIndex(dialect: TypeScriptDialect, includeEnums?: boolean): string;
11
11
  generateSingle(dialect: TypeScriptDialect): string;
12
+ generateDecoder(dialect: TypeScriptDialect): string;
12
13
  }
13
14
  //# sourceMappingURL=template-engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../src/generator/template-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,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"}
1
+ {"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../src/generator/template-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAsD;;IAOvE,OAAO,CAAC,mBAAmB;IA4M3B,OAAO,CAAC,eAAe;IAkBvB,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;IAQlD,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;CAQpD"}
@@ -167,6 +167,46 @@ export function is{{ name }}(msg: MAVLinkMessage): msg is MAVLinkMessage<Message
167
167
  return msg.type === '{{ originalName }}';
168
168
  }
169
169
  {{/each}}
170
+ `));
171
+ // Decoder definitions template
172
+ this.templates.set('decoder', handlebars_1.default.compile(`// Auto-generated decoder definitions for {{{ dialectName }}} dialect
173
+ // Generated from MAVLink XML definitions
174
+
175
+ interface MessageDefinition {
176
+ id: number;
177
+ name: string;
178
+ fields: FieldDefinition[];
179
+ }
180
+
181
+ interface FieldDefinition {
182
+ name: string;
183
+ type: string;
184
+ arrayLength?: number;
185
+ extension?: boolean;
186
+ }
187
+
188
+ export const {{toUpperCase dialectName}}_MESSAGE_DEFINITIONS: MessageDefinition[] = [
189
+ {{#each messages}}
190
+ {
191
+ id: {{ id }},
192
+ name: '{{{ originalName }}}',
193
+ fields: [
194
+ {{#each fields}}
195
+ {
196
+ name: '{{{ name }}}',
197
+ type: '{{{ originalType }}}',
198
+ {{#if arrayLength}}
199
+ arrayLength: {{ arrayLength }},
200
+ {{/if}}
201
+ {{#if extension}}
202
+ extension: {{ extension }},
203
+ {{/if}}
204
+ },
205
+ {{/each}}
206
+ ]
207
+ },
208
+ {{/each}}
209
+ ];
170
210
  `));
171
211
  }
172
212
  registerHelpers() {
@@ -179,6 +219,9 @@ export function is{{ name }}(msg: MAVLinkMessage): msg is MAVLinkMessage<Message
179
219
  handlebars_1.default.registerHelper('ne', (a, b) => {
180
220
  return a !== b;
181
221
  });
222
+ handlebars_1.default.registerHelper('toUpperCase', (str) => {
223
+ return str.toUpperCase();
224
+ });
182
225
  }
183
226
  generateTypes(dialect) {
184
227
  const template = this.templates.get('types');
@@ -215,6 +258,13 @@ export function is{{ name }}(msg: MAVLinkMessage): msg is MAVLinkMessage<Message
215
258
  }
216
259
  return template(dialect);
217
260
  }
261
+ generateDecoder(dialect) {
262
+ const template = this.templates.get('decoder');
263
+ if (!template) {
264
+ throw new Error('Decoder template not found');
265
+ }
266
+ return template(dialect);
267
+ }
218
268
  }
219
269
  exports.TemplateEngine = TemplateEngine;
220
270
  //# sourceMappingURL=template-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../src/generator/template-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../src/generator/template-engine.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAoC;AAGpC,MAAa,cAAc;IAGzB;QAFQ,cAAS,GAA4C,IAAI,GAAG,EAAE,CAAC;QAGrE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,mBAAmB;QACzB,sBAAsB;QACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBlD,CAAC,CAAC,CAAC;QAEA,iBAAiB;QACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;CAgBlD,CAAC,CAAC,CAAC;QAEA,oBAAoB;QACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CrD,CAAC,CAAC,CAAC;QAEA,iBAAiB;QACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAU,CAAC,OAAO,CAAC;;;;;;CAMlD,CAAC,CAAC,CAAC;QAEA,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,oBAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DnD,CAAC,CAAC,CAAC;QAEA,+BAA+B;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,oBAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCpD,CAAC,CAAC,CAAC;IACF,CAAC;IAEO,eAAe;QACrB,oBAAU,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,KAAe,EAAE,SAAiB,EAAE,EAAE;YACvE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;YACzD,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;YACzD,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,GAAW,EAAE,EAAE;YACvD,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,OAA0B;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,OAA0B;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,OAA0B;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,OAA0B,EAAE,eAAwB,KAAK;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,QAAQ,CAAC,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,cAAc,CAAC,OAA0B;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,eAAe,CAAC,OAA0B;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;CAEF;AAtRD,wCAsRC"}
@@ -0,0 +1,14 @@
1
+ interface MessageDefinition {
2
+ id: number;
3
+ name: string;
4
+ fields: FieldDefinition[];
5
+ }
6
+ interface FieldDefinition {
7
+ name: string;
8
+ type: string;
9
+ arrayLength?: number;
10
+ extension?: boolean;
11
+ }
12
+ export declare const ARDUPILOTMEGA_MESSAGE_DEFINITIONS: MessageDefinition[];
13
+ export {};
14
+ //# sourceMappingURL=ardupilotmega-decoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ardupilotmega-decoder.d.ts","sourceRoot":"","sources":["../../../src/parser/decoders/ardupilotmega-decoder.ts"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,EAkpXhE,CAAC"}