~/catkin_ws/src/mavros/mavros/src/lib/uas_stringify.cpp
//! PX4 custom mode -> string
static const cmode_map px4_cmode_map{{
{ px4::define_mode(px4::custom_mode::MAIN_MODE_MANUAL), "MANUAL" },
{ px4::define_mode(px4::custom_mode::MAIN_MODE_ACRO), "ACRO" },
{ px4::define_mode(px4::custom_mode::MAIN_MODE_ALTCTL), "ALTCTL" },
{ px4::define_mode(px4::custom_mode::MAIN_MODE_POSCTL), "POSCTL" },
{ px4::define_mode(px4::custom_mode::MAIN_MODE_OFFBOARD), "OFFBOARD" },
{ px4::define_mode(px4::custom_mode::MAIN_MODE_STABILIZED), "STABILIZED" },
{ px4::define_mode(px4::custom_mode::MAIN_MODE_RATTITUDE), "RATTITUDE" },
{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_MISSION), "AUTO.MISSION" },
{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_LOITER), "AUTO.LOITER" },
{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_RTL), "AUTO.RTL" },
{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_LAND), "AUTO.LAND" },
{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_RTGS), "AUTO.RTGS" },
{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_READY), "AUTO.READY" },
{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_TAKEOFF), "AUTO.TAKEOFF" },
{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_FOLLOW_TARGET), "AUTO.FOLLOW_TARGET" },
{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_PRECLAND), "AUTO.PRECLAND" },
}};