2.4.0 Release Notes - iNavFlight/inav GitHub Wiki

Hello and welcome to INAV 2.4.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

Upgrading from 2.3.0 or 2.2.0

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 2.4 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Find on your diff all result the min_throttle line, and replace it by throttle_idle, setting the percentage of the idle throttle. The default is 15.
  6. Go the CLI again and paste the contents on the file you previously create and write save , press ENTER and done!
  7. You should be ready, explore new 2.4 features and enjoy!

Upgrading from 2.1.0 or older version

Please follow the instructions on this page.

New targets:

CLI:

New commands

Command Description
msc Enter USB Mass storage mode. See docs/USB_Mass_Storage_(MSC)_mode.md for usage information.
Setting Description
throttle_idle Previously min_throttle - Set the idle throttle percent. The percentage of the throttle range (max_throttle - min_command) above min_command used for minimum / idle throttle. Note that the default of 15% will most likely be too high for modern *shot ESCs.
nav_rth_home_offset_distance Distance offset from GPS established home to "safe" position used for RTH (cm, 0 disables)
nav_rth_home_offset_direction Direction offset from GPS established home to "safe" position used for RTH (degrees, 0=N, 90=E, 180=S, 270=W, requires non-zero offset distance)
gyro_stage2_lowpass_type Defines the type of stage 2 gyro LPF filter. Possible values: PT1, BIQUAD. PT1 offers faster filter response while BIQUAD better attenuation. Default value: BIQUAD
rpm_gyro_filter_enabled Enables gyro RPM filter. Turned OFF by default. Set to ON only when ESC telemetry is working and rotation speed of the motors is correctly reported to INAV
rpm_dterm_filter_enabled RPM filter for D-term. Experimental, probably will be removed in the next release
rpm_gyro_harmonics Number of harmonic frequencies to be covered by gyro RPM filter. Default value of 1 usually works just fine
rpm_gyro_min_hz The lowest frequency for gyro RPM filter. Default 150 is fine for 5" mini-quads. On 7-inch drones you can lower even down to 60-70
rpm_gyro_q Q factor for gyro RPM filter. Lower values give softer, wider attenuation. Usually there is no need to change this setting
dterm_gyro_harmonics Number of harmonic frequencies to be covered by D-term RPM filter. Default value of 1 usually works just fine
rpm_dterm_min_hz -
rpm_dterm_q -
dterm_lpf_type Defines the type of stage 1 D-term LPF filter. Possible values: PT1, BIQUAD. PT1 offers faster filter response while BIQUAD better attenuation. Default value: BIQUAD
dterm_lpf2_hz Cutoff frequency for stage 2 D-term filter. Disabled by default 0
dterm_lpf2_type Defines the type of stage 1 D-term LPF filter. Possible values: PT1, BIQUAD. PT1 offers faster filter response while BIQUAD better attenuation. Default value: BIQUAD
pidsum_limit_yaw Replaces yaw_jump_prevention_limit and yaw_p_limit
pid_type Allows to set type of PID controller used in control loop. Possible values: NONE, PID, PIFF, AUTO. Change only in case of experimental platforms like VTOL, tailsitters, rovers, boats, etc. Airplanes should always use PIFF and multirotors PID

Removed settings

Setting Description
min_throttle Replaced by throttle_idle
yaw_jump_prevention_limit Replaced by pidsum_limit_yaw
yaw_p_limit Replaced by pidsum_limit_yaw

New drivers and protocols

RPM Filters (@DzikuVx)

INAV can now take determine where to place notch filters based on the rotation speed of the motors to attenuate noise being fed into PID. You need to connect BlHeli telemetry on a serial port and then enable RPM Filters.

USB Mass Storage (@fiam)

USB MSC (mass storage device class) SD card and internal flash access is enabled for F4 and F7 targets with suitable hardware. This means you can mount the FC (SD card / internal flash) as a host computer file system via USB to read BB logs (and delete them from an SD card). See docs/USB_Mass_Storage_(MSC)_mode.md for usage information.

RTH Home Offset (@stronnag)

Allows INAV RTH and failsafe RTH to not return the launch point but in a nearby area allowing not to violate a protected space which might be active in some flying fields. It's configurable via nav_rth_home_offset_distance which sets the distance offset from GPS established home to "safe" position used for RTH and nav_rth_home_offset_direction which configure the direction offset from GPS established home to "safe" position used for RTH (degrees, 0=N, 90=E, 180=S, 270=W, requires non-zero offset distance)

Linear Climb and Dive on Waypoint Missions (@hali9)

When flying a mission with different altitude waypoints, the old behaviour was INAV trying to reach the next waypoint altitude as soon as it can, constrained only by nav_auto_climb_rate, nav_fw_climb_angle and nav_fw_dive_angle CLI variables. Aircraft would use a lot of energy to reach the waypoint altitude, and then will keep that altitude for the rest of the way to the waypoint.

Now, INAV will try to climb or dive to the next waypoint altitude in a linearly manner, so it'll reach the next waypoint altitude only when it's almost reaching the waypoint itself. This way aircraft will consume less energy to climb since it'll be a less steep climb or will save energy by trading altitude for speed for more time when diving.

It works for all airframe types, fixed wing or multirotor.

OSD improvements (@fiam, @shellixyz, @DzikuVx)

Motors RPM can now displayed as a new item. There are minor bug fixes in the FrSky OSD driver. Furthermore when you navigate the CMS (OSD menu) servos on your airplane will not move anymore.

Support for DJI HD FPV (@digitalentity)

INAV is now ready to embrace HD FPV with support for the DJI HD FPV system. Just connect the DJI HD VTX to a spare UART, set that UART to have a DJI FPV function in the Configurator Ports tab and you're good to go.

If you want to use DJI remote controller as well, you can connect the S.Bus wire from DJI VTX to your FC as well and select "SBUS Fast" protocol (earlier known as DJI HDL). INAV fully supports this protocol and will allow you to get 7ms contol latency (as advertised by DJI).

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