2 * @brief MAVLink comm protocol generated from minimal.xml
3 * @see http://mavlink.org
6 #ifndef MAVLINK_MINIMAL_H
7 #define MAVLINK_MINIMAL_H
10 #error Wrong include order: MAVLINK_MINIMAL.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
13 #undef MAVLINK_THIS_XML_IDX
14 #define MAVLINK_THIS_XML_IDX 1
20 // MESSAGE LENGTHS AND CRCS
22 #ifndef MAVLINK_MESSAGE_LENGTHS
23 #define MAVLINK_MESSAGE_LENGTHS {}
26 #ifndef MAVLINK_MESSAGE_CRCS
27 #define MAVLINK_MESSAGE_CRCS {{0, 50, 9, 9, 0, 0, 0}, {300, 217, 22, 22, 0, 0, 0}}
30 #include "../protocol.h"
32 #define MAVLINK_ENABLED_MINIMAL
37 /** @brief Micro air vehicle / autopilot classes. This identifies the individual model. */
38 #ifndef HAVE_ENUM_MAV_AUTOPILOT
39 #define HAVE_ENUM_MAV_AUTOPILOT
40 typedef enum MAV_AUTOPILOT
42 MAV_AUTOPILOT_GENERIC
=0, /* Generic autopilot, full support for everything | */
43 MAV_AUTOPILOT_RESERVED
=1, /* Reserved for future use. | */
44 MAV_AUTOPILOT_SLUGS
=2, /* SLUGS autopilot, http://slugsuav.soe.ucsc.edu | */
45 MAV_AUTOPILOT_ARDUPILOTMEGA
=3, /* ArduPilot - Plane/Copter/Rover/Sub/Tracker, https://ardupilot.org | */
46 MAV_AUTOPILOT_OPENPILOT
=4, /* OpenPilot, http://openpilot.org | */
47 MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY
=5, /* Generic autopilot only supporting simple waypoints | */
48 MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY
=6, /* Generic autopilot supporting waypoints and other simple navigation commands | */
49 MAV_AUTOPILOT_GENERIC_MISSION_FULL
=7, /* Generic autopilot supporting the full mission command set | */
50 MAV_AUTOPILOT_INVALID
=8, /* No valid autopilot, e.g. a GCS or other MAVLink component | */
51 MAV_AUTOPILOT_PPZ
=9, /* PPZ UAV - http://nongnu.org/paparazzi | */
52 MAV_AUTOPILOT_UDB
=10, /* UAV Dev Board | */
53 MAV_AUTOPILOT_FP
=11, /* FlexiPilot | */
54 MAV_AUTOPILOT_PX4
=12, /* PX4 Autopilot - http://px4.io/ | */
55 MAV_AUTOPILOT_SMACCMPILOT
=13, /* SMACCMPilot - http://smaccmpilot.org | */
56 MAV_AUTOPILOT_AUTOQUAD
=14, /* AutoQuad -- http://autoquad.org | */
57 MAV_AUTOPILOT_ARMAZILA
=15, /* Armazila -- http://armazila.com | */
58 MAV_AUTOPILOT_AEROB
=16, /* Aerob -- http://aerob.ru | */
59 MAV_AUTOPILOT_ASLUAV
=17, /* ASLUAV autopilot -- http://www.asl.ethz.ch | */
60 MAV_AUTOPILOT_SMARTAP
=18, /* SmartAP Autopilot - http://sky-drones.com | */
61 MAV_AUTOPILOT_AIRRAILS
=19, /* AirRails - http://uaventure.com | */
62 MAV_AUTOPILOT_ENUM_END
=20, /* | */
66 /** @brief MAVLINK component type reported in HEARTBEAT message. Flight controllers must report the type of the vehicle on which they are mounted (e.g. MAV_TYPE_OCTOROTOR). All other components must report a value appropriate for their type (e.g. a camera must use MAV_TYPE_CAMERA). */
67 #ifndef HAVE_ENUM_MAV_TYPE
68 #define HAVE_ENUM_MAV_TYPE
71 MAV_TYPE_GENERIC
=0, /* Generic micro air vehicle | */
72 MAV_TYPE_FIXED_WING
=1, /* Fixed wing aircraft. | */
73 MAV_TYPE_QUADROTOR
=2, /* Quadrotor | */
74 MAV_TYPE_COAXIAL
=3, /* Coaxial helicopter | */
75 MAV_TYPE_HELICOPTER
=4, /* Normal helicopter with tail rotor. | */
76 MAV_TYPE_ANTENNA_TRACKER
=5, /* Ground installation | */
77 MAV_TYPE_GCS
=6, /* Operator control unit / ground control station | */
78 MAV_TYPE_AIRSHIP
=7, /* Airship, controlled | */
79 MAV_TYPE_FREE_BALLOON
=8, /* Free balloon, uncontrolled | */
80 MAV_TYPE_ROCKET
=9, /* Rocket | */
81 MAV_TYPE_GROUND_ROVER
=10, /* Ground rover | */
82 MAV_TYPE_SURFACE_BOAT
=11, /* Surface vessel, boat, ship | */
83 MAV_TYPE_SUBMARINE
=12, /* Submarine | */
84 MAV_TYPE_HEXAROTOR
=13, /* Hexarotor | */
85 MAV_TYPE_OCTOROTOR
=14, /* Octorotor | */
86 MAV_TYPE_TRICOPTER
=15, /* Tricopter | */
87 MAV_TYPE_FLAPPING_WING
=16, /* Flapping wing | */
88 MAV_TYPE_KITE
=17, /* Kite | */
89 MAV_TYPE_ONBOARD_CONTROLLER
=18, /* Onboard companion controller | */
90 MAV_TYPE_VTOL_DUOROTOR
=19, /* Two-rotor VTOL using control surfaces in vertical operation in addition. Tailsitter. | */
91 MAV_TYPE_VTOL_QUADROTOR
=20, /* Quad-rotor VTOL using a V-shaped quad config in vertical operation. Tailsitter. | */
92 MAV_TYPE_VTOL_TILTROTOR
=21, /* Tiltrotor VTOL | */
93 MAV_TYPE_VTOL_RESERVED2
=22, /* VTOL reserved 2 | */
94 MAV_TYPE_VTOL_RESERVED3
=23, /* VTOL reserved 3 | */
95 MAV_TYPE_VTOL_RESERVED4
=24, /* VTOL reserved 4 | */
96 MAV_TYPE_VTOL_RESERVED5
=25, /* VTOL reserved 5 | */
97 MAV_TYPE_GIMBAL
=26, /* Gimbal | */
98 MAV_TYPE_ADSB
=27, /* ADSB system | */
99 MAV_TYPE_PARAFOIL
=28, /* Steerable, nonrigid airfoil | */
100 MAV_TYPE_DODECAROTOR
=29, /* Dodecarotor | */
101 MAV_TYPE_CAMERA
=30, /* Camera | */
102 MAV_TYPE_CHARGING_STATION
=31, /* Charging station | */
103 MAV_TYPE_FLARM
=32, /* FLARM collision avoidance system | */
104 MAV_TYPE_SERVO
=33, /* Servo | */
105 MAV_TYPE_ODID
=34, /* Open Drone ID. See https://mavlink.io/en/services/opendroneid.html. | */
106 MAV_TYPE_DECAROTOR
=35, /* Decarotor | */
107 MAV_TYPE_ENUM_END
=36, /* | */
111 /** @brief These flags encode the MAV mode. */
112 #ifndef HAVE_ENUM_MAV_MODE_FLAG
113 #define HAVE_ENUM_MAV_MODE_FLAG
114 typedef enum MAV_MODE_FLAG
116 MAV_MODE_FLAG_CUSTOM_MODE_ENABLED
=1, /* 0b00000001 Reserved for future use. | */
117 MAV_MODE_FLAG_TEST_ENABLED
=2, /* 0b00000010 system has a test mode enabled. This flag is intended for temporary system tests and should not be used for stable implementations. | */
118 MAV_MODE_FLAG_AUTO_ENABLED
=4, /* 0b00000100 autonomous mode enabled, system finds its own goal positions. Guided flag can be set or not, depends on the actual implementation. | */
119 MAV_MODE_FLAG_GUIDED_ENABLED
=8, /* 0b00001000 guided mode enabled, system flies waypoints / mission items. | */
120 MAV_MODE_FLAG_STABILIZE_ENABLED
=16, /* 0b00010000 system stabilizes electronically its attitude (and optionally position). It needs however further control inputs to move around. | */
121 MAV_MODE_FLAG_HIL_ENABLED
=32, /* 0b00100000 hardware in the loop simulation. All motors / actuators are blocked, but internal software is full operational. | */
122 MAV_MODE_FLAG_MANUAL_INPUT_ENABLED
=64, /* 0b01000000 remote control input is enabled. | */
123 MAV_MODE_FLAG_SAFETY_ARMED
=128, /* 0b10000000 MAV safety set to armed. Motors are enabled / running / can start. Ready to fly. Additional note: this flag is to be ignore when sent in the command MAV_CMD_DO_SET_MODE and MAV_CMD_COMPONENT_ARM_DISARM shall be used instead. The flag can still be used to report the armed state. | */
124 MAV_MODE_FLAG_ENUM_END
=129, /* | */
128 /** @brief These values encode the bit positions of the decode position. These values can be used to read the value of a flag bit by combining the base_mode variable with AND with the flag position value. The result will be either 0 or 1, depending on if the flag is set or not. */
129 #ifndef HAVE_ENUM_MAV_MODE_FLAG_DECODE_POSITION
130 #define HAVE_ENUM_MAV_MODE_FLAG_DECODE_POSITION
131 typedef enum MAV_MODE_FLAG_DECODE_POSITION
133 MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE
=1, /* Eighth bit: 00000001 | */
134 MAV_MODE_FLAG_DECODE_POSITION_TEST
=2, /* Seventh bit: 00000010 | */
135 MAV_MODE_FLAG_DECODE_POSITION_AUTO
=4, /* Sixth bit: 00000100 | */
136 MAV_MODE_FLAG_DECODE_POSITION_GUIDED
=8, /* Fifth bit: 00001000 | */
137 MAV_MODE_FLAG_DECODE_POSITION_STABILIZE
=16, /* Fourth bit: 00010000 | */
138 MAV_MODE_FLAG_DECODE_POSITION_HIL
=32, /* Third bit: 00100000 | */
139 MAV_MODE_FLAG_DECODE_POSITION_MANUAL
=64, /* Second bit: 01000000 | */
140 MAV_MODE_FLAG_DECODE_POSITION_SAFETY
=128, /* First bit: 10000000 | */
141 MAV_MODE_FLAG_DECODE_POSITION_ENUM_END
=129, /* | */
142 } MAV_MODE_FLAG_DECODE_POSITION
;
146 #ifndef HAVE_ENUM_MAV_STATE
147 #define HAVE_ENUM_MAV_STATE
148 typedef enum MAV_STATE
150 MAV_STATE_UNINIT
=0, /* Uninitialized system, state is unknown. | */
151 MAV_STATE_BOOT
=1, /* System is booting up. | */
152 MAV_STATE_CALIBRATING
=2, /* System is calibrating and not flight-ready. | */
153 MAV_STATE_STANDBY
=3, /* System is grounded and on standby. It can be launched any time. | */
154 MAV_STATE_ACTIVE
=4, /* System is active and might be already airborne. Motors are engaged. | */
155 MAV_STATE_CRITICAL
=5, /* System is in a non-normal flight mode. It can however still navigate. | */
156 MAV_STATE_EMERGENCY
=6, /* System is in a non-normal flight mode. It lost control over parts or over the whole airframe. It is in mayday and going down. | */
157 MAV_STATE_POWEROFF
=7, /* System just initialized its power-down sequence, will shut down now. | */
158 MAV_STATE_FLIGHT_TERMINATION
=8, /* System is terminating itself. | */
159 MAV_STATE_ENUM_END
=9, /* | */
163 /** @brief Component ids (values) for the different types and instances of onboard hardware/software that might make up a MAVLink system (autopilot, cameras, servos, GPS systems, avoidance systems etc.).
164 Components must use the appropriate ID in their source address when sending messages. Components can also use IDs to determine if they are the intended recipient of an incoming message. The MAV_COMP_ID_ALL value is used to indicate messages that must be processed by all components.
165 When creating new entries, components that can have multiple instances (e.g. cameras, servos etc.) should be allocated sequential values. An appropriate number of values should be left free after these components to allow the number of instances to be expanded. */
166 #ifndef HAVE_ENUM_MAV_COMPONENT
167 #define HAVE_ENUM_MAV_COMPONENT
168 typedef enum MAV_COMPONENT
170 MAV_COMP_ID_ALL
=0, /* Target id (target_component) used to broadcast messages to all components of the receiving system. Components should attempt to process messages with this component ID and forward to components on any other interfaces. Note: This is not a valid *source* component id for a message. | */
171 MAV_COMP_ID_AUTOPILOT1
=1, /* System flight controller component ("autopilot"). Only one autopilot is expected in a particular system. | */
172 MAV_COMP_ID_USER1
=25, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
173 MAV_COMP_ID_USER2
=26, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
174 MAV_COMP_ID_USER3
=27, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
175 MAV_COMP_ID_USER4
=28, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
176 MAV_COMP_ID_USER5
=29, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
177 MAV_COMP_ID_USER6
=30, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
178 MAV_COMP_ID_USER7
=31, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
179 MAV_COMP_ID_USER8
=32, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
180 MAV_COMP_ID_USER9
=33, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
181 MAV_COMP_ID_USER10
=34, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
182 MAV_COMP_ID_USER11
=35, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
183 MAV_COMP_ID_USER12
=36, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
184 MAV_COMP_ID_USER13
=37, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
185 MAV_COMP_ID_USER14
=38, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
186 MAV_COMP_ID_USER15
=39, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
187 MAV_COMP_ID_USER16
=40, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
188 MAV_COMP_ID_USER17
=41, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
189 MAV_COMP_ID_USER18
=42, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
190 MAV_COMP_ID_USER19
=43, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
191 MAV_COMP_ID_USER20
=44, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
192 MAV_COMP_ID_USER21
=45, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
193 MAV_COMP_ID_USER22
=46, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
194 MAV_COMP_ID_USER23
=47, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
195 MAV_COMP_ID_USER24
=48, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
196 MAV_COMP_ID_USER25
=49, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
197 MAV_COMP_ID_USER26
=50, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
198 MAV_COMP_ID_USER27
=51, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
199 MAV_COMP_ID_USER28
=52, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
200 MAV_COMP_ID_USER29
=53, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
201 MAV_COMP_ID_USER30
=54, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
202 MAV_COMP_ID_USER31
=55, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
203 MAV_COMP_ID_USER32
=56, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
204 MAV_COMP_ID_USER33
=57, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
205 MAV_COMP_ID_USER34
=58, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
206 MAV_COMP_ID_USER35
=59, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
207 MAV_COMP_ID_USER36
=60, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
208 MAV_COMP_ID_USER37
=61, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
209 MAV_COMP_ID_USER38
=62, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
210 MAV_COMP_ID_USER39
=63, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
211 MAV_COMP_ID_USER40
=64, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
212 MAV_COMP_ID_USER41
=65, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
213 MAV_COMP_ID_USER42
=66, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
214 MAV_COMP_ID_USER43
=67, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
215 MAV_COMP_ID_TELEMETRY_RADIO
=68, /* Telemetry radio (e.g. SiK radio, or other component that emits RADIO_STATUS messages). | */
216 MAV_COMP_ID_USER45
=69, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
217 MAV_COMP_ID_USER46
=70, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
218 MAV_COMP_ID_USER47
=71, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
219 MAV_COMP_ID_USER48
=72, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
220 MAV_COMP_ID_USER49
=73, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
221 MAV_COMP_ID_USER50
=74, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
222 MAV_COMP_ID_USER51
=75, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
223 MAV_COMP_ID_USER52
=76, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
224 MAV_COMP_ID_USER53
=77, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
225 MAV_COMP_ID_USER54
=78, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
226 MAV_COMP_ID_USER55
=79, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
227 MAV_COMP_ID_USER56
=80, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
228 MAV_COMP_ID_USER57
=81, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
229 MAV_COMP_ID_USER58
=82, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
230 MAV_COMP_ID_USER59
=83, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
231 MAV_COMP_ID_USER60
=84, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
232 MAV_COMP_ID_USER61
=85, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
233 MAV_COMP_ID_USER62
=86, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
234 MAV_COMP_ID_USER63
=87, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
235 MAV_COMP_ID_USER64
=88, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
236 MAV_COMP_ID_USER65
=89, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
237 MAV_COMP_ID_USER66
=90, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
238 MAV_COMP_ID_USER67
=91, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
239 MAV_COMP_ID_USER68
=92, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
240 MAV_COMP_ID_USER69
=93, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
241 MAV_COMP_ID_USER70
=94, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
242 MAV_COMP_ID_USER71
=95, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
243 MAV_COMP_ID_USER72
=96, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
244 MAV_COMP_ID_USER73
=97, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
245 MAV_COMP_ID_USER74
=98, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
246 MAV_COMP_ID_USER75
=99, /* Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network. | */
247 MAV_COMP_ID_CAMERA
=100, /* Camera #1. | */
248 MAV_COMP_ID_CAMERA2
=101, /* Camera #2. | */
249 MAV_COMP_ID_CAMERA3
=102, /* Camera #3. | */
250 MAV_COMP_ID_CAMERA4
=103, /* Camera #4. | */
251 MAV_COMP_ID_CAMERA5
=104, /* Camera #5. | */
252 MAV_COMP_ID_CAMERA6
=105, /* Camera #6. | */
253 MAV_COMP_ID_SERVO1
=140, /* Servo #1. | */
254 MAV_COMP_ID_SERVO2
=141, /* Servo #2. | */
255 MAV_COMP_ID_SERVO3
=142, /* Servo #3. | */
256 MAV_COMP_ID_SERVO4
=143, /* Servo #4. | */
257 MAV_COMP_ID_SERVO5
=144, /* Servo #5. | */
258 MAV_COMP_ID_SERVO6
=145, /* Servo #6. | */
259 MAV_COMP_ID_SERVO7
=146, /* Servo #7. | */
260 MAV_COMP_ID_SERVO8
=147, /* Servo #8. | */
261 MAV_COMP_ID_SERVO9
=148, /* Servo #9. | */
262 MAV_COMP_ID_SERVO10
=149, /* Servo #10. | */
263 MAV_COMP_ID_SERVO11
=150, /* Servo #11. | */
264 MAV_COMP_ID_SERVO12
=151, /* Servo #12. | */
265 MAV_COMP_ID_SERVO13
=152, /* Servo #13. | */
266 MAV_COMP_ID_SERVO14
=153, /* Servo #14. | */
267 MAV_COMP_ID_GIMBAL
=154, /* Gimbal #1. | */
268 MAV_COMP_ID_LOG
=155, /* Logging component. | */
269 MAV_COMP_ID_ADSB
=156, /* Automatic Dependent Surveillance-Broadcast (ADS-B) component. | */
270 MAV_COMP_ID_OSD
=157, /* On Screen Display (OSD) devices for video links. | */
271 MAV_COMP_ID_PERIPHERAL
=158, /* Generic autopilot peripheral component ID. Meant for devices that do not implement the parameter microservice. | */
272 MAV_COMP_ID_QX1_GIMBAL
=159, /* Gimbal ID for QX1. | */
273 MAV_COMP_ID_FLARM
=160, /* FLARM collision alert component. | */
274 MAV_COMP_ID_GIMBAL2
=171, /* Gimbal #2. | */
275 MAV_COMP_ID_GIMBAL3
=172, /* Gimbal #3. | */
276 MAV_COMP_ID_GIMBAL4
=173, /* Gimbal #4 | */
277 MAV_COMP_ID_GIMBAL5
=174, /* Gimbal #5. | */
278 MAV_COMP_ID_GIMBAL6
=175, /* Gimbal #6. | */
279 MAV_COMP_ID_MISSIONPLANNER
=190, /* Component that can generate/supply a mission flight plan (e.g. GCS or developer API). | */
280 MAV_COMP_ID_ONBOARD_COMPUTER
=191, /* Component that lives on the onboard computer (companion computer) and has some generic functionalities, such as settings system parameters and monitoring the status of some processes that don't directly speak mavlink and so on. | */
281 MAV_COMP_ID_PATHPLANNER
=195, /* Component that finds an optimal path between points based on a certain constraint (e.g. minimum snap, shortest path, cost, etc.). | */
282 MAV_COMP_ID_OBSTACLE_AVOIDANCE
=196, /* Component that plans a collision free path between two points. | */
283 MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY
=197, /* Component that provides position estimates using VIO techniques. | */
284 MAV_COMP_ID_PAIRING_MANAGER
=198, /* Component that manages pairing of vehicle and GCS. | */
285 MAV_COMP_ID_IMU
=200, /* Inertial Measurement Unit (IMU) #1. | */
286 MAV_COMP_ID_IMU_2
=201, /* Inertial Measurement Unit (IMU) #2. | */
287 MAV_COMP_ID_IMU_3
=202, /* Inertial Measurement Unit (IMU) #3. | */
288 MAV_COMP_ID_GPS
=220, /* GPS #1. | */
289 MAV_COMP_ID_GPS2
=221, /* GPS #2. | */
290 MAV_COMP_ID_ODID_TXRX_1
=236, /* Open Drone ID transmitter/receiver (Bluetooth/WiFi/Internet). | */
291 MAV_COMP_ID_ODID_TXRX_2
=237, /* Open Drone ID transmitter/receiver (Bluetooth/WiFi/Internet). | */
292 MAV_COMP_ID_ODID_TXRX_3
=238, /* Open Drone ID transmitter/receiver (Bluetooth/WiFi/Internet). | */
293 MAV_COMP_ID_UDP_BRIDGE
=240, /* Component to bridge MAVLink to UDP (i.e. from a UART). | */
294 MAV_COMP_ID_UART_BRIDGE
=241, /* Component to bridge to UART (i.e. from UDP). | */
295 MAV_COMP_ID_TUNNEL_NODE
=242, /* Component handling TUNNEL messages (e.g. vendor specific GUI of a component). | */
296 MAV_COMP_ID_SYSTEM_CONTROL
=250, /* Component for handling system messages (e.g. to ARM, takeoff, etc.). | */
297 MAV_COMPONENT_ENUM_END
=251, /* | */
303 #ifndef MAVLINK_VERSION
304 #define MAVLINK_VERSION 3
307 #if (MAVLINK_VERSION == 0)
308 #undef MAVLINK_VERSION
309 #define MAVLINK_VERSION 3
312 // MESSAGE DEFINITIONS
313 #include "./mavlink_msg_heartbeat.h"
314 #include "./mavlink_msg_protocol_version.h"
319 #undef MAVLINK_THIS_XML_IDX
320 #define MAVLINK_THIS_XML_IDX 1
322 #if MAVLINK_THIS_XML_IDX == MAVLINK_PRIMARY_XML_IDX
323 # define MAVLINK_MESSAGE_INFO {MAVLINK_MESSAGE_INFO_HEARTBEAT, MAVLINK_MESSAGE_INFO_PROTOCOL_VERSION}
324 # define MAVLINK_MESSAGE_NAMES {{ "HEARTBEAT", 0 }, { "PROTOCOL_VERSION", 300 }}
325 # if MAVLINK_COMMAND_24BIT
326 # include "../mavlink_get_info.h"
332 #endif // __cplusplus
333 #endif // MAVLINK_MINIMAL_H