Skip to main content
Version: 5.0.0

INAV MSP Frame Changelog

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
LengthSettingNotes
2nav_mc_braking_speed_threshold
2nav_mc_braking_disengage_speed
2nav_mc_braking_timeout
1nav_mc_braking_boost_factor
2nav_mc_braking_boost_timeout
2nav_mc_braking_boost_speed_threshold
2nav_mc_braking_boost_disengage_speed
1nav_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
LengthSettingNotes
1yaw_motor_direction
2yaw_jump_prevention_limit
1platform_type
1has_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
LengthSettingNotes
2nav_fw_cruise_thr
2nav_fw_min_thr
2nav_fw_max_thr
1nav_fw_bank_angle
1nav_fw_climb_angle
1nav_fw_dive_angle
1nav_fw_pitch2thr
2nav_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
LengthSettingNotes
2nav_min_rth_distance
1nav_rth_climb_firstboolean
1nav_rth_climb_ignore_emergboolean
1nav_rth_tail_firstboolean
1nav_rth_allow_landingboolean
1nav_rth_alt_modedictionary
2nav_rth_abort_threshold
2nav_rth_altitude
2nav_landing_speed
2nav_land_slowdown_minalt
2nav_land_slowdown_maxalt
2nav_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
LengthNotes
1Mission ID (reserved)

MSP_POSITION_ESTIMATION_CONFIG​

Frame IDs:

  • MSP_POSITION_ESTIMATION_CONFIG, Frame ID 16
  • MSP_SET_POSITION_ESTIMATION_CONFIG, Frame ID 17
LengthSettingNotes
2inav_w_z_baro_pfloat as value * 100
2inav_w_z_gps_pfloat as value * 100
2inav_w_z_gps_vfloat as value * 100
2inav_w_xy_gps_pfloat as value * 100
2inav_w_xy_gps_vfloat as value * 100
1inav_gps_min_sats
1inav_use_gps_velnedON/OFF
6reserved

MSP_CALIBRATION_DATA​

Sensors calibration data

LengthSettingNotes
2acczero_x
2acczero_y
2acczero_z
2accgain_x
2accgain_y
2accgain_z
2magzero_x
2magzero_y
2magzero_z
8reserved

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
LengthSettingNotes
1nav_user_control_modedictionary
2nav_max_speed
2nav_max_climb_rate
2nav_manual_speed
2nav_manual_climb_rate
1nav_mc_bank_angle
1nav_use_midthr_for_altholdON/OFF
2nav_mc_hover_thr
8reserved

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:

BitUsage
0Set if ACC present
1Set if BARO present
2Set if MAG present
3Set if GPS present
4Set if SONAR present
5Reserved for OPFLOW (not implemented)
6Set if PITOT present
15Set 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
lengthsettingNotes
1acc_hardware
1baro_hardware
1mag_hardware
1pitot_hardware
1Reserved for rangefindernot yet implemented
1Reserved for OpFlownot 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
lengthsettingNotes
1async_mode
2acc_task_frequency
2attitude_task_frequency
1mag_hold_rate_limit
1MAG_HOLD_ERROR_LPF_FREQnot implemented yet as configurable
2yaw_jump_prevention_limit
1gyro_lpf
1acc_soft_lpf_hz
4reservedreserved for further usage

MSP_FILTER_CONFIG​

Compatible with Betaflight

Frame IDs:

  • MSP_FILTER_CONFIG Frame ID 92
  • MSP_SET_FILTER_CONFIG Frame ID 93
lengthsettingNotes
1gyro_soft_lpf_hz
2dterm_lpf_hz
2yaw_lpf_hz
2gyro_soft_notch_hz_1Since INAV 1.6
2gyro_soft_notch_cutoff_1Since INAV 1.6
2dterm_soft_notch_hzSince INAV 1.6
2dterm_soft_notch_cutoffSince INAV 1.6
2gyro_soft_notch_hz_2Since INAV 1.6
2gyro_soft_notch_cutoff_2Since INAV 1.6

MSP_PID_ADVANCED​

Compatible with Betaflight

Frame IDs:

  • MSP_PID_ADVANCED Frame ID 94
  • MSP_SET_PID_ADVANCED Frame ID 95
lengthsettingNotes
2rollPitchItermIgnoreRate
2yawItermIgnoreRate
2yaw_p_limit
1not usedBetaflight deltaMethod
1not usedBetaflight vbatPidCompensation
1not usedBetaflight setpointRelaxRatio
1dterm_setpoint_weightSince INAV 1.6
2pidsum_limitSince INAV 1.6
1not usedBetaflight itermThrottleGain
2rate_accel_limit_roll_pitchdivided by 10
2rate_accel_limit_yawdivided 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
lengthsettingNotes
1gyro_sync_denom
1not usedBetaflight masterConfig.pid_process_denom
1not usedBetaflight masterConfig.motorConfig.useUnsyncedPwm
1motor_pwm_protocoldictionary
2motor_pwm_rate
2servo_pwm_rate
1gyro_syncboolean

##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