github iNavFlight/inav 9.0.0-RC4
INAV 9.0.0-RC4 release candidate for testing

pre-release17 hours ago

INAV 9.0.0

Hello and welcome to INAV 9.0.0

INAV 9.0.0-RC4 Firmware Release Notes

Release Candidate 4 for Testing
This is a pre-release for testing purposes. Please report issues on GitHub.

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

Contact other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Note

Make sure to remove props and check your motor and servo outputs before powering your upgraded flight controller with a battery for the first time. The changes to enable flexible motor and servo allocation may change what outputs your configuration uses by default.

Known Issues in 9.0

  • Please read INAV Github issue reports for outstanding problems that were not resolved in time for the release.

Upgrading from a previous release

Upgrading from INAV 8.0

  1. Download and install the new INAV Configurator 9.0
  2. Backup configuration with CLI diff all command or use the Diff All and Save to file buttons.
  3. Flash INAV 9.0 WITH Full Chip Erase option enabled
  4. Load your 8.0 Diff settings in to the CLI. Then take a note or write down the incompatible settings changes marked in RED.
  5. Then copy your 8.0 Diff file and rename it 9.0. And edit the old incompatible settings.
  6. Go to CLI and load your edited INAV 9.0 Diff
  7. Done

Tip

Concerning step 6.
It can be a safer option to load your Diff All settings in two parts if you are using multiple Profiles. e.g. Control, Mixer or Battery.
This can be done by copying and loading the Diff All text setting from the top, down to the bottom of the # master settings category. Then load that into the CLI and press enter. Once it has written, press the Save Settings button.
Wait until it reboots and go back to the CLI tab again, then copy and load the rest of the Diff All text file. Starting from the # Control_profile 1 settings category, down to the bottom. Press enter. Once written, it will save by itself.

Diff update tool

Rather than steps 4 and 5 above. You can try this diff update tool. This is a work in progress. Currently it will try to update version 7 or later diffs to version 8 or later. Just paste your full diff all (not dump) in to the tool. Select the INAV version you're upgrading to. Then press the button. It will create a new diff for you and give you warnings about anything you should check.

INAV CLI Update Tool

Upgrading from older versions

Please follow the instructions on this page.

Changes in RC4 (since RC3)

Bug Fixes

  • USB MSC (Mass Storage): Fix H743 USB MSC regression, add timeout protection and retry logic for SD card access
  • Power Limiting: Fix power limiting treating 0 (disabled) as less than continuous current
  • CRSF Telemetry: Fix buffer overflow and dashboard sizeof bug
  • Airspeed TPA: Fix floating-point division in throttle adjustment calculation
  • Logic Conditions: Guard against increasing max conditions beyond 64
  • Critical Bugs: Fix integer overflow and buffer overrun issues (cppcheck)

New Features

  • Puya Flash Support: Add support for Puya PY25Q128HA flash chip (16MB SPI NOR)
  • Airspeed TPA: Add pitch angle aware TPA with airspeed support
  • MSP Protocol: Add MSP2_INAV_LOGIC_CONDITIONS_CONFIGURED command for optimized loading
  • Pitot: Raise pitot_lpf_milli_hz default

Target Changes

  • BLUEBERRYF435WING: Disable dynamic notch filter by default
  • OMNIBUSF4V3_ICM: New target variant

Documentation

  • Add Power and Current Limiting documentation
  • Update JavaScript Programming documentation for namespaced syntax
  • Add maintenance branch workflow documentation

Build/CI

  • Include cygwin1.dll in Windows SITL artifact (fixes Windows SITL)

Testing Focus for RC4

Please test and report issues with:

  1. USB Mass Storage on H7 boards
  2. Power limiting functionality
  3. Airspeed TPA if using pitot
  4. Puya PY25Q128HA flash chip detection
  5. Windows SITL functionality

Highlights of the INAV 9 series:

Fixedwing airspeed APA/TPA support

Fixeding aircraft can now use a Pitot sensor or virtual airspeed to dynamically adjust the PIDFF gains inflight. This adds the advantage of a tighter stabilization response across the whole flight speed envelope.
Full details of setup and tuning can be found here. Under the topics APA and TPA and Pitch angle. Do not tune your PIFF too tight!

Minimum ground speed flexibility

Via the Programming Framework. It allows the user to have more flexibility when flying in higher wind conditions. To ensure the airplane makes headway.
In addition, you can program it to dynamically adjust the minimum ground speed according to the Wind direction and Wind speed.
More information can be found in this link.

OSD throttle gauge

Allows the pilot to see the throttle as a vertical digital gauge.
Functional information can be found here in the PR link

Fixed wing altitude controller

Changes have been made to improve its operation on a broader range of airframes. One of two methods can be selected to better suited different climb rate conditions.

  • Altitude Velocity controller nav_fw_alt_use_position = OFF (default)
  • Altitude Position controller nav_fw_alt_use_position = ON

See here for more information. And the required PID tune settings for either control method.

Position estimator improvements

Changes to the position estimator are mainly intended to improve issues with Z velocity accuracy but also includes code clean-ups and fixes.
There has also been setting changes added with the code alterations. Depending on the sensor data quality. It may be beneficial in some cases to revert your settings back to the old ones, or somewhere in between the two.

Name CLI Old New
w_z_baro_v 0.1 0.35
inav_w_z_gps_p 0.2 0.35
inav_w_z_gps_v 0.1 0.35

More information directly related to the changes can be found here.

Sensor addition

QMC5883P magnetometer driver

Other changes:

  • Barometer altitude added to CRSF telemetry.
  • Better Fixed wing flight detection to handle auto disarm on landing. PR link
  • Lulu filter fixes and improvements. PR Link
  • Accelerometer and Barometer temperature compensation for better altitude control - Calibration method and PR link.
  • Add flights counter to stats PR link
  • Servo speed filter for tilt-rotor VTOL. PR link
  • Enhance VTOL tilt-rotor support. To assist transition smoothness PR link
  • Better air cushion compensation for multicopters and rangefinder fix. PR link
  • Improved yaw estimation for magless multicopter operation. PR link - The default ahrs_acc_ignore_rate setting has also been lowered from 20 to 15.
  • Mavlink clean-ups and fixes - 11060 11061 11062
  • MSP changes - 11146 11171 11093 11032 10571 11099
  • JavaScript support tab for INAV programming framework. PR link Docs update

OSD/CMS changes

Name Function
OSD_VERTICAL_SPEED_INDICATOR New name for OSD vario
OSD_ADSB_WARNING CMS stick menu
OSD_ADSB_INFO CMS stick menu
OSD_THROTTLE_GAUGE OSD
OSD_NAV_MIN_GROUND_SPEED OSD

Functions

Function Name Values
Battery SMARTPORT vbat_meter_type , current_meter_type
Programming Framework Gimbal Sensitivity Scales Operand A from [-16 : 15]
Programming Framework Override Minimum Ground Speed When active, sets the minimum ground speed to the value specified in Operand A [m/s]. Minimum allowed value is set in nav_min_ground_speed. Maximum value is 150
Programming Framework Minimum Ground Speed [m/s] The current minimum ground speed allowed in navigation flight modes
Programming Framework Horizontal Wind Speed [cm/s] Estimated wind speed. If the wind estimator is unavailable or the wind estimation is invalid, -1 is returned
Programming Framework Wind Direction [deg] Estimated wind direction. If the wind estimator is unavailable or the wind estimation is invalid, -1 is returned
Programming Framework Relative Wind Offset [deg] The relative offset between the heading of the aircraft and the heading of the wind. 0 indicates flying directly into a headwing. Negative numbers are a left offset. For example, if -20° is shown, turning right will correct towards 0. If the wind estimator is unavailable or the wind estimation is invalid, 0 is returned

CLI

New Settings

Name Description
blackbox_arm_control Can extend blackbox logging up to 60 seconds after disarming
acc_temp_correction Accelerometer temperature correction factor to compensate for acceleromter drift
baro_temp_correction Baro temperature correction factor to compensate for Baro altitude drift
osd_adsb_warning_style ADSB warning element style - COMPACT or EXTENDED
nav_fw_alt_use_position Use position for fixed wing altitude control rather than velocity
osd_pan_servo_range_decadegrees Replaces the name of the old osd_pan_servo_pwm2centideg
mavlink_autopilot_type Sets the Mavlink telemetry type - GENERIC or ARDUPILOT
transition_pid_mmix_multiplier_pitch Intended to solve pitch coupling in transtion mode on tilting rotor VTOL
transition_pid_mmix_multiplier_roll intended to solve roll/yaw coupling oscillation in transtion mode on tilting rotor VTOL
transition_pid_mmix_multiplier_yaw Intended to solve yaw/roll coupling oscillation in transtion mode on tilting rotor VTOL
apa_pow Sets the strength and range of dynamic airspeed PID scaling
tpa_pitch_compensation Sets the strength which pitch angle will override throttle dynamic PID scaling

New targets

  • BLUEBERRYF435WING
  • BLUEBERRYF435WING_SD
  • BOTWINGF405
  • BOTWINGF722
  • BRAHMA_F405
  • BROTHERHOBBYH743
  • BROTHERHOBBYF405V3
  • CORVON743V1
  • CORVON743V1
  • CORVON405V2
  • DAKEFPVF722X8
  • DAKEFPVH743PRO
  • DAKEFPVF435
  • HAPPYMODELF405
  • HUMMINGBIRD_FC305
  • FLYINGRCF4WINGMINI
  • FLYCOLORF4
  • FLYSPARKF4V4
  • FOXEERF405V2
  • JHEMCUF435
  • JHEMF435AIO
  • MICOAIR743AIO
  • ORBITH743
  • ORBITF435
  • ORBITF435_SD
  • RADIOLINKF405
  • SKYSTARSF405V2
  • TBS_LUCID_H7_WING
  • TBS_LUCID_H7_WING_MINI
  • SPEEDYBEEF405WINGV2
  • WARPF7

What's Changed

Full Changelog: 8.0.1...9.0.0

Don't miss a new inav release

NewReleases is sending notifications on new releases.