1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#[derive(PrimitiveEnum_u8)]
#[derive(Debug, Copy, Clone, PartialEq)]
#[allow(non_camel_case_types)]

/// MSP command values, used for command encapsulation
pub enum MspCommandCode {
    MSP_API_VERSION =            1,
    MSP_FC_VARIANT =             2,
    MSP_FC_VERSION =             3,
    MSP_BOARD_INFO =             4,
    MSP_BUILD_INFO =             5,
    
    // MSP commands for Cleanflight original features
    MSP_BATTERY_CONFIG =          32,
    MSP_SET_BATTERY_CONFIG =      33,
    MSP_MODE_RANGES =             34,
    MSP_SET_MODE_RANGE =          35,
    MSP_FEATURE =                 36,
    MSP_SET_FEATURE =             37,
    MSP_BOARD_ALIGNMENT =         38,
    MSP_SET_BOARD_ALIGNMENT =     39,
    MSP_AMPERAGE_METER_CONFIG =   40,
    MSP_SET_AMPERAGE_METER_CONFIG =41,
    MSP_MIXER =                   42,
    MSP_SET_MIXER =               43,
    MSP_RX_CONFIG =               44,
    MSP_SET_RX_CONFIG =           45,
    MSP_LED_COLORS =              46,
    MSP_SET_LED_COLORS =          47,
    MSP_LED_STRIP_CONFIG =        48,
    MSP_SET_LED_STRIP_CONFIG =    49,
    MSP_RSSI_CONFIG =             50,
    MSP_SET_RSSI_CONFIG =         51,
    MSP_ADJUSTMENT_RANGES =       52,
    MSP_SET_ADJUSTMENT_RANGE =    53,
    MSP_CF_SERIAL_CONFIG =        54,
    MSP_SET_CF_SERIAL_CONFIG =    55,
    MSP_VOLTAGE_METER_CONFIG =    56,
    MSP_SET_VOLTAGE_METER_CONFIG =57,
    MSP_SONAR =                   58,
    MSP_PID_CONTROLLER =          59,
    MSP_SET_PID_CONTROLLER =      60,
    MSP_ARMING_CONFIG =           61,
    MSP_SET_ARMING_CONFIG =       62,
    MSP_DATAFLASH_SUMMARY =       70,
    MSP_DATAFLASH_READ =          71,
    MSP_DATAFLASH_ERASE =         72,
    MSP_LOOP_TIME =               73,
    MSP_SET_LOOP_TIME =           74,
    MSP_FAILSAFE_CONFIG =         75,
    MSP_SET_FAILSAFE_CONFIG =     76,
    MSP_RXFAIL_CONFIG =           77,
    MSP_SET_RXFAIL_CONFIG =       78,
    MSP_SDCARD_SUMMARY =          79,
    MSP_BLACKBOX_CONFIG =         80,
    MSP_SET_BLACKBOX_CONFIG =     81,
    MSP_TRANSPONDER_CONFIG =      82,
    MSP_SET_TRANSPONDER_CONFIG =  83,

    MSP_LED_STRIP_MODECOLOR =     127,
    MSP_SET_LED_STRIP_MODECOLOR = 221,
    
    MSP_VOLTAGE_METERS =          128,
    MSP_AMPERAGE_METERS =         129,
    MSP_BATTERY_STATE =           130,

    MSP_MOTOR_CONFIG =            131,

    // OSD commands
    
    MSP_OSD_VIDEO_CONFIG =       180,
    MSP_SET_OSD_VIDEO_CONFIG =   181,
    MSP_OSD_VIDEO_STATUS =       182,
    MSP_OSD_ELEMENT_SUMMARY =    183,
    MSP_OSD_LAYOUT_CONFIG =      184,
    MSP_SET_OSD_LAYOUT_CONFIG =  185,
    
    // Multiwii MSP commands
    MSP_IDENT =              100,
    MSP_STATUS =             101,
    MSP_RAW_IMU =            102,
    MSP_SERVO =              103,
    MSP_MOTOR =              104,
    MSP_RC =                 105,
    MSP_RAW_GPS =            106,
    MSP_COMP_GPS =           107,
    MSP_ATTITUDE =           108,
    MSP_ALTITUDE =           109,
    MSP_ANALOG =             110,
    MSP_RC_TUNING =          111,
    MSP_PID =                112,
    MSP_BOX =                113,
    MSP_MISC =               114,
    MSP_MOTOR_PINS =         115,
    MSP_BOXNAMES =           116,
    MSP_PIDNAMES =           117,
    MSP_WP =                 118,
    MSP_BOXIDS =             119,
    MSP_SERVO_CONFIGURATIONS = 120,
    MSP_MOTOR_3D_CONFIG =    124,
    MSP_RC_DEADBAND =        125,
    MSP_SENSOR_ALIGNMENT =   126,
    
    MSP_SET_RAW_RC =         200,
    MSP_SET_RAW_GPS =        201,
    MSP_SET_PID =            202,
    MSP_SET_BOX =            203,
    MSP_SET_RC_TUNING =      204,
    MSP_ACC_CALIBRATION =    205,
    MSP_MAG_CALIBRATION =    206,
    MSP_SET_MISC =           207,
    MSP_RESET_CONF =         208,
    MSP_SET_WP =             209,
    MSP_SELECT_SETTING =     210,
    MSP_SET_HEAD =           211,
    MSP_SET_SERVO_CONFIGURATION = 212,
    MSP_SET_MOTOR =          214,
    MSP_SET_3D =             217,
    MSP_SET_RC_DEADBAND =    218,
    MSP_SET_RESET_CURR_PID = 219,
    MSP_SET_SENSOR_ALIGNMENT = 220,
    
    // MSP_BIND =               240,
    
    MSP_SERVO_MIX_RULES =    241,
    MSP_SET_SERVO_MIX_RULE = 242,

    MSP_EEPROM_WRITE =       250,

    MSP_DEBUGMSG =           253,
    MSP_DEBUG =              254,

    MSP_BF_CONFIG =          66,

    // Additional baseflight commands that are not compatible with MultiWii
    MSP_UID =                160, // Unique device ID
    MSP_STATUS_EX =          150, // cycletime, errors_count, CPU load, sensor present etc
    MSP_ACC_TRIM =           240, // get acc angle trim values
    MSP_SET_ACC_TRIM =       239, // set acc angle trim values
    MSP_GPS_SV_INFO =        164, // get Signal Strength
    
    // Additional private MSP for baseflight configurator
    MSP_RX_MAP =                64, // get channel map (also returns number of channels total)
    MSP_SET_RX_MAP =            65, // set rc map, numchannels to set comes from MSP_RX_MAP
        
    MSP_SET_REBOOT =            68, // reboot settings
    MSP_BF_BUILD_INFO =         69, // build date as well as some space for future expansion,

    // Betaflight
    MSP_ADVANCED_CONFIG =            90,
    MSP_SET_ADVANCED_CONFIG =        91,
    
    MSP_FILTER_CONFIG =              92,
    MSP_SET_FILTER_CONFIG =          93,

    MSP_PID_ADVANCED =               94,
    MSP_SET_PID_ADVANCED =           95,

    MSP_SENSOR_CONFIG =              96,
    MSP_SET_SENSOR_CONFIG =          97
}