18 #include <unordered_map>
24 using mavlink::minimal::MAV_AUTOPILOT;
25 using mavlink::minimal::MAV_TYPE;
26 using mavlink::minimal::MAV_STATE;
27 using mavlink::minimal::MAV_COMPONENT;
28 using mavlink::common::MAV_ESTIMATOR_TYPE;
29 using mavlink::common::ADSB_ALTITUDE_TYPE;
30 using mavlink::common::ADSB_EMITTER_TYPE;
31 using mavlink::common::GPS_FIX_TYPE;
32 using mavlink::common::MAV_MISSION_RESULT;
33 using mavlink::common::MAV_FRAME;
34 using mavlink::common::MAV_DISTANCE_SENSOR;
35 using mavlink::common::LANDING_TARGET_TYPE;
110 "Reserved for future use",
114 "Generic autopilot only supporting simple waypoints",
115 "Generic autopilot supporting waypoints and other simple navigation commands",
116 "Generic autopilot supporting the full mission command set",
117 "No valid autopilot",
158 "Generic micro air vehicle",
159 "Fixed wing aircraft",
161 "Coaxial helicopter",
162 "Normal helicopter with tail rotor",
163 "Ground installation",
164 "Operator control unit",
176 "Onboard companion controller",
190 "FLARM collision avoidance system",
192 "Open Drone ID. See https:",
237 "ONBOARD_CONTROLLER",
298 "Flight_Termination",
345 std::underlying_type<timesync_mode>::type rv = idx;
482 "mission accepted OK",
483 "Generic error / not accepting mission commands at all right now.",
484 "Coordinate frame is not supported.",
485 "Command is not supported.",
486 "Mission items exceed storage space.",
487 "One of the parameters has an invalid value.",
488 "param1 has an invalid value.",
489 "param2 has an invalid value.",
490 "param3 has an invalid value.",
491 "param4 has an invalid value.",
492 "x / param5 has an invalid value.",
493 "y / param6 has an invalid value.",
494 "z / param7 has an invalid value.",
495 "Mission item received out of sequence",
496 "Not accepting any mission commands from this communication partner.",
497 "Current mission operation cancelled (e.g. mission upload, mission download).",
519 "GLOBAL_RELATIVE_ALT",
522 "GLOBAL_RELATIVE_ALT_INT",
526 "GLOBAL_TERRAIN_ALT",
527 "GLOBAL_TERRAIN_ALT_INT",
566 static const std::unordered_map<typename std::underlying_type<MAV_COMPONENT>::type,
const std::string>
mav_comp_id_strings{{
612 { 68,
"TELEMETRY_RADIO" },
668 { 158,
"PERIPHERAL" },
669 { 159,
"QX1_GIMBAL" },
671 { 161,
"PARACHUTE" },
680 { 190,
"MISSIONPLANNER" },
681 { 191,
"ONBOARD_COMPUTER" },
682 { 192,
"ONBOARD_COMPUTER2" },
683 { 193,
"ONBOARD_COMPUTER3" },
684 { 194,
"ONBOARD_COMPUTER4" },
685 { 195,
"PATHPLANNER" },
686 { 196,
"OBSTACLE_AVOIDANCE" },
687 { 197,
"VISUAL_INERTIAL_ODOMETRY" },
688 { 198,
"PAIRING_MANAGER" },
694 { 236,
"ODID_TXRX_1" },
695 { 237,
"ODID_TXRX_2" },
696 { 238,
"ODID_TXRX_3" },
697 { 240,
"UDP_BRIDGE" },
698 { 241,
"UART_BRIDGE" },
699 { 242,
"TUNNEL_NODE" },
700 { 250,
"SYSTEM_CONTROL" },
719 std::underlying_type<MAV_FRAME>::type rv = idx;
720 return static_cast<MAV_FRAME
>(rv);
725 return MAV_FRAME::LOCAL_NED;
732 std::underlying_type<MAV_TYPE>::type rv = idx;
733 return static_cast<MAV_TYPE
>(rv);
737 return MAV_TYPE::GENERIC;
789 std::underlying_type<LANDING_TARGET_TYPE>::type rv = idx;
790 return static_cast<LANDING_TARGET_TYPE
>(rv);
793 ROS_ERROR_STREAM_NAMED(
"uas",
"TYPE: Unknown LANDING_TARGET_TYPE: " << landing_target_type <<
". Defaulting to LIGHT_BEACON");
794 return LANDING_TARGET_TYPE::LIGHT_BEACON;