WP altitude enforce hold fix
[inav.git] / src / main / msp / msp_protocol_v2_inav.h
blob356cd54ca5af39d4d70c3559c3d56a3da1b3af74
1 /*
2 * This file is part of INAV
4 * INAV is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * INAV is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with INAV. If not, see <http://www.gnu.org/licenses/>.
18 // INAV specific IDs start from 0x2000
19 // See https://github.com/iNavFlight/inav/wiki/MSP-V2#msp-v2-message-catalogue
21 #define MSP2_INAV_STATUS 0x2000
22 #define MSP2_INAV_OPTICAL_FLOW 0x2001
23 #define MSP2_INAV_ANALOG 0x2002
24 #define MSP2_INAV_MISC 0x2003
25 #define MSP2_INAV_SET_MISC 0x2004
26 #define MSP2_INAV_BATTERY_CONFIG 0x2005
27 #define MSP2_INAV_SET_BATTERY_CONFIG 0x2006
28 #define MSP2_INAV_RATE_PROFILE 0x2007
29 #define MSP2_INAV_SET_RATE_PROFILE 0x2008
30 #define MSP2_INAV_AIR_SPEED 0x2009
31 #define MSP2_INAV_OUTPUT_MAPPING 0x200A
32 #define MSP2_INAV_MC_BRAKING 0x200B
33 #define MSP2_INAV_SET_MC_BRAKING 0x200C
34 #define MSP2_INAV_OUTPUT_MAPPING_EXT 0x200D
35 #define MSP2_INAV_TIMER_OUTPUT_MODE 0x200E
36 #define MSP2_INAV_SET_TIMER_OUTPUT_MODE 0x200F
38 #define MSP2_INAV_MIXER 0x2010
39 #define MSP2_INAV_SET_MIXER 0x2011
41 #define MSP2_INAV_OSD_LAYOUTS 0x2012
42 #define MSP2_INAV_OSD_SET_LAYOUT_ITEM 0x2013
43 #define MSP2_INAV_OSD_ALARMS 0x2014
44 #define MSP2_INAV_OSD_SET_ALARMS 0x2015
45 #define MSP2_INAV_OSD_PREFERENCES 0x2016
46 #define MSP2_INAV_OSD_SET_PREFERENCES 0x2017
48 #define MSP2_INAV_SELECT_BATTERY_PROFILE 0x2018
50 #define MSP2_INAV_DEBUG 0x2019
52 #define MSP2_BLACKBOX_CONFIG 0x201A
53 #define MSP2_SET_BLACKBOX_CONFIG 0x201B
55 #define MSP2_INAV_TEMP_SENSOR_CONFIG 0x201C
56 #define MSP2_INAV_SET_TEMP_SENSOR_CONFIG 0x201D
57 #define MSP2_INAV_TEMPERATURES 0x201E
59 #define MSP_SIMULATOR 0x201F
61 #define MSP2_INAV_SERVO_MIXER 0x2020
62 #define MSP2_INAV_SET_SERVO_MIXER 0x2021
63 #define MSP2_INAV_LOGIC_CONDITIONS 0x2022
64 #define MSP2_INAV_SET_LOGIC_CONDITIONS 0x2023
65 #define MSP2_INAV_GLOBAL_FUNCTIONS 0x2024
66 #define MSP2_INAV_SET_GLOBAL_FUNCTIONS 0x2025
67 #define MSP2_INAV_LOGIC_CONDITIONS_STATUS 0x2026
68 #define MSP2_INAV_GVAR_STATUS 0x2027
69 #define MSP2_INAV_PROGRAMMING_PID 0x2028
70 #define MSP2_INAV_SET_PROGRAMMING_PID 0x2029
71 #define MSP2_INAV_PROGRAMMING_PID_STATUS 0x202A
73 #define MSP2_PID 0x2030
74 #define MSP2_SET_PID 0x2031
76 #define MSP2_INAV_OPFLOW_CALIBRATION 0x2032
78 #define MSP2_INAV_FWUPDT_PREPARE 0x2033
79 #define MSP2_INAV_FWUPDT_STORE 0x2034
80 #define MSP2_INAV_FWUPDT_EXEC 0x2035
81 #define MSP2_INAV_FWUPDT_ROLLBACK_PREPARE 0x2036
82 #define MSP2_INAV_FWUPDT_ROLLBACK_EXEC 0x2037
84 #define MSP2_INAV_SAFEHOME 0x2038
85 #define MSP2_INAV_SET_SAFEHOME 0x2039
87 #define MSP2_INAV_MISC2 0x203A
88 #define MSP2_INAV_LOGIC_CONDITIONS_SINGLE 0x203B
90 #define MSP2_INAV_ESC_RPM 0x2040
92 #define MSP2_INAV_LED_STRIP_CONFIG_EX 0x2048
93 #define MSP2_INAV_SET_LED_STRIP_CONFIG_EX 0x2049
95 #define MSP2_INAV_FW_APPROACH 0x204A
96 #define MSP2_INAV_SET_FW_APPROACH 0x204B
98 #define MSP2_INAV_RATE_DYNAMICS 0x2060
99 #define MSP2_INAV_SET_RATE_DYNAMICS 0x2061
101 #define MSP2_INAV_EZ_TUNE 0x2070
102 #define MSP2_INAV_EZ_TUNE_SET 0x2071
104 #define MSP2_INAV_SELECT_MIXER_PROFILE 0x2080
106 #define MSP2_INAV_CUSTOM_OSD_ELEMENTS 0x2100
107 #define MSP2_INAV_SET_CUSTOM_OSD_ELEMENTS 0x2101