2.6.0 Release Notes - iNavFlight/inav GitHub Wiki

Hello and welcome to INAV 2.6.0 Release!

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Official on Telegram
INAV Official on Facebook

Please continue to support developers, for free, by checking out from the following stores after having clicked on the following links:

Support us on Banggood

Your contribution from the past month has been very welcome! Thanks!

Tested and suggested hardware can be found here

Important Notes

Compass has to be recalibrated. Do not import from previous INAV releases

Do not migrate Multirotor PID and filter settings from previous releases of INAV. Use Multirotor default preset (3"-7") instead and make required changes on top of that

F3 Deprecation

STM32 F3 flight controllers like Omnibus F3 or SP Racing F3 are deprecated and soon they will reach the end of support in INAV. If you are still using F3 boards, please migrate to F4 or F7.

INAV 2.6 will be the last release that supports F3-based boards. The supporting code will be retained for a few more releases, but will not be maintained and is not guarantee to build or work properly in future releases.

Safehome replaces RTH offset distance and direction

A new feature safehome (see below) replaces nav_rth_home_offset_distance and nav_rth_home_offset_direction, offering a safer and much more flexible function. If you were using the nav_rth_home_offset_* settings, please migrate to safehomeas these settings are removed.

Upgrading from 2.5

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 2.5 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go the CLI again and paste the contents on the file you previously create and write save , press ENTER and done!
  6. You should be ready, explore new 2.6 features and enjoy!

Upgrading from 2.4 or older version

Please follow the instructions on this page.

New targets:

CLI:

New commands

Command Description
safehome List of home locations, see Safehomes.md and summary
bind_rx Initiate binding for RX_SPI or SRXL2 receivers

Changed Settings

Setting Description
mag_hardware New option added MSP
baro_hardware New options added DPS310 and MSP
pitot_hardware New options added MSP
serialrx_provider New options added FPORT2 and SRXL2
gps_provider New options added MSP
debug_mode New options added CD, KALMAN_GAIN, PID_MEASUREMENT, SPM_CELLS, SPM_VS600, SPM_VARIO, PCF8574
airmode_type New option added STICK_CENTER_ONCE
nav_overrides_motor_stop Modified values OFF, AUTO_ONLY, ALL_NAV. When set OFF the navigation system will not take over the control of the motor if the throttle is low (motor will stop). When set to AUTO_ONLY the navigation system will only take over the control of the throttle in autonomous navigation modes (NAV WP and NAV RTH). When set to ALL_NAV (default) the navigation system will take over the control of the motor completely and never allow the motor to stop even when the throttle is low. This setting only has an effect combined with MOTOR_STOP and is likely to cause a stall if fw_min_throttle_down_pitch isn't set correctly or the pitch estimation is wrong for fixed wing models when not set to ALL_NAV.
motor_pwm_protocol The default is now ONESHOT125 (previously STANDARD).

New Settings

Setting Description
gyro_notch_hz Replaces gyro_notch1_hz and gyro_notch2_hz
gyro_notch_cutoff Replaces gyro_notch1_cutoff and gyro_notch2_cutoff
maggain_x, maggain_y, maggain_z Calibrated values replacing fixed values. Compass re-calibration is required.
srxl2_unit_id Values 0 - 15, default 1
srxl2_baud_fast Values OFF, ON, default ON
mc_cd_pitch Multicopter Control Derivative gain for PITCH, values 0 - 200, default 60
mc_cd_roll Multicopter Control Derivative gain for ROLL, values 0 - 200, default 60
mc_cd_yaw Multicopter Control Derivative gain for YAW, values 0 - 200, default 60
fw_turn_assist_pitch_gain Gain required to keep constant pitch angle during coordinated turns (in TURN_ASSIST mode). Value significantly different from 1.0 indicates a problem with the airspeed calibration (if present) or value of fw_reference_airspeed parameter. Values 0 - 2, default 1
nav_mc_vel_xy_dterm_attenuation Maximum D-term attenution percentage for horizontal velocity PID controller (Multirotor). It allows to smooth the PosHold CRUISE, WP and RTH when Multirotor is traveling at full speed. Dterm is not attenuated at low speeds, breaking and accelerating. Values 0 - 100, default 90
nav_mc_vel_xy_dterm_attenuation_start A point (in percent of both target and current horizontal velocity) where nav_mc_vel_xy_dterm_attenuation begins. Values 0 - 100, default 10
nav_mc_vel_xy_dterm_attenuation_end A point (in percent of both target and current horizontal velocity) where nav_mc_vel_xy_dterm_attenuation reaches maximum. Values 0-100, default 60
mc_cd_lpf_hz Cutoff frequency for Control Derivative. Lower value smoother reaction on fast stick movements. With higher values, response will be more aggressive and jerky. Values 0 - 200, default 30
setpoint_kalman_enabled Enable Kalman filter on the PID controller setpoint. Values OFF, ON, default OFF
setpoint_kalman_q Quality factor of the setpoint Kalman filter. Higher values means less filtering and lower phase delay. On 3-7 inch multirotors can be usually increased to 200-300 or even higher on clean builds. Values 1 - 16000, default 100
setpoint_kalman_w Window size for the setpoint Kalman filter. Wider the window, more samples are used to compute variance. In general, wider window results in smoother filter response. Values 1 - 40, default 4
setpoint_kalman_sharpness Dynamic factor for the setpoint Kalman filter. In general, the higher the value, the more dynamic Kalman filter gets. Values 1 - 16000, default 100
inav_use_gps_no_baro Values OFF, ON, default OFF
nav_fw_pitch2thr_smoothing How smoothly the autopilot makes pitch to throttle correction inside a deadband defined by nav_fw_pitch2thr_threshold. Values 0 - 9, default 0
nav_fw_pitch2thr_threshold Threshold from average pitch where momentary pitch_to_throttle correction kicks in. [decidegrees]. Values 0 - 900, default 0
nav_fw_launch_end_time Time for the transition of throttle and pitch angle, between the launch state and the subsequent flight mode [ms]. Values 0 - 5000, default 2000
mavlink_extra3_rate Values 0 - 255, default 1
osd_snr_alarm Value below which Crossfire SNR Alarm pops-up. (dB). Values -12 - 8, default 4
osd_link_quality_alarm LQ % indicator blinks below this value. For Crossfire use 70%, for Tracer use 50%". Values 0 - 100, default 70
osd_crsf_lq_format OSD display format for CRSF LQ. Values TYPE1 or TYPE2
osd_force_grid Force OSD to work in grid mode even if the OSD device supports pixel level access (mainly used for development). Default OFF
osd_ahi_bordered Shows a border/corners around the AHI region (pixel OSD only). Default OFF
osd_ahi_width AHI width in pixels (pixel OSD only). Values 0 - 255, default 132
osd_ahi_height AHI width in pixels (pixel OSD only). Values 0 - 255, default 162
osd_ahi_vertical_offset AHI vertical offset from center (pixel OSD only). Values -128 - 127, default 0
osd_sidebar_horizontal_offset Sidebar horizontal offset from default position. Positive values move the sidebars closer to the edges. Values -128 - 127, default 0
osd_left_sidebar_scroll_step How many units each sidebar step represents. 0 means the default value for the scroll type. Values 0 - 255, default 0
osd_right_sidebar_scroll_step How many units each sidebar step represents. 0 means the default value for the scroll type. Values 0 - 255, default 0
smartport_master_halfduplex Values OFF, ON, default ON
smartport_master_inverted Values OFF, ON, default OFF
dji_esc_temp_source Re-purpose the ESC temperature field for IMU/BARO temperature. Values ESC, IMU, BARO, default ESC
dji_workarounds Enables workarounds for different versions of MSP protocol used. Values 0 - 255, default 1. May be set to 0 for non-DJI rigs, otherwise leave at default.
dji_use_name_for_messages Re-purpose the craft name field for messages. Replace craft name with :WTSED for Warnings, Throttle, Speed, Efficiency, Trip distance. Values OFF, ON, default ON

Removed settings

Setting Description
nav_rth_home_offset_distance Replaced by safehome
nav_rth_home_offset_direction Replaced by safehome
gyro_notch1_hz and gyro_notch2_hz Replaced by gyro_notch_hz
gyro_notch1_cutoff and gyro_notch2_cutoff Replaced by gyro_notch_cutoff
use_dterm_fir_filter
dterm_setpoint_weight
dterm_notch_hz
dterm_notch_cutoff
mc_iterm_relax_type

New drivers and protocols

New waypoint types support: SET_HEAD and SET_POI (@stronnag)

The SET_POI WP type defines a location for a point of interest (POI). The craft will fly the mission (until a SET_HEAD) with the nose pointing at the POI, which might be useful for aerial photography. Note that the craft does NOT fly to the POI. Wiki description and example.

The SET_HEAD type sets the craft's heading (where it 'looks', not the direction of travel). This may be useful for useful for aerial photography. A value of -1 causing the heading to be 'straight ahead', i.e. the direction of travel. Thus, SET_POI -1 may used to cancel a previous valid SET_HEAD or SET_POI. A SET_HEAD remains in force until cancelled by SET_HEAD with p1 of -1, or modified by a subsequent SET_HEAD or SET_POI. Wiki description and example.

For now, this new waypoint types works only for multirotors, as this type of aircraft can fly "looking" to a different direction than it's flying. Different of an airplane, which can only fly forward and thus can only look forward when flying.

Safehome (@tonyyng)

Safehome replaces the nav_rth_home_offset_* settings, and allows the pilot to define up to 8 alternative home locations as absolute positions (lat, lon as decimal degress * 10,000,000). If a safehome is within 200m of the arming point, it will be used as the home location for RTH etc. Please see the separate document Safehomes.md.

Improvements to RTH/WP handling (@digitalentity).

WP mode activation with no mission loaded previously kept the current flight mode which may be counter-intuitive to the pilot. OSD will show that the mode is kept, however WP missions are generally not FPV. This PR creates a fallback in such case and will execute RTH instead which is safer than let the drone drift away. Also fixes a bug when RTH procedure may get interrupted in case of a brief sensor loss and switch out to ANGLE, ACRO or MANUAL instead of EMERGENCY. On airplanes with a certain RTH settings a brief GPS loss is tolerated in the navigation state machine, while the RTH activation bug would still bail out. This PR fixes this by making RTH procedure sticky, similar to other navigation flight modes.

cmake Development environment (@fiam)

inav 2.6 updates the build environment to use cmake as the build management tool. The developer build documentation has been updated for all platforms (MacOS, Linux, Windows, FreeBSD). Please see the platform specific documentation.

extend DJI OSD elements through craft_name

inav 2.6 can populate warnings and multiple (by DJI unsupported) OSD elements into the craft_name field. Enable the feature via set dji_use_name_for_messages = ON and configure the elements through the name, considering:

  • name must starts with ":" to enable workaround
  • each configurable elements is represented by 1 capital letter like:
    • (W)arnings, trip (D)istance, 3D (S)peed, (T)hrottle, (E)fficiency
    • example: set name = :WDSTE
  • to use warnings, W must be the first character (although warnings are still optional)
  • each non-warning element will iterate for 3 seconds
  • invalid characters will be handled and shown as UNKOWN_ELEM
  • if warnings are present, other elements will be overriden
  • warning elements are shortend due to character limitation of the craft_name in DJI

Small improvements

  • New Azimuth OSD element (@danarrib) - Shows the direction of the aircraft from home. It's useful to keep the aircraft flying on the correct path in front of a high gain directional antenna.
  • Automatic CLI documentation (@nmaggioni) - Now the CLI.md document is auto-generated based on actual source code. It means that now this documentation is much more accurate and always updated.
  • Removed "AIR" flight mode on the OSD (@MrD-RC) - Airmode is not a flight mode itself, it's just ACRO.

Main features

⚠️ **GitHub.com Fallback** ⚠️