INAV MSP frames changelog - iNavFlight/inav GitHub Wiki

MSP API Version 2.3

MSP2_INAV_MC_BRAKING / MSP2_INAV_SET_MC_BRAKING

New MSP frames used to setup mixer properties.

Frame IDs:

  • MSP2_INAV_MC_BRAKING, Frame ID 0x200B
  • MSP2_INAV_SET_MC_BRAKING, Frame ID 0x200C
Length Setting Notes
2 nav_mc_braking_speed_threshold
2 nav_mc_braking_disengage_speed
2 nav_mc_braking_timeout
1 nav_mc_braking_boost_factor
2 nav_mc_braking_boost_timeout
2 nav_mc_braking_boost_speed_threshold
2 nav_mc_braking_boost_disengage_speed
1 nav_mc_braking_bank_angle

MSP API Version 2.2

Since mixerMode is no longer used, legacy MSP frames will return always mixer mode 3 (QuadX) and attempt to set mixer mode via MSP will be ignored. This affects following MSP frames:

  1. MSP_IDENT
  2. MSP_MIXER
  3. MSP_BF_CONFIG
  4. MSP_SET_MIXER
  5. MSP_SET_BF_CONFIG

MSP2_INAV_MIXER / MSP2_INAV_SET_MIXER

New MSP frames used to setup mixer properties.

Frame IDs:

  • MSP2_INAV_MIXER, Frame ID 0x2010
  • MSP2_INAV_SET_MIXER, Frame ID 0x2011
Length Setting Notes
1 yaw_motor_direction
2 yaw_jump_prevention_limit
1 platform_type
1 has_flaps

INAV 1.9 MSP Version 2.1

MSP2_COMMON_MOTOR_MIXER / MSP2_COMMON_SET_MOTOR_MIXER

Frame IDs:

  • MMSP2_COMMON_MOTOR_MIXER, Frame ID 0x1005
  • MSP2_COMMON_SET_MOTOR_MIXER, Frame ID 0x1006

INAV 1.7.1 MSP API Version 1.26

MSP_FW_CONFIG / MSP_SET_FW_CONFIG

Get and set Fixed Wing options

Frame IDs:

  • MSP_FW_CONFIG, Frame ID 23
  • MSP_SET_FW_CONFIG, Frame ID 24
Length Setting Notes
2 nav_fw_cruise_thr
2 nav_fw_min_thr
2 nav_fw_max_thr
1 nav_fw_bank_angle
1 nav_fw_climb_angle
1 nav_fw_dive_angle
1 nav_fw_pitch2thr
2 nav_fw_loiter_radius

MSP_RTH_AND_LAND_CONFIG / MSP_SET_RTH_AND_LAND_CONFIG

Get and set Return-To-Home and Land options

Frame IDs:

  • MSP_RTH_AND_LAND_CONFIG, Frame ID 21
  • MSP_SET_RTH_AND_LAND_CONFIG, Frame ID 22
Length Setting Notes
2 nav_min_rth_distance
1 nav_rth_climb_first boolean
1 nav_rth_climb_ignore_emerg boolean
1 nav_rth_tail_first boolean
1 nav_rth_allow_landing boolean
1 nav_rth_alt_mode dictionary
2 nav_rth_abort_threshold
2 nav_rth_altitude
2 nav_landing_speed
2 nav_land_slowdown_minalt
2 nav_land_slowdown_maxalt
2 nav_emerg_landing_speed

INAV 1.6 MSP API Version 1.24

MSP_WP_MISSION_LOAD / MSP_WP_MISSION_SAVE

Load/save waypoint mission to non-volatile storage

Frame IDs:

  • MSP_WP_MISSION_LOAD, Frame ID 18
  • MSP_WP_MISSION_SAVE, Frame ID 19
Length Notes
1 Mission ID (reserved)

MSP_POSITION_ESTIMATION_CONFIG

Frame IDs:

  • MSP_POSITION_ESTIMATION_CONFIG, Frame ID 16
  • MSP_SET_POSITION_ESTIMATION_CONFIG, Frame ID 17
Length Setting Notes
2 inav_w_z_baro_p float as value * 100
2 inav_w_z_gps_p float as value * 100
2 inav_w_z_gps_v float as value * 100
2 inav_w_xy_gps_p float as value * 100
2 inav_w_xy_gps_v float as value * 100
1 inav_gps_min_sats
1 inav_use_gps_velned ON/OFF
6 reserved

MSP_CALIBRATION_DATA

Sensors calibration data

Length Setting Notes
2 acczero_x
2 acczero_y
2 acczero_z
2 accgain_x
2 accgain_y
2 accgain_z
2 magzero_x
2 magzero_y
2 magzero_z
8 reserved

Frame IDs:

  • MSP_CALIBRATION_DATA, Frame ID 14
  • MSP_SET_CALIBRATION_DATA, Frame ID 15

MSP_NAV_POSHOLD

Basic position hold settings. Mostly, but not only, for multirotor

Frame IDs:

  • MSP_NAV_POSHOLD, Frame ID 12
  • MSP_SET_NAV_POSHOLD, Frame ID 13
Length Setting Notes
1 nav_user_control_mode dictionary
2 nav_max_speed
2 nav_max_climb_rate
2 nav_manual_speed
2 nav_manual_climb_rate
1 nav_mc_bank_angle
1 nav_use_midthr_for_althold ON/OFF
2 nav_mc_hover_thr
8 reserved

INAV 1.5 MSP API Version 1.23

For INAV 1.5 and later, the MSP_STATUS/sensor field reports sensor failure. This updates MSP_SENSOR (see http://www.multiwii.com/wiki/index.php?title=Multiwii_Serial_Protocol) in a backwards compatible manner to report additional sensors and sensor health. The sensor field is reported as:

Bit Usage
0 Set if ACC present
1 Set if BARO present
2 Set if MAG present
3 Set if GPS present
4 Set if SONAR present
5 Reserved for OPFLOW (not implemented)
6 Set if PITOT present
15 Set on sensor failure

The sensor hardware failure indication is backwards compatible with versions prior to 1.5 (and other Multiwii / Cleanflight derivatives).

MSP_SENSOR_CONFIG

Frame IDs:

  • MSP_SENSOR_CONFIG, Frame ID 96
  • MSP_SET_SENSOR_CONFIG, Frame ID 97
length setting Notes
1 acc_hardware
1 baro_hardware
1 mag_hardware
1 pitot_hardware
1 Reserved for rangefinder not yet implemented
1 Reserved for OpFlow not yet implemented

INAV 1.4 MSP API Version 1.22

MSP_INAV_PID

Frame IDs:

  • MSP_INAV_PID, Frame ID 6
  • MSP_SET_INAV_PID, Frame ID 7
length setting Notes
1 async_mode
2 acc_task_frequency
2 attitude_task_frequency
1 mag_hold_rate_limit
1 MAG_HOLD_ERROR_LPF_FREQ not implemented yet as configurable
2 yaw_jump_prevention_limit
1 gyro_lpf
1 acc_soft_lpf_hz
4 reserved reserved for further usage

MSP_FILTER_CONFIG

Compatible with Betaflight

Frame IDs:

  • MSP_FILTER_CONFIG Frame ID 92
  • MSP_SET_FILTER_CONFIG Frame ID 93
length setting Notes
1 gyro_soft_lpf_hz
2 dterm_lpf_hz
2 yaw_lpf_hz
2 gyro_soft_notch_hz_1 Since INAV 1.6
2 gyro_soft_notch_cutoff_1 Since INAV 1.6
2 dterm_soft_notch_hz Since INAV 1.6
2 dterm_soft_notch_cutoff Since INAV 1.6
2 gyro_soft_notch_hz_2 Since INAV 1.6
2 gyro_soft_notch_cutoff_2 Since INAV 1.6

MSP_PID_ADVANCED

Compatible with Betaflight

Frame IDs:

  • MSP_PID_ADVANCED Frame ID 94
  • MSP_SET_PID_ADVANCED Frame ID 95
length setting Notes
2 rollPitchItermIgnoreRate
2 yawItermIgnoreRate
2 yaw_p_limit
1 not used Betaflight deltaMethod
1 not used Betaflight vbatPidCompensation
1 not used Betaflight setpointRelaxRatio
1 dterm_setpoint_weight Since INAV 1.6
2 pidsum_limit Since INAV 1.6
1 not used Betaflight itermThrottleGain
2 rate_accel_limit_roll_pitch divided by 10
2 rate_accel_limit_yaw divided by 10

INAV 1.3 MSP API 1.21

case MSP_ADVANCED_CONFIG:

Frame IDs:

  • MSP_ADVANCED_CONFIG, Frame ID 90
  • MSP_SET_ADVANCED_CONFIG, Frame ID 91
length setting Notes
1 gyro_sync_denom
1 not used Betaflight masterConfig.pid_process_denom
1 not used Betaflight masterConfig.motorConfig.useUnsyncedPwm
1 motor_pwm_protocol dictionary
2 motor_pwm_rate
2 servo_pwm_rate
1 gyro_sync boolean

##Change log:

  • 2016-11-20 - scaling of rate_accel_limit_roll_pitch and rate_accel_limit_yaw in MSP_PID_ADVANCED changed from 1000 to 10
  • 2016-12-11 - added MSP_STATUS update for INAV 1.5
  • 2017-01-15 - added dterm_setpoint_weight added to MSP_PID_ADVANCED frame
  • 2017-01-15 - MSP_CALIBRATION_DATA
  • 2017-01-18 - pidsum_limit in MSP_PID_ADVANCED
  • 2017-01-23 - MSP_POSITION_ESTIMATOR