inav

INAV: Navigation-enabled flight control software

GPL-3.0 License

Stars
3.1K
Committers
403

Bot releases are visible (Hide)

inav - INAV 5 "Ballistic Buzzard" RC1

Published by DzikuVx over 2 years ago

INAV 5 Ballistic Buzzard

Hello and welcome to INAV 5.0 "Ballistic Buzzard"

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:

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

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

Tested and suggested hardware can be found here

Important Notes

PCA9685 PWM driver no longer supported

The I2C PCA9685 servo driver is no longer supported as obsolete and not widely adopted. All PCA9685 setups are advised to upgrade to SBUS output and SBUS to PWM decoders

Gyro and Acc alignment settings removed

The align_acc and align_gyro settings are removed. Gyro/Acc orientation should always be set with align_board_yaw

GPS Glitch Detection

The NAV_GPS_GLITCH_DETECTION was removed as not suitable for modern aircraft. There is no user action required

Removal of depreciated MSP frames

INAV 5 removed the support for the following MSP frames:

  • MSP_IDENT
  • MSP_PID
  • MSP_PID_CONTROLLER
  • MSP_BF_CONFIG
  • MSP_BF_BUILD_INFO
  • MSP_SET_PID_CONTROLLER
  • MSP_SET_PID
  • MSP_SET_BF_CONFIG
  • MSP_CF_SERIAL_CONFIG
  • MSP_SET_CF_SERIAL_CONFIG

No user action is required in the case of the INAV Configurator or mwptools (mwp etc.). In the case of 3rd party INAV configuration apps, this change might break the compatibility if the app was using any of those frames. SpeedyBee developers have been notified, other apps have to adjust accordingly.

Strict MSP payload length checking

In order to help mitigate the "randomly changed settings" bug, strict MSP payload length checking has been implemented. Fixed size MSP frames that do not specify the correct payload size will be rejected. The INAV Configurator and mwptools (mwp etc.) are compliant. In the case of 3rd party INAV configuration / mission planning / monitoring apps, this change might break interoperability if the app was not correctly setting the payload size. SpeedyBee developers have been notified, other apps may have to adjust accordingly.

Upgrading from a previous release

Upgrading from INAV 4 and 4.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 5.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 5.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Configurable outputs mode

INAV allows changing the function assignment of ALL PWM outputs. Bear in mind, that it's not resource mapping! This function allows assigning all outputs as motors or all outputs as servos. It's driven by CLI output_mode setting

  • AUTO assigns outputs according to the default mapping
  • SERVOS assigns all outputs to servos
  • MOTORS assigns all outputs to motors

Improved landing detection

Updates landing detection for multirotor and add detection for fixed-wing. Detects when flying and activates landing detection from that point. Multirotor detection was added for non-autonomous landing as well as RTH. Fixed-wing detection is based on velocity, axis rates, and finally absolute movement in roll and pitch (so it probably wouldn't work if stuck in a tree being blown around by the wind). For details see https://github.com/iNavFlight/inav/pull/7270

Add the ability to adjust LED Strip color with RC channel

LED hue can be updated with an RC channel. For example, CLI led 7 8,10::H:6 will adjust hue of LED number 7 based on RC channel 6. For details see https://github.com/iNavFlight/inav/pull/7618

An option to not calibrate the gyro during boot

This feature allows to arm of INAV aircraft on a boat or any other moving vehicle, as it allows to use of stored gyro calibration value instead of calibrating on every boot.

  • init_gyro_cal If defined to OFF, it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope's last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup.
  • gyro_zero_x gyro X calibration stored
  • gyro_zero_y gyro Y calibration stored
  • gyro_zero_z gyro Z calibration stored

WP mission waypoint enforce altitude option

Provides an option to force mission waypoint altitude to be achieved before moving on to the next waypoint. If the set altitude hasn't been achieved when the craft arrives at the waypoint it will hold and adjust the altitude as required with a target margin of 100cm. Planes use a spiral loiter whilst changing altitude. The option is set for the whole mission and applicable to basic and timed hold waypoints. For details see https://github.com/iNavFlight/inav/pull/7644

Improved Altitude Hold controller

INAV will now use the SQRT controller for Altitude Control on Multirotors. No extra pilot action required. For details see https://github.com/iNavFlight/inav/pull/7845

TBS Sixty9 SA2.1 UART Configuration

Adds the vtx_smartaudio_stopbits setting that when set to 1 fixes the TBS Sixty9 SmartAudio 2.1 issues.

Rangefinder in Logic Conditions

Adds following value as Logic Conditions Operands:

  • AGL_STATUS boolean 1 when AGL can be trusted, 0 when AGL estimate can not be trusted
  • AGL integer Above The Groud Altitude in cm
  • RANGEFINDER_RAW integer raw distance provided by the rangefinder in cm

Matek 1G3SE control via IRC Tramp

To use the Matek 1G3SE with IRC Tramp. You will need to enter the CLI command set vtx_frequency_group = FREQUENCYGROUP_1G3. You must also make sure that the initial VTx settings in the configuration tab are in a valid range. They are:

  • vtx_band 1 or 2
  • vtx_channel between 1 and 9
    As part of this change.

The default VTx band has been changed from 4 to 1. If you are updating, please check that the band is still correct for your setup.

For details see https://github.com/iNavFlight/inav/pull/7949

PWM function mapping change for some targets

KAKUTEH7, MAMBAF722_2022A and MAMBAH743 have now 4 motor and 4 servo outputs by default. To enable X8 mode, CLI set output_mode=MOTORS command has to be used.

New targets

  • Holybro Kakute H7 Mini KAKUTEH7MINI
  • Diatone Mamba F405_2022A MAMBAF405_2022A
  • Diatone Mamba F722_2022A MAMBAF722_2022A
  • Mateksys F411TE MATEKF411TE
  • Mateksys F405TE MATEKF405TE and MATEKF405TE_SD
  • Foxeer F745 AIO FOXEERF745AIO
  • AOCODARCF7DUAL

CLI

Changed settings

Name Values
debug_modes New: LANDING
servo_protocol Removed: SERVO_DRIVER

New Settings

Name Description
ground_test_mode For developer ground test use. Disables motors, sets heading status = Trusted on FW. Default: FALSE
gyro_zero_x Calculated gyro zero calibration of axis X Values: -32768 - 32767 Default: 0
gyro_zero_y Calculated gyro zero calibration of axis Y Values: -32768 - 32767 Default: 0
gyro_zero_z Calculated gyro zero calibration of axis Z Values: -32768 - 32767 Default: 0
init_gyro_cal If defined to 'OFF', it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup. Default: TRUE
ins_gravity_cmss Calculated 1G of Acc axis Z to use in INS Values: 0 - 2000 Default: 0.0
nav_fw_auto_disarm_delay Delay before plane disarms when nav_disarm_on_landing is set (ms) Values: 100 - 10000 Default: 2000
nav_wp_enforce_altitude Forces craft to achieve the set WP altitude as well as position before moving to next WP. Position is held and altitude adjusted as required before moving on. Default: FALSE
osd_mah_used_precision Number of digits used to display mAh used. Values: 4 - 6 Default: 4
osd_switch_indicator_one_channnel RC Channel to use for OSD switch indicator 1. Default: 5
osd_switch_indicator_one_name Character to use for OSD switch incicator 1. Values: 0 - 5 Default: GEAR
osd_switch_indicator_three_channnel RC Channel to use for OSD switch indicator 3. Default: 5
osd_switch_indicator_three_name Character to use for OSD switch incicator 3. Values: 0 - 5 Default: LIGT
osd_switch_indicator_two_channnel RC Channel to use for OSD switch indicator 2. Default: 5
osd_switch_indicator_two_name Character to use for OSD switch incicator 2. Values: 0 - 5 Default: CAM
osd_switch_indicator_zero_channnel RC Channel to use for OSD switch indicator 0. Default: 5
osd_switch_indicator_zero_name Character to use for OSD switch incicator 0. Values: 0 - 5 Default: FLAP
osd_switch_indicators_align_left Align text to left of switch indicators Default: TRUE
osd_system_msg_display_time System message display cycle time for multiple messages (milliseconds). Values: 500 - 5000 Default: 1000
output_mode Output function assignment mode. AUTO assigns outputs according to the default mapping, SERVOS assigns all outputs to servos, MOTORS assigns all outputs to motors Default: AUTO
vtx_frequency_group VTx Frequency group to use. Frequency groups: FREQUENCYGROUP_5G8: 5.8GHz, FREQUENCYGROUP_2G4: 2.4GHz, FREQUENCYGROUP_1G3: 1.3GHz. Values: 0 - 2 Default: FREQUENCYGROUP_5G8
vtx_smartaudio_stopbits Set stopbit count for serial (TBS Sixty9 SmartAudio 2.1 require value of 1 bit) Values: 1 - 2 Default: 2
vtx_softserial_shortstop Enable the 3x shorter stopbit on softserial. Need for some IRC Tramp VTXes. Default: FALSE

Removed Items

Name Description
align_acc Use align_board_yaw
align_gyro Use align_board_yaw

Changelist

New Contributors

The full list of changes is available here
The full list of INAV Configurator changes is available here

inav - INAV 4.1 "Raging Sparrow"

Published by DzikuVx over 2 years ago

Hello and welcome to INAV 4.1 "Raging Sparrow"

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:

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

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

Tested and suggested hardware can be found here

Important notes

This release is fully supported only with INAV Configurator 4.1. When an older version of Configurator is used, the OSD tab will not work!

Upgrading from a previous release

Upgrading from INAV 4.0

  1. Use INAV Configurator 4.0 CLI to make a diff of the current configuration
  2. Store the diff output
  3. Download INAV Configurator 4.1 and flash INAV 4.1 firmware with FULL CHIP ERASE
  4. Connect with INAV Configurator and restore the diff with the CLI tab

Upgrading from older versions

Please follow the instructions on this page.

Important changes

  1. HDzero OSD canvas mode support
  2. SD card support on Kakute H7 flight controllers
  3. Improved Matrix filter tracks now 3 gyro noise peaks instead of only 1
  4. Lowered Airmode threshold to improve Airmode handling on powerful multirotors
  5. Fixed RTH Sanity Checking
  6. New target MAMBAF772_X8
  7. Fix for Matek H743 ADC not working when LED strip is enabled

What's Changed

The full list of changes is available here

New Contributors

inav - INAV 4.1.0 Release Candidate 1

Published by DzikuVx over 2 years ago

Hello and welcome to INAV 4.1 "Red Kite"

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:

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

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

Tested and suggested hardware can be found here

Important notes

This release is fully supported only with INAV Configurator 4.1. When an older version of Configurator is used, the OSD tab will not work!

Upgrading from a previous release

Upgrading from INAV 4.0

  1. Use INAV Configurator 4.0 CLI to make a diff of the current configuration
  2. Store the diff output
  3. Download INAV Configurator 4.1 and flash INAV 4.1 firmware with FULL CHIP ERASE
  4. Connect with INAV Configurator and restore the diff with the CLI tab

Upgrading from older versions

Please follow the instructions on this page.

Important changes

  1. HDzero OSD canvas mode support
  2. SD card support on Kakute H7 flight controllers
  3. Improved Matrix filter tracks now 3 gyro noise peaks instead of only 1
  4. Lowered Airmode threshold to improve Airmode handling on powerful multirotors
  5. Fixed RTH Sanity Checking

What's Changed

The full list of changes is available here

New Contributors

inav - INAV 4 "Red Kite"

Published by DzikuVx almost 3 years ago

Hello and welcome to INAV 4.0 "Red Kite"

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:

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

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

Tested and suggested hardware can be found here

Important Notes

PPM receivers are no longer supported

If you use a PPM receiver, these are no longer supported by iNav. We recommend that you use serial based receivers.

F411 and F722 feature reduction

Due to the storage space on these flight controllers. Features have started to be dropped. See PR #7297 for details

Font update required

A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

INAV LUA Script

If you are using the INAV LUA script and Crossfire, you should update to the latest INAV LUA script.

Upgrading from a previous release

Upgrading from INAV 3

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 4.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 4.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Filtering changes

With INAV 4.0 there are a couple of important changes in how gyro and D-term are filtered. They mostly affect Multirotor pilots.

  1. Kalman filter aka Unicorn Filter is enabled by default
  2. Unicorn Filter setup is simplified: you only tune Q factor. Window size and sharpness settings are removed
  3. Dynamic Notch aka Matrix Filter is enabled by default
  4. Matrix filter has been reworked and simplified. Now you only set minimum frequency and Q factor
  5. Matrix filter resolution is now 4 times higher than with INAV 3
  6. Static gyro notch was removed
  7. First D-term LPF type changed to PT2 and second D-term LPF is disabled - this gives the same filtering as previously but with less settings to worry about
  8. The Alpha-Beta-Gamma filter removed
  9. The Smith Predictor is enabled by default by the new Configurator defaults

H743 support

INAV 4.0 comes with the full support of all H7 boards compatible with MATEKH743 target. This includes the SD Card and MSC mode support. Bear in mind, CAN and UAVCAN are still not supported by INAV and currently, there are no plans to implement them.

Blackbox improvements

Blackbox now always logs the Control Derivative and Feed Forward components, as well as rate target in degrees-per-seconds.
The latest INAV Blackbox Explorer is required to fully use those features.

New command blackbox allows setting which Blackbox fields are recorded to conserve space and bandwidth. Possible fields are:

  • NAV_ACC - Navigation accelerometer readouts
  • NAV_PID - Navigation PID debug
  • NAV_POS - Current and target position and altitude
  • MAG - Magnetometer raw values
  • ACC - Accelerometer raw values
  • ATTI - Attitude as computed by INAV position estimator
  • RC_DATA - RC channels 1-4 as returned by the radio receiver
  • RC_COMMAND - RC_DATA converted to [-500:500] scale with expo and headband
  • MOTORS - motor output

Usage

  • blackbox currently enabled Blackbox fields
  • blackbox list all available fields
  • blackbox -MOTORS disable MOTORS logging
  • blackbox MOTOR enable MOTORS logging

Rate Dynamics

INAV 4.0 adds a port of the EmuFlight Rate Dynamics system. It modifies stick input to change the flight feeling. To find out more refer to:

  1. https://www.youtube.com/watch?v=8WyJx2FcLzI
  2. https://github.com/emuflight/EmuFlight/wiki/Rate-Dynamics

Below are some presets you might want to try

Default

set rate_dynamics_center_sensitivity = 100
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 0
set rate_dynamics_end_sensitivity = 100
set rate_dynamics_end_correction = 10
set rate_dynamics_end_weight = 0

Cinematic

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 20
set rate_dynamics_center_weight = 85
set rate_dynamics_end_sensitivity = 90
set rate_dynamics_end_correction = 10
set rate_dynamics_end_weight = 50

Freestyle

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 35
set rate_dynamics_end_sensitivity = 130
set rate_dynamics_end_correction = 10 
set rate_dynamics_end_weight = 35

Freestyle Less bounceback

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 35
set rate_dynamics_end_sensitivity = 130
set rate_dynamics_end_correction = 30 
set rate_dynamics_end_weight = 35

Racing

set rate_dynamics_center_sensitivity = 130
set rate_dynamics_center_correction = 35
set rate_dynamics_center_weight = 30
set rate_dynamics_end_sensitivity = 115
set rate_dynamics_end_correction = 20
set rate_dynamics_end_weight = 10

WP Mission Enhancements

Multi-Mission

Multiple missions may be uploaded to the flight controller and a mission selected for execution by OSD, Stick Command or Mission Planner. Multi-Mission is supported by the inav Configurator and mwp mission planners.

Number of Waypoints

The maximum number of WPs is now 120.

On the fly missions

INAV 4.0 adds the capability to generate an "on the fly" mission while flying using aircraft positions.

Fly By Home Waypoints

INAV 4.0 adds Fly-by-home waypoints. This is a waypoint whose location is set to the home position at arm time.

Fixed-wing changes

Soaring mode

The soaring mode comes to iNav 4.0. The addition is great for people who fly gliders. The soaring mode adds a modifier that you can use to change how Course Hold, Cruise, or Position Hold (loiter) behave. When enabled, it disables altitude control and allows Angle mode to free float in pitch, allowing the plane to soar freely.

Two-stage climb first for RTH

This change allows the climb phase of a climb first RTH to have two separate parts. This is useful for pilots who want to climb first, to clear potential obstacles. But, don't want to be wasting energy flying away from home. This allows you to set a first climb stage altitude. Once it meets or exceeds that altitude, the plane will turn to home and continue climbing to the RTH altitude. See the iNav Wiki for more information.

Autotune no longer tunes P and I

There were often autotunes in iNav 3.0 which resulted in too high P and I. Also, D was not tuned at all. New default PIDs, that will work reasonably on all sizes of planes (#1390) have been added. This should give good results with an autotune, which can then be fine tuned to your plane.

OSD Units

If you previously used the UK units in your OSD. You will now find that your units are set to Metric + MPH. This is the new name for the old UK units. There is also a new UK units set, that better represents transportation units used in the UK. Full details can be found in the pull release.

There is also a new units set aimed at General Aviation pilots. This set uses Knots, Feet, Nautical Miles, 100 Feet per Minute, and Celsius for their respective values.

Changelist

  • H7: usb msc support for sdio #7572 - This enables SD card support on H7 boards
  • Improve leading space handing in craft name in CLI #6056
  • Ability to store multiple missions and select before arming #6765
  • Unicorn Filter improvements #6819 #7132 #7523
  • Rate dynamics #6823
  • Mission restart option #6938
  • Other Missions improvements #6920
  • On the fly WP Mission Planner #6967
  • OSD Improvements #6979 #6993 #6995 #7068 #7104 #7126 #7427 #7371 #7367 #7355 #7515 #7518 #7519 #7441
  • SmartSudio on SoftwareSerial fixed #6986
  • DJI FPV OSD improvements - craft name hack no longer necessary #7098 #7138
  • Autotune improvements #7180
  • Don't change P, I and D during FW autotune #7461
  • PT2 and PT3 Low Pass Filters for D-term #7165 #7310
  • Dboost 2 - dynamic Dterm management #7149
  • Fix name clashes in FAT filesystem #7155
  • Add proper % RSSI for CRSF [0..99%] #7173
  • Two Stage Climb First RTH #7323
  • Rangefinder cleanup #7318 #7316 #7312
  • VCM5883 magnetometer driver #7301
  • Remove motor rate limiting #7296
  • Cleanup not used ESC protocols #7295
  • Multirotor Auto Speed Change #7293
  • Add support for TOF10120 i2c rangefinder #7291
  • Enable MPU6000 on kakute F4 v2 #7258
  • Added General aviation OSD units - includes a fair amount of work and fixes on the OSD & Fonts #7255
  • Fixed wing soaring mode #7250
  • Fix i2c errors after 72 min of FC launch #7226
  • Added PID Profiles to Programming framework #7432
  • Add average speed to OSD stats #7428
  • Emergency Landing Fix #7421
  • Add 50mW CRSF tx power level #7397
  • Drop PPM receivers #7393
  • Decrease acc and mag P-gains in AHRS #7392
  • Control Derivative improvements #7391
  • Blackbox improvements #7390 #7378 #7440
  • Failsafe Emergency Landing change #7376
  • Add support for Bosch Sensortec BMI270 Accelerometer / Gyro #7356
  • Fixed wing emergency landing vertical rate control addition #7364
  • Nav Emergency landing code fixes and refactor #7339
  • IMU2 BNO055 improvements #7335
  • Set manual rc expo to 35% #7491
  • BMI270: support for reading IMU temperature #7501
  • Dynamic Notch aka Matrix Filter Improvements #7521 #7522 #7544
  • Drop ABG filtering #7524
  • Fix buffer is accessed out of bounds #7545
  • Drop the last static gyro notch #7560
  • Fix MSC on windows with F7 and H7 #7573
  • Added PINIO and USER1 mode to FLYWOOF745 and FLYWOOF745 #7574
  • Remove old and unused IMU #7453
  • Fix emergency landing during failsafe #7460
  • Add min and max airspeed alarms #7467
  • Fixed issue #7194, The DSHOT direction command not working in STM32F405 #7477
  • fix array overflow with 11S-14S battery in Mavlink #7478
  • Adding loiter radius to programming #7480
  • WP mission RTH failsafe fix #7487
  • Enable FW motors and servos on ZEEZF7V2 #7490

The full list of changes is available here

Recommended hardware

Flight controllers

Airplane models

Radios

Long range radio systems

GPS & Sensors

FPV

Other

You can get more suggestions following this link too.

inav - INAV 4.0.0 Release Candidate 2

Published by DzikuVx almost 3 years ago

Hello and welcome to INAV 4.0.0 Release Candidate 2!

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:

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

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

Tested and suggested hardware can be found here

Important Notes

PPM receivers are no longer supported

If you use a PPM receiver, these are no longer supported by iNav. We recommend that you use serial based receivers.

F411 and F722 feature reduction

Due to the storage space on these flight controllers. Features have started to be dropped. See PR #7297 for details

Font update required

A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

Upgrading from a previous release

Upgrading from INAV 3

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 3.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 4.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Filtering changes

With INAV 4.0 there are a couple of important changes in how gyro and D-term are filtered. They mostly affect Multirotor pilots.

  1. Kalman filter aka Unicorn Filter is enabled by default
  2. Unicorn Filter setup is simplified: you only tune Q factor. Window size and sharpness settings are removed
  3. Dynamic Notch aka Matrix Filter is enabled by default
  4. Matrix filter has been reworked and simplified. Now you only set minimum frequency and Q factor
  5. Matrix filter resolution is now 4 times higher than with INAV 3
  6. Static gyro notch was removed
  7. First D-term LPF type changed to PT2 and second D-term LPF is disabled - this gives the same filtering as previously but with less settings to worry about
  8. The Alpha-Beta-Gamma filter removed
  9. The Smith Predictor is enabled by default by the new Configurator defaults

H743 support

INAV 4.0 comes with the full support of all H7 boards compatible with MATEKH743 target. This includes the SD Card and MSC mode support. Bear in mind, CAN and UAVCAN are still not supported by INAV and currently, there are no plans to implement them.

Blackbox improvements

Blackbox now always logs the Control Derivative and Feed Forward components, as well as rate target in degrees-per-seconds.
The latest INAV Blackbox Explorer is required to fully use those features.

New command blackbox allows setting which Blackbox fields are recorded to conserve space and bandwidth. Possible fields are:

  • NAV_ACC - Navigation accelerometer readouts
  • NAV_PID - Navigation PID debug
  • NAV_POS - Current and target position and altitude
  • MAG - Magnetometer raw values
  • ACC - Accelerometer raw values
  • ATTI - Attitude as computed by INAV position estimator
  • RC_DATA - RC channels 1-4 as returned by the radio receiver
  • RC_COMMAND - RC_DATA converted to [-500:500] scale with expo and headband
  • MOTORS - motor output

Usage

  • blackbox currently enabled Blackbox fields
  • blackbox list all available fields
  • blackbox -MOTORS disable MOTORS logging
  • blackbox MOTOR enable MOTORS logging

Rate Dynamics

INAV 4.0 adds a port of the EmuFlight Rate Dynamics system. It modifies stick input to change the flight feeling. To find out more refer to:

  1. https://www.youtube.com/watch?v=8WyJx2FcLzI
  2. https://github.com/emuflight/EmuFlight/wiki/Rate-Dynamics

Below are some presets you might want to try

Default

set rate_dynamics_center_sensitivity = 100
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 0
set rate_dynamics_end_sensitivity = 100
set rate_dynamics_end_correction = 10
set rate_dynamics_end_weight = 0

Cinematic

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 20
set rate_dynamics_center_weight = 85
set rate_dynamics_end_sensitivity = 90
set rate_dynamics_end_correction = 10
set rate_dynamics_end_weight = 50

Freestyle

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 35
set rate_dynamics_end_sensitivity = 130
set rate_dynamics_end_correction = 10 
set rate_dynamics_end_weight = 35

Freestyle Less bounceback

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 35
set rate_dynamics_end_sensitivity = 130
set rate_dynamics_end_correction = 30 
set rate_dynamics_end_weight = 35

Racing

set rate_dynamics_center_sensitivity = 130
set rate_dynamics_center_correction = 35
set rate_dynamics_center_weight = 30
set rate_dynamics_end_sensitivity = 115
set rate_dynamics_end_correction = 20
set rate_dynamics_end_weight = 10

WP Mission Enhancements

Multi-Mission

Multiple missions may be uploaded to the flight controller and a mission selected for execution by OSD, Stick Command or Mission Planner. Multi-Mission is supported by the inav Configurator and mwp mission planners.

Number of Waypoints

The maximum number of WPs is now 120.

On the fly missions

Inav 4.0 adds the capability to generate an "on the fly" mission while flying using aircraft positions.

Fly By Home Waypoints

Inav 4.0 adds Fly-by-home waypoints. This is a way point whose location is set to the home position at arm time.

Fixed wing changes

Soaring mode

Soaring mode comes to iNav 4.0. The addition is great for people who fly gliders. Soaring mode adds a modifier that you can use to change how Course Hold, Cruise, or Position Hold (loiter) behave. When enabled, it disables altitude control and allows Angle mode to free float in pitch, allows the plane to soar freely.

Two-stage climb first for RTH

This change allows the climb phase of a climb first RTH to have two separate parts. This is useful for pilots who want to climb first, to clear potential obstacles. But, don't want to be wasting energy flying away from home. This allows you to set a first climb stage altitude. Once it meets or exceeds that altitude, the plane will turn to home and continue climbing to the RTH altitude. See the iNav Wiki for more information.

Autotune no longer tunes P and I

There were often autotunes in iNav 3.0 which resulted in too high P and I. Also, D was not tuned at all. New default PIDs, that will work reasonably on all sizes of planes (#1390) have been added. This should give good results with an autotune, which can then be fine tuned to your plane.

OSD Units

If you previously used the UK units in your OSD. You will now find that your units are set to Metric + MPH. This is the new name for the old UK units. There is also a new UK units set, that better represents transportation units used in the UK. Full details can be found in the pull release.

There is also a new units set aimed at General Aviation pilots. This set uses Knots, Feet, Nautical Miles, 100 Feet per Minute, and Celsius for their respective values.

Changelist

Comparing to INAV 4.0.0 Release Candidate 1

  • add SPL06 in Matek targets #7628
  • Add IFLIGHT_BLITZ_F722 target #7610
  • Fix HardFault with Power Limit active #7606
  • Multirotor modes removed from Planes #7605

Comparing to INAV 3.0.2

  • H7: usb msc support for sdio #7572 - This enables SD card support on H7 boards
  • Improve leading space handing in craft name in CLI #6056
  • Ability to store multiple missions and select before arming #6765
  • Unicorn Filter improvements #6819 #7132 #7523
  • Rate dynamics #6823
  • Mission restart option #6938
  • Other Missions improvements #6920
  • On the fly WP Mission Planner #6967
  • OSD Improvements #6979 #6993 #6995 #7068 #7104 #7126 #7427 #7371 #7367 #7355 #7515 #7518 #7519 #7441
  • SmartSudio on SoftwareSerial fixed #6986
  • DJI FPV OSD improvements - craft name hack no longer necessary #7098 #7138
  • Autotune improvements #7180
  • Don't change P, I and D during FW autotune #7461
  • PT2 and PT3 Low Pass Filters for D-term #7165 #7310
  • Dboost 2 - dynamic Dterm management #7149
  • Fix name clashes in FAT filesystem #7155
  • Add proper % RSSI for CRSF [0..99%] #7173
  • Two Stage Climb First RTH #7323
  • Rangefinder cleanup #7318 #7316 #7312
  • VCM5883 magnetometer driver #7301
  • Remove motor rate limiting #7296
  • Cleanup not used ESC protocols #7295
  • Multirotor Auto Speed Change #7293
  • Add support for TOF10120 i2c rangefinder #7291
  • Enable MPU6000 on kakute F4 v2 #7258
  • Added General aviation OSD units - includes a fair amount of work and fixes on the OSD & Fonts #7255
  • Fixed wing soaring mode #7250
  • Fix i2c errors after 72 min of FC launch #7226
  • Added PID Profiles to Programming framework #7432
  • Add average speed to OSD stats #7428
  • Emergency Landing Fix #7421
  • Add 50mW CRSF tx power level #7397
  • Drop PPM receivers #7393
  • Decrease acc and mag P-gains in AHRS #7392
  • Control Derivative improvements #7391
  • Blackbox improvements #7390 #7378 #7440
  • Failsafe Emergency Landing change #7376
  • Add support for Bosch Sensortec BMI270 Accelerometer / Gyro #7356
  • Fixed wing emergency landing vertical rate control addition #7364
  • Nav Emergency landing code fixes and refactor #7339
  • IMU2 BNO055 improvements #7335
  • Set manual rc expo to 35% #7491
  • BMI270: support for reading IMU temperature #7501
  • Dynamic Notch aka Matrix Filter Improvements #7521 #7522 #7544
  • Drop ABG filtering #7524
  • Fix buffer is accessed out of bounds #7545
  • Drop the last static gyro notch #7560
  • Fix MSC on windows with F7 and H7 #7573
  • Added PINIO and USER1 mode to FLYWOOF745 and FLYWOOF745 #7574
  • Remove old and unused IMU #7453
  • Fix emergency landing during failsafe #7460
  • Add min and max airspeed alarms #7467
  • Fixed issue #7194, The DSHOT direction command not working in STM32F405 #7477
  • fix array overflow with 11S-14S battery in Mavlink #7478
  • Adding loiter radius to programming #7480
  • WP mission RTH failsafe fix #7487
  • Enable FW motors and servos on ZEEZF7V2 #7490

The full list of changes is available here

inav - INAV 4.0.0 Release Candidate 1

Published by DzikuVx almost 3 years ago

Hello and welcome to INAV 4.0.0 Release Candidate 1!

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:

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

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

Tested and suggested hardware can be found here

Important Notes

PPM receivers are no longer supported

If you use a PPM receiver, these are no longer supported by iNav. We recommend that you use serial based receivers.

F411 and F722 feature reduction

Due to the storage space on these flight controllers. Features have started to be dropped. See PR #7297 for details

Font update required

A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

Upgrading from a previous release

Upgrading from INAV 3

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 3.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 4.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Filtering changes

With INAV 4.0 there are a couple of important changes in how gyro and D-term are filtered. They mostly affect Multirotor pilots.

  1. Kalman filter aka Unicorn Filter is enabled by default
  2. Unicorn Filter setup is simplified: you only tune Q factor. Window size and sharpness settings are removed
  3. Dynamic Notch aka Matrix Filter is enabled by default
  4. Matrix filter has been reworked and simplified. Now you only set minimum frequency and Q factor
  5. Matrix filter resolution is now 4 times higher than with INAV 3
  6. Static gyro notch was removed
  7. First D-term LPF type changed to PT2 and second D-term LPF is disabled - this gives the same filtering as previously but with less settings to worry about
  8. The Alpha-Beta-Gamma filter removed
  9. The Smith Predictor is enabled by default by the new Configurator defaults

H743 support

INAV 4.0 comes with the full support of all H7 boards compatible with MATEKH743 target. This includes the SD Card and MSC mode support. Bear in mind, CAN and UAVCAN are still not supported by INAV and currently, there are no plans to implement them.

Blackbox improvements

Blackbox now always logs the Control Derivative and Feed Forward components, as well as rate target in degrees-per-seconds.
The latest INAV Blackbox Explorer is required to fully use those features.

New command blackbox allows setting which Blackbox fields are recorded to conserve space and bandwidth. Possible fields are:

  • NAV_ACC - Navigation accelerometer readouts
  • NAV_PID - Navigation PID debug
  • NAV_POS - Current and target position and altitude
  • MAG - Magnetometer raw values
  • ACC - Accelerometer raw values
  • ATTI - Attitude as computed by INAV position estimator
  • RC_DATA - RC channels 1-4 as returned by the radio receiver
  • RC_COMMAND - RC_DATA converted to [-500:500] scale with expo and headband
  • MOTORS - motor output

Usage

  • blackbox currently enabled Blackbox fields
  • blackbox list all available fields
  • blackbox -MOTORS disable MOTORS logging
  • blackbox MOTOR enable MOTORS logging

Rate Dynamics

INAV 4.0 adds a port of the EmuFlight Rate Dynamics system. It modifies stick input to change the flight feeling. To find out more refer to:

  1. https://www.youtube.com/watch?v=8WyJx2FcLzI
  2. https://github.com/emuflight/EmuFlight/wiki/Rate-Dynamics

Below are some presets you might want to try

Default

set rate_dynamics_center_sensitivity = 100
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 0
set rate_dynamics_end_sensitivity = 100
set rate_dynamics_end_correction = 10
set rate_dynamics_end_weight = 0

Cinematic

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 20
set rate_dynamics_center_weight = 85
set rate_dynamics_end_sensitivity = 90
set rate_dynamics_end_correction = 10
set rate_dynamics_end_weight = 50

Freestyle

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 35
set rate_dynamics_end_sensitivity = 130
set rate_dynamics_end_correction = 10 
set rate_dynamics_end_weight = 35

Freestyle Less bounceback

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 35
set rate_dynamics_end_sensitivity = 130
set rate_dynamics_end_correction = 30 
set rate_dynamics_end_weight = 35

Racing

set rate_dynamics_center_sensitivity = 130
set rate_dynamics_center_correction = 35
set rate_dynamics_center_weight = 30
set rate_dynamics_end_sensitivity = 115
set rate_dynamics_end_correction = 20
set rate_dynamics_end_weight = 10

WP Mission Enhancements

Multi-Mission

Multiple missions may be uploaded to the flight controller and a mission selected for execution by OSD, Stick Command or Mission Planner. Multi-Mission is supported by the inav Configurator and mwp mission planners.

Number of Waypoints

The maximum number of WPs is now 120.

On the fly missions

Inav 4.0 adds the capability to generate an "on the fly" mission while flying using aircraft positions.

Fly By Home Waypoints

Inav 4.0 adds Fly-by-home waypoints. This is a way point whose location is set to the home position at arm time.

Fixed wing changes

Soaring mode

Soaring mode comes to iNav 4.0. The addition is great for people who fly gliders. Soaring mode adds a modifier that you can use to change how Course Hold, Cruise, or Position Hold (loiter) behave. When enabled, it disables altitude control and allows Angle mode to free float in pitch, allows the plane to soar freely.

Two-stage climb first for RTH

This change allows the climb phase of a climb first RTH to have two separate parts. This is useful for pilots who want to climb first, to clear potential obstacles. But, don't want to be wasting energy flying away from home. This allows you to set a first climb stage altitude. Once it meets or exceeds that altitude, the plane will turn to home and continue climbing to the RTH altitude. See the iNav Wiki for more information.

Autotune no longer tunes P and I

There were often autotunes in iNav 3.0 which resulted in too high P and I. Also, D was not tuned at all. New default PIDs, that will work reasonably on all sizes of planes (#1390) have been added. This should give good results with an autotune, which can then be fine tuned to your plane.

OSD Units

If you previously used the UK units in your OSD. You will now find that your units are set to Metric + MPH. This is the new name for the old UK units. There is also a new UK units set, that better represents transportation units used in the UK. Full details can be found in the pull release.

There is also a new units set aimed at General Aviation pilots. This set uses Knots, Feet, Nautical Miles, 100 Feet per Minute, and Celsius for their respective values.

Changelist

  • H7: usb msc support for sdio #7572 - This enables SD card support on H7 boards
  • Improve leading space handing in craft name in CLI #6056
  • Ability to store multiple missions and select before arming #6765
  • Unicorn Filter improvements #6819 #7132 #7523
  • Rate dynamics #6823
  • Mission restart option #6938
  • Other Missions improvements #6920
  • On the fly WP Mission Planner #6967
  • OSD Improvements #6979 #6993 #6995 #7068 #7104 #7126 #7427 #7371 #7367 #7355 #7515 #7518 #7519 #7441
  • SmartSudio on SoftwareSerial fixed #6986
  • DJI FPV OSD improvements - craft name hack no longer necessary #7098 #7138
  • Autotune improvements #7180
  • Don't change P, I and D during FW autotune #7461
  • PT2 and PT3 Low Pass Filters for D-term #7165 #7310
  • Dboost 2 - dynamic Dterm management #7149
  • Fix name clashes in FAT filesystem #7155
  • Add proper % RSSI for CRSF [0..99%] #7173
  • Two Stage Climb First RTH #7323
  • Rangefinder cleanup #7318 #7316 #7312
  • VCM5883 magnetometer driver #7301
  • Remove motor rate limiting #7296
  • Cleanup not used ESC protocols #7295
  • Multirotor Auto Speed Change #7293
  • Add support for TOF10120 i2c rangefinder #7291
  • Enable MPU6000 on kakute F4 v2 #7258
  • Added General aviation OSD units - includes a fair amount of work and fixes on the OSD & Fonts #7255
  • Fixed wing soaring mode #7250
  • Fix i2c errors after 72 min of FC launch #7226
  • Added PID Profiles to Programming framework #7432
  • Add average speed to OSD stats #7428
  • Emergency Landing Fix #7421
  • Add 50mW CRSF tx power level #7397
  • Drop PPM receivers #7393
  • Decrease acc and mag P-gains in AHRS #7392
  • Control Derivative improvements #7391
  • Blackbox improvements #7390 #7378 #7440
  • Failsafe Emergency Landing change #7376
  • Add support for Bosch Sensortec BMI270 Accelerometer / Gyro #7356
  • Fixed wing emergency landing vertical rate control addition #7364
  • Nav Emergency landing code fixes and refactor #7339
  • IMU2 BNO055 improvements #7335
  • Set manual rc expo to 35% #7491
  • BMI270: support for reading IMU temperature #7501
  • Dynamic Notch aka Matrix Filter Improvements #7521 #7522 #7544
  • Drop ABG filtering #7524
  • Fix buffer is accessed out of bounds #7545
  • Drop the last static gyro notch #7560
  • Fix MSC on windows with F7 and H7 #7573
  • Added PINIO and USER1 mode to FLYWOOF745 and FLYWOOF745 #7574
  • Remove old and unused IMU #7453
  • Fix emergency landing during failsafe #7460
  • Add min and max airspeed alarms #7467
  • Fixed issue #7194, The DSHOT direction command not working in STM32F405 #7477
  • fix array overflow with 11S-14S battery in Mavlink #7478
  • Adding loiter radius to programming #7480
  • WP mission RTH failsafe fix #7487
  • Enable FW motors and servos on ZEEZF7V2 #7490

The full list of changes is available here

inav - INAV 3.0.2

Published by DzikuVx about 3 years ago

Hello and welcome to INAV 3.0.2 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:

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

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

Tested and suggested hardware can be found here

Setup tutorials

Important Notes

Font update required

The OSD fonts have been improved (@Jettrel) and there are several new symbols. A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

Upgrading from 3.0.0

  1. Backup configuration with CLI dump command
  2. Flash INAV 3.0.2 with Full Chip Erase
  3. Restore configuration by pasting configuration from step 1

Alternatively, flash 3.0.2 without Full Chip Erase - Not recommended

Changes from 3.0.2

  1. Fix FOXEERF722V2 motor outputs
  2. JETI Telemetry
  3. New Target MATEKF765SE
  4. New Target SPEEDYBEEF7V2
  5. New Target BETAFPVF722
  6. Add FF component to Blackbox logs
  7. Always apply Control Derivative, also in Angle mode

Recommended hardware

Flight controllers

Airplane models

Radios

Long range radio systems

GPS & Sensors

FPV

Other

You can get more suggestions following this link too.

inav - INAV 3.0.1

Published by DzikuVx over 3 years ago

Hello and welcome to INAV 3.0.1 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:

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

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

Tested and suggested hardware can be found here

Setup tutorials

Important Notes

Font update required

The OSD fonts have been improved (@Jettrel) and there are several new symbols. A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

Upgrading from 3.0.0

  1. Backup configuration with CLI dump command
  2. Flash INAV 3.0.1 with Full Chip Erase
  3. Restore configuration by pasting configuration from step 1

Alternatively, flash 3.0.1 without Full Chip Erase - Not recommended

Changes from 3.0.0

  1. Add sane limit to P and I in Autotune #7209
  2. Basic support for MATEKH743 target
  3. Fixed mission loading with stick commands #7204
  4. Fixed BARO calibration fail resulting in wrong altitude computation before arming #7183
  5. Display efficiency in metric when using UK units #7172
  6. Fix bug that doesn't allow arming with ALLOW_BYPASS #7162
  7. Enable OSD for all targets #7118

MATEKH743 support

This release supports Matek H743-WING, H743-Slim, and H743-Mini flight controllers. Targets are fully flyable, but not all features are yet working:

  1. No SD card support and no MSC mode
  2. CAN bus is not supported

INAV Configurator 3.0.1 is required to flash H743 targets with Full Chip Erase.

Upgrading from previous releases

We suggest NOT to do a full diff or dump upgrade. To get the best performance set up your aircraft from scratch. You can copy osd, aux, serial, and mixer settings, as well as accelerometer and magnetometer calibration values from INAV 2.6, but other settings should be tuned again.

Upgrading from 2.6, 2.6.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 3.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 3.0 features, and enjoy!

Upgrading from 2.5 or older version

Please follow the instructions on this page.

New targets:

  • Diatone MambaF405US_I2C
  • FLYWOOF411_V2
  • Mamba F722_I2C
  • FLYWOOF745
  • FLYWOOF745NANO
  • MATEKH743

CLI:

New commands

Setting Description
imu2 Display the current status of the Secondary IMU
imu2 fetch Get calibration data from the Secondary IMU
pid Configure general purpose PID controllers. Refer to docs

Changed Settings

Setting Description
blackbox_device Default: target
log_level Default: ERROR
nav_overrides_motor_stop When set to OFF the navigation system will not take over the control of the motor if the throttle is low (motor will stop). When set to OFF_ALWAYS the navigation system will not take over the control of the motor if the throttle was low even when failsafe is triggered. 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 on NAV modes which take control of the throttle when 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
nav_rth_climb_first New: ON_FW_SPIRAL
platform_type Default: MULTIROTOR
receiver_type Default: target
rssi_source Default: AUTO

New Settings

Setting Description
dji_speed_source Sets the speed type displayed by the DJI OSD: GROUND, 3D, AIR Default: GROUND
dshot_beeper_enabled Whether using DShot motors as beepers is enabled Default: TRUE
dshot_beeper_tone Sets the DShot beeper tone Values: 1 - 5 Default: 1
fw_d_pitch Fixed wing rate stabilisation D-gain for PITCH Default: 0
fw_d_roll Fixed wing rate stabilisation D-gain for ROLL Default: 0
fw_d_yaw Fixed wing rate stabilisation D-gain for YAW Default: 0
fw_level_pitch_trim Pitch trim for self-leveling flight modes. In degrees. +5 means airplane nose should be raised 5 deg from level Values: -10 - 10 Default: 0
fw_yaw_iterm_freeze_bank_angle Yaw Iterm is frozen when bank angle is above this threshold [degrees]. This solves the problem of the rudder counteracting turns by partially disabling yaw stabilization when making banked turns. Setting to 0 (the default) disables this feature. Only applies when autopilot is not active and TURN ASSIST is disabled. Values: 0 - 90 Default: 0
gyro_abg_alpha Alpha factor for Gyro Alpha-Beta-Gamma filter Values: 0 - 1 Default: 0
gyro_abg_boost Boost factor for Gyro Alpha-Beta-Gamma filter Values: 0 - 2 Default: 0.35
gyro_abg_half_life Sample half-life for Gyro Alpha-Beta-Gamma filter Values: 0 - 10 Default: 0.5
gyro_anti_aliasing_lpf_hz Gyro processing anti-aliasing filter cutoff frequency. In normal operation this filter setting should never be changed. In Hz Values: 0 - 255 Default: 250
gyro_anti_aliasing_lpf_type Specifies the type of the software LPF of the gyro signals. Default: PT1
gyro_dyn_lpf_curve_expo Expo value for the throttle-to-frequency mapping for Dynamic LPF Values: 1 - 10 Default: 5
gyro_dyn_lpf_max_hz Maximum frequency of the gyro Dynamic LPF Values: 40 - 1000 Default: 500
gyro_dyn_lpf_min_hz Minimum frequency of the gyro Dynamic LPF Values: 40 - 400 Default: 200
gyro_main_lpf_hz Software based gyro main lowpass filter. Value is cutoff frequency (Hz) Values: 0 - 500 Default: 60
gyro_main_lpf_type Defines the type of the main gyro LPF filter. Possible values: PT1, BIQUAD. PT1 offers faster filter response while BIQUAD better attenuation. Default: BIQUAD
gyro_use_dyn_lpf Use Dynamic LPF instead of static gyro stage1 LPF. Dynamic Gyro LPF updates gyro LPF based on the throttle position. Default: FALSE
imu2_align_pitch Pitch alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_align_roll Roll alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_align_yaw Yaw alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_gain_acc_x Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_acc_y Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_acc_z Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_x Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_y Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_z Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_hardware Selection of a Secondary IMU hardware type. NONE disables this functionality Default: NONE, values NONE, BNO055, BNO055_SERIAL
imu2_radius_acc Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_radius_mag Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_use_for_osd_ahi If set to ON, Secondary IMU data will be used for Analog OSD Artificial Horizon Default: FALSE
imu2_use_for_osd_heading If set to ON, Secondary IMU data will be used for Analog OSD heading Default: FALSE
imu2_use_for_stabilized If set to ON, Secondary IMU data will be used for Angle, Horizon and all other modes that control attitude (PosHold, WP, RTH) Default: FALSE
mavlink_version Version of MAVLink to use Values: 1 - 2 Default: 2
nav_land_maxalt_vspd Vertical descent velocity above nav_land_slowdown_maxalt during the RTH landing phase. [cm/s] Values: 100 - 2000 Default: 200
nav_land_minalt_vspd Vertical descent velocity under nav_land_slowdown_minalt during the RTH landing phase. [cm/s] Values: 50 - 500 Default: 50
nav_max_altitude Max allowed altitude (above Home Point) that applies to all NAV modes (including Altitude Hold). 0 means limit is disabled Values: 0 - 65000 Default: 0
nav_mc_wp_slowdown When ON, NAV engine will slow down when switching to the next waypoint. This prioritizes turning over forward movement. When OFF, NAV engine will continue to the next waypoint and turn as it goes. Default: TRUE
nav_rth_alt_control_override If set to ON RTH altitude and CLIMB FIRST settings can be overridden during the RTH climb phase using full pitch or roll stick held for > 1 second. RTH altitude is reset to the current altitude using pitch down stick. RTH CLIMB FIRST is overridden using right roll stick so craft turns and heads directly to home (CLIMB FIRST override only works for fixed wing) Default: FALSE
osd_pan_servo_index Index of the pan servo to adjust osd home heading direction based on camera pan. Note that this feature does not work with continiously rotating servos. Values: 0 - 10 Default: 0
osd_pan_servo_pwm2centideg Centidegrees of pan servo rotation us PWM signal. A servo with 180 degrees of rotation from 1000 to 2000 us PWM typically needs 18 for this setting. Change sign to inverse direction. Values: -36 - 36 Default: 0
osd_plus_code_short Number of leading digits removed from plus code. Removing 2, 4 and 6 digits requires a reference location within, respectively, ~800km, ~40 km and ~2km to recover the original coordinates. Default: 0
osd_sidebar_height Height of sidebars in rows. 0 leaves only the level indicator arrows (Not for pixel OSD) Values: 0 - 5 Default: 3
osd_stats_min_voltage_unit Display minimum voltage of the BATTERY or the average per CELL in the OSD stats. Default: BATTERY. Options BATTERY, CELL
osd_telemetry To enable OSD telemetry for antenna tracker. Possible values are OFF, ON and TEST Default: OFF
prearm_timeout Duration (ms) for which Prearm being activated is valid. after this, Prearm needs to be reset. 0 means Prearm does not timeout. Values: 0 - 10000 Default: 10000
safehome_max_distance In order for a safehome to be used, it must be less than this distance (in cm) from the arming point. Values: 0 - 65000 Default: 20000
safehome_usage_mode Used to control when safehomes will be used. Possible values are OFF, RTH and RTH_FS. See Safehome documentation for more information. Default: RTH
servo_autotrim_rotation_limit Servo midpoints are only updated when total aircraft rotation is less than this threshold [deg/s]. Only applies when using feature FW_AUTOTRIM. Values: 1 - 60 Default: 15
smith_predictor_delay Expected delay of the gyro signal. In milliseconds Values: 0 - 8 Default: 0
smith_predictor_lpf_hz Cutoff frequency for the Smith Predictor Low Pass Filter Values: 1 - 500 Default: 50
smith_predictor_strength The strength factor of a Smith Predictor of PID measurement. In percents Values: 0 - 1 Default: 0.5
turtle_mode_power_factor Turtle mode power factor Values: 0 - 100 Default: 55
vtx_smartaudio_early_akk_workaround Enable workaround for early AKK SAudio-enabled VTX bug. Default: TRUE
osd_rssi_dbm_alarm RSSI in dBm alarm for Crossfire. Default: 0
nav_wp_load_on_boot If set to ON, waypoints will be automatically loaded from EEPROM to the FC during startup. Default: OFF

Removed settings

Setting Description
gyro_sync
nav_landing_speed replaced by nav_land_minalt_vspd and nav_land_maxalt_vspd

Renamed settings

Old name New name
gyro_lpf_hz Replaced with gyro_main_lpf_hz
gyro_lpf_type Replaced with gyro_main_lpf_type
gyro_stage2_lowpass_hz Replaced with gyro_anti_aliasing_lpf_hz
gyro_stage2_lowpass_type Replaced with gyro_anti_aliasing_lpf_type
mc_airmode_threshold airmode_threshold
mc_airmode_type airmode_type
osd_artificial_horizon_max_pitch osd_ahi_max_pitch
osd_artificial_horizon_reverse_roll osd_ahi_reverse_roll

New drivers and protocols

  • Rangefinder "GY-US42(v2) Ultrasonic Range Sensor
  • Rangefinder vl53l1x
  • BNO055 Secondary IMU
  • BMI088 IMU

New features

Turtle mode aka Flip Over after crash (@kernel-machine)

INAV now has a "Turtle Mode".

  • Requires DSHOT ESC protocol
  • Assign a switch to TURTLE mode
  • Ensure you can arm at any angle

WP mission sealevel altitude datum (@breadoven)

Prior to inav 3.0, mission waypoint altitudes are relative the arming location. It is now possible to define waypoints with absolute (AMSL) altitude, making the mission independent of the arming location. See the inav wiki for details (WP paramater 3)

WP Mission Landing Elevation Setting (@breadoven)

The relative / absolute ground altitude of a LAND waypoint may be set as WP paramater 2 (m). See the inav wiki for details.

DShot Beeper (@harry1453)

Nothing to add. If DSHOT is enabled, DSHOT beeper will be used.

RC via MAVLink & MAVLink V2 Support (@harry1453)

MAVLink is still only a downlink from UAV to the ground station, but now allows to use RC-Over-MAVLink

Prearm Mode (@harry1453)

Prearm offers a two-stage arming process as an optional additional safety feature.

  • Activate prearm (normally a button or momentary switch)
  • Activate arm

Initial cut on H7 MCU support (@digitalentity, @bkleiner, @DzikuVx)

H7 is available in the source repository; target Hex files will be released as targets mature, probably in the future point releases.

Add D-term to control loop on fixed wing aircraft (@avsaase)

You can now use the D-gain to improve the stabilization, especially on small and agile airplanes. Until we have a better understanding of how to tune this on a range of airplanes, the D-gain is set to zero by default and not tuned using autotune. Please report good performing tunes in https://github.com/iNavFlight/inav/issues/6709.

Improved AUTOTUNE for fixed wing (@avsaase)

AUTOTUNE can now automatically set the correct rates for your airplane. The goal is to set rates that the airplane is capable of achieving with 80% control surface deflection so there is some room for the stabilization to work. This feature is controlled by CLI setting fw_autotune_rate_adjustment. When set to AUTO (the default), autotune automatically determines the rates and gains. When set to MAX, rates will be automatically adjusted, but never above the starting values. This can be used to calm down a very agile plane, while still avoiding setting too high rates. When set to FIXED, rates will not be adjusted. Note that setting too high rates can cause very bad flight behavior and potential crashes. Rate discovery is not possible in ANGLE mode so it is highly advised to do autotune in ACRO mode.

Continuously trim servos on fixed wing (@avsaase)

There is now the option to continuously trim the servos for straight and level flight. When enabled and flying straight and level, INAV records what servo output is required to maintain a constant attitude, and adjusts the servo midpoints accordingly. The servo midpoints are limited to the 1300-1700 range. After the first maiden flight, and after the first flight when significant changes have been made to the airplane, check the servo midpoints. If they are at or close to the end of this range mechanically adjust the control surfaces.

Improvements and updates

Gyro processing improvements (@DzikuVx)

As part of gyro processing updates, the following changes were made:

  1. gyro_sync is gone, INAV no longer does a wait cycle trying to get the next set of data from the gyro.
  2. Gyro data acquisition is no longer part of the main PID task
  3. Gyro data is acquired with a constant rate of 4kHz and filters with an anti-aliasing filter (gyro_anti_aliasing_lpf_hz). In normal circumstances, there is no need to change this setting
  4. All the other filters are running as part of the main PID task as before
  5. The gyro low-pass filter gyro_lpf_hz was renamed to gyro_main_lpf_hz

New experimental features for Multirotors

  • Smith Predictor on gyro signal helps to reduce the delay introduced by gyro filters. It's disabled by default. To enable, use set smith_predictor_delay = 3. More details about this feature will follow later
  • Alpha-Beta-Gamma filter is a relative of the Kalman filter and other prediction filters. Disabled by default. To enable, set gyro_abg_alpha = 0.25 or higher value. It requires a very clean gyro signal or might introduce oscillations on the high throttle. If the multirotor started to vibrate after enabling the Alpha-Beta-Gamma filter, you either have to improve the gyro filter strategy or disable the ABG filter. It works great on some builds and not so great or other. It's up to you to test.
  • Dynamic Gyro Main LPF - Dynamic gyro LPF with the cutoff frequency depending on throttle position. To enable set gyro_use_dyn_lpf=ON and set gyro_dyn_lpf_min_hz and gyro_dyn_lpf_max_hz. Dynamic LPF replaces gyro_main_lpf_hz

Update EGNOS PRN mask to latest EGSA definition, fix SBAS for non-Galileo usage (@stronnag)

The EGNOS (GPS ground assistance) definitions have been updated to the latest values for all GNSS options. An invalid association with the availability of Galileo has been corrected.

Make CW270FLIP default MAG alignment (@DzikuVx)

New FCs rarely feature onboard compass, and most GPS+MAG default to CW270FLIP, so this is now the INAV default. If you use another value, check your setup after upgrading.

Rename NAV CRUISE mode to NAV COURSE HOLD and add CRUISE mode which is equivalent to CRSH+AH (@shellixyz)

To more clearly state what they do and how they work. It's a subtle, but worth it to change for sure!

Bump OSD font min version to 2 (@shellixyz)

Users must upgrade OSD Fonts to Version 2 (or later).

Delayed safehome (@tonyyng)

Safehome does not now replace the arming location until it is needed. If you cancel RTH or recover from RX failsafe, the original arming location is restored as the home location. Under normal circumstances, "distance to home" will revert to range from the arming location.

Switched RTH Preset Altitude Override (@breadoven)

Provides stick options to override configured RTH climb and/or turn behaviour. See the nav_rth_alt_control_override setting description for details.

Renamed OSD SW and LEDLOW to OSD/LEDS OFF (@MrD-RC)

Modes names were changed to be more user friendly. When OSD OFF is enabled, OSD will be turned off. When LED OFF is enabled, LEDs will be turned off.

Fixed wing RTH Spiral Climb Option (@breadoven)

Yeap, now when nav_rth_climb_first is set to ON_FW_SPIRAL, Fixed Wing will keep litering and gaining altitude until it reaches desired altitude. Previously, it was climbing while flying straight in random direction

Do not slow down in WP mission when approaching a waypoint (@DzikuVx)

When nav_mc_wp_slowdown is set to OFF, Waypoint missions on Multirotors will be smoother as the NAV engine will not try to slow down before entering the waypoint and then accelerate towards the next waypoint. INAV will rather enter WP with normal speed, switch to the next waypoint and then adjust heading while flying.

Configure speed source for DJI OSD (@DzikuVx)

The default behavior of the DJI OSD speed element was to display a ground speed. osd_speed_source can be set to GROUND, AIR or 3D speed depending on the preference

Ability to trim pitch angle for level flight (@DzikuVx)

  1. The flight controller trimming for level flight on Fixed Wings is no longer a recommended way to do so
  2. Board ROLL and PITCH settings should be changed only when the flight controller is not installed parallel to the wings plane
  3. pitch trim should be done using fw_level_pitch_trim setting. +5 fw_level_pitch_trim means airplane nose should be raised 5 deg from level
  4. Flight mode AUTO LEVEL will automatically trim the pitch angle when ANGLE or HORIZON flight modes are used

vtx_smartaudio_early_akk_workaround option (@RomanLut)

If your old AKK VTX is not working, use vtx_smartaudio_early_akk_workaround to fix it!

Added option to output servos on PWM and SBUS (@IVData)

Option for local plus codes on osd (@avsaase)

This adds the option to remove the first 2, 4, or 6 digits from the OSD plus code. Doing so requires a reference location (for example your current location when using Google Maps on your phone) within ~800, ~40, and ~2km, respectively.

Changed default settings for fixed-wing throttle smoothing in navigation modes (@Airwide)

Throttle smoothing in the navigation modes on fixed-wing aircraft is now enabled by default. This results in smoother throttle management and more efficient cruising.

Improved flight performance on planes with rudder (@avsaase)

In ACRO mode, you can mitigate the problem of the rudder fighting bank-and-yank turns by disabling the I-term when the bank angle is above a given threshold. Set the desired bank angle threshold on the Mechanics tab under PID tuning. 10 degrees is a good starting point. In the navigation modes, rudder handling is improved. As a consequence of this improvement, TURN ASSIST can no longer be used in ACRO mode.

Secondary IMU

INAV 3.0 supports, as an experimental feature, external BNO055 connected as either I2C or Serial device. Data from BNO055 can be used to display Artificial Horizon in OSD, Heading in OSD or drive the self-leveling ANGLE and HORIZON modes. Secondary IMU will not be used for navigation yet!

Altitude limit

Via #4442 it is now possible to limit maximum altitude for both Fixed Wings and Multirotors. nav_max_altitude sets the max altitude in centimeters. Bear in mind, limit is active only with Altitude Hold mode and does not affect manual and acro flight modes

General Purpose PID controllers

INAV 3.0 comes with 4 general-purpose, user-programmable PID controllers that can be integrated with Logic Conditions and Global Variables. Why? Because why not! With the ability to override RC channels with Logic Conditions you can program your own heading, speed, altitude, whatever control.

All Changes since 2.6.1

Recommended hardware

Flight controllers

Airplane models

Radios

Long range radio systems

GPS & Sensors

FPV

Other

You can get more suggestions following this link too.

inav - INAV 3.0.0

Published by DzikuVx over 3 years ago

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

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

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

Tested and suggested hardware can be found here

Important Notes

F3 Removal

STM32 F3 flight controllers like Omnibus F3 or SP Racing F3 are no longer supported in INAV. If you are still using F3 boards, please migrate to F4 or F7.

The supporting code will be retained for a few more releases, but will not be maintained and is not guaranteed to build or work properly in the future.

Adjustments

There are now separate adjustments for D and CD/FF gains. This breaks compatibility with diffs from previous releases. Check the adjustments tab in the configurator after restoring a diff to makes sure they are set up correctly.

Font update required

The OSD fonts have been improved (@Jettrel) and there are several new symbols. A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

Upgrading from previous releases

We suggest NOT to do a full diff or dump upgrade. To get the best performance set up your aircraft from scratch. You can copy osd, aux, serial, and mixer settings, as well as accelerometer and magnetometer calibration values from INAV 2.6, but other settings should be tuned again.

Upgrading from 2.6, 2.6.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 3.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 3.0 features, and enjoy!

Upgrading from 2.5 or older version

Please follow the instructions on this page.

New targets:

  • Diatone MambaF405US_I2C
  • FLYWOOF411_V2
  • Mamba F722_I2C
  • FLYWOOF745
  • FLYWOOF745NANO

CLI:

New commands

Setting Description
imu2 Display the current status of the Secondary IMU
imu2 fetch Get calibration data from the Secondary IMU
pid Configure general purpose PID controllers. Refer to docs

Changed Settings

Setting Description
blackbox_device Default: target
log_level Default: ERROR
nav_overrides_motor_stop When set to OFF the navigation system will not take over the control of the motor if the throttle is low (motor will stop). When set to OFF_ALWAYS the navigation system will not take over the control of the motor if the throttle was low even when failsafe is triggered. 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 on NAV modes which take control of the throttle when 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
nav_rth_climb_first New: ON_FW_SPIRAL
platform_type Default: MULTIROTOR
receiver_type Default: target
rssi_source Default: AUTO

New Settings

Setting Description
dji_speed_source Sets the speed type displayed by the DJI OSD: GROUND, 3D, AIR Default: GROUND
dshot_beeper_enabled Whether using DShot motors as beepers is enabled Default: TRUE
dshot_beeper_tone Sets the DShot beeper tone Values: 1 - 5 Default: 1
fw_d_pitch Fixed wing rate stabilisation D-gain for PITCH Default: 0
fw_d_roll Fixed wing rate stabilisation D-gain for ROLL Default: 0
fw_d_yaw Fixed wing rate stabilisation D-gain for YAW Default: 0
fw_level_pitch_trim Pitch trim for self-leveling flight modes. In degrees. +5 means airplane nose should be raised 5 deg from level Values: -10 - 10 Default: 0
fw_yaw_iterm_freeze_bank_angle Yaw Iterm is frozen when bank angle is above this threshold [degrees]. This solves the problem of the rudder counteracting turns by partially disabling yaw stabilization when making banked turns. Setting to 0 (the default) disables this feature. Only applies when autopilot is not active and TURN ASSIST is disabled. Values: 0 - 90 Default: 0
gyro_abg_alpha Alpha factor for Gyro Alpha-Beta-Gamma filter Values: 0 - 1 Default: 0
gyro_abg_boost Boost factor for Gyro Alpha-Beta-Gamma filter Values: 0 - 2 Default: 0.35
gyro_abg_half_life Sample half-life for Gyro Alpha-Beta-Gamma filter Values: 0 - 10 Default: 0.5
gyro_anti_aliasing_lpf_hz Gyro processing anti-aliasing filter cutoff frequency. In normal operation this filter setting should never be changed. In Hz Values: 0 - 255 Default: 250
gyro_anti_aliasing_lpf_type Specifies the type of the software LPF of the gyro signals. Default: PT1
gyro_dyn_lpf_curve_expo Expo value for the throttle-to-frequency mapping for Dynamic LPF Values: 1 - 10 Default: 5
gyro_dyn_lpf_max_hz Maximum frequency of the gyro Dynamic LPF Values: 40 - 1000 Default: 500
gyro_dyn_lpf_min_hz Minimum frequency of the gyro Dynamic LPF Values: 40 - 400 Default: 200
gyro_main_lpf_hz Software based gyro main lowpass filter. Value is cutoff frequency (Hz) Values: 0 - 500 Default: 60
gyro_main_lpf_type Defines the type of the main gyro LPF filter. Possible values: PT1, BIQUAD. PT1 offers faster filter response while BIQUAD better attenuation. Default: BIQUAD
gyro_use_dyn_lpf Use Dynamic LPF instead of static gyro stage1 LPF. Dynamic Gyro LPF updates gyro LPF based on the throttle position. Default: FALSE
imu2_align_pitch Pitch alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_align_roll Roll alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_align_yaw Yaw alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_gain_acc_x Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_acc_y Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_acc_z Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_x Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_y Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_z Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_hardware Selection of a Secondary IMU hardware type. NONE disables this functionality Default: NONE, values NONE, BNO055, BNO055_SERIAL
imu2_radius_acc Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_radius_mag Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_use_for_osd_ahi If set to ON, Secondary IMU data will be used for Analog OSD Artificial Horizon Default: FALSE
imu2_use_for_osd_heading If set to ON, Secondary IMU data will be used for Analog OSD heading Default: FALSE
imu2_use_for_stabilized If set to ON, Secondary IMU data will be used for Angle, Horizon and all other modes that control attitude (PosHold, WP, RTH) Default: FALSE
mavlink_version Version of MAVLink to use Values: 1 - 2 Default: 2
nav_land_maxalt_vspd Vertical descent velocity above nav_land_slowdown_maxalt during the RTH landing phase. [cm/s] Values: 100 - 2000 Default: 200
nav_land_minalt_vspd Vertical descent velocity under nav_land_slowdown_minalt during the RTH landing phase. [cm/s] Values: 50 - 500 Default: 50
nav_max_altitude Max allowed altitude (above Home Point) that applies to all NAV modes (including Altitude Hold). 0 means limit is disabled Values: 0 - 65000 Default: 0
nav_mc_wp_slowdown When ON, NAV engine will slow down when switching to the next waypoint. This prioritizes turning over forward movement. When OFF, NAV engine will continue to the next waypoint and turn as it goes. Default: TRUE
nav_rth_alt_control_override If set to ON RTH altitude and CLIMB FIRST settings can be overridden during the RTH climb phase using full pitch or roll stick held for > 1 second. RTH altitude is reset to the current altitude using pitch down stick. RTH CLIMB FIRST is overridden using right roll stick so craft turns and heads directly to home (CLIMB FIRST override only works for fixed wing) Default: FALSE
osd_pan_servo_index Index of the pan servo to adjust osd home heading direction based on camera pan. Note that this feature does not work with continiously rotating servos. Values: 0 - 10 Default: 0
osd_pan_servo_pwm2centideg Centidegrees of pan servo rotation us PWM signal. A servo with 180 degrees of rotation from 1000 to 2000 us PWM typically needs 18 for this setting. Change sign to inverse direction. Values: -36 - 36 Default: 0
osd_plus_code_short Number of leading digits removed from plus code. Removing 2, 4 and 6 digits requires a reference location within, respectively, ~800km, ~40 km and ~2km to recover the original coordinates. Default: 0
osd_sidebar_height Height of sidebars in rows. 0 leaves only the level indicator arrows (Not for pixel OSD) Values: 0 - 5 Default: 3
osd_stats_min_voltage_unit Display minimum voltage of the BATTERY or the average per CELL in the OSD stats. Default: BATTERY. Options BATTERY, CELL
osd_telemetry To enable OSD telemetry for antenna tracker. Possible values are OFF, ON and TEST Default: OFF
prearm_timeout Duration (ms) for which Prearm being activated is valid. after this, Prearm needs to be reset. 0 means Prearm does not timeout. Values: 0 - 10000 Default: 10000
safehome_max_distance In order for a safehome to be used, it must be less than this distance (in cm) from the arming point. Values: 0 - 65000 Default: 20000
safehome_usage_mode Used to control when safehomes will be used. Possible values are OFF, RTH and RTH_FS. See Safehome documentation for more information. Default: RTH
servo_autotrim_rotation_limit Servo midpoints are only updated when total aircraft rotation is less than this threshold [deg/s]. Only applies when using feature FW_AUTOTRIM. Values: 1 - 60 Default: 15
smith_predictor_delay Expected delay of the gyro signal. In milliseconds Values: 0 - 8 Default: 0
smith_predictor_lpf_hz Cutoff frequency for the Smith Predictor Low Pass Filter Values: 1 - 500 Default: 50
smith_predictor_strength The strength factor of a Smith Predictor of PID measurement. In percents Values: 0 - 1 Default: 0.5
turtle_mode_power_factor Turtle mode power factor Values: 0 - 100 Default: 55
vtx_smartaudio_early_akk_workaround Enable workaround for early AKK SAudio-enabled VTX bug. Default: TRUE
osd_rssi_dbm_alarm RSSI in dBm alarm for Crossfire. Default: 0
nav_wp_load_on_boot If set to ON, waypoints will be automatically loaded from EEPROM to the FC during startup. Default: OFF

Removed settings

Setting Description
gyro_sync
nav_landing_speed replaced by nav_land_minalt_vspd and nav_land_maxalt_vspd

Renamed settings

Old name New name
gyro_lpf_hz Replaced with gyro_main_lpf_hz
gyro_lpf_type Replaced with gyro_main_lpf_type
gyro_stage2_lowpass_hz Replaced with gyro_anti_aliasing_lpf_hz
gyro_stage2_lowpass_type Replaced with gyro_anti_aliasing_lpf_type
mc_airmode_threshold airmode_threshold
mc_airmode_type airmode_type
osd_artificial_horizon_max_pitch osd_ahi_max_pitch
osd_artificial_horizon_reverse_roll osd_ahi_reverse_roll

New drivers and protocols

  • Rangefinder "GY-US42(v2) Ultrasonic Range Sensor
  • Rangefinder vl53l1x
  • BNO055 Secondary IMU
  • BMI088 IMU

New features

Turtle mode aka Flip Over after crash (@kernel-machine)

INAV now has a "Turtle Mode".

  • Requires DSHOT ESC protocol
  • Assign a switch to TURTLE mode
  • Ensure you can arm at any angle

WP mission sealevel altitude datum (@breadoven)

Prior to inav 3.0, mission waypoint altitudes are relative the arming location. It is now possible to define waypoints with absolute (AMSL) altitude, making the mission independent of the arming location. See the inav wiki for details (WP paramater 3)

WP Mission Landing Elevation Setting (@breadoven)

The relative / absolute ground altitude of a LAND waypoint may be set as WP paramater 2 (m). See the inav wiki for details.

DShot Beeper (@harry1453)

Nothing to add. If DSHOT is enabled, DSHOT beeper will be used.

RC via MAVLink & MAVLink V2 Support (@harry1453)

MAVLink is still only a downlink from UAV to the ground station, but now allows to use RC-Over-MAVLink

Prearm Mode (@harry1453)

Prearm offers a two-stage arming process as an optional additional safety feature.

  • Activate prearm (normally a button or momentary switch)
  • Activate arm

Initial cut on H7 MCU support (@digitalentity, @bkleiner, @DzikuVx)

H7 is available in the source repository; target Hex files will be released as targets mature, probably in the future point releases.

Add D-term to control loop on fixed wing aircraft (@avsaase)

You can now use the D-gain to improve the stabilization, especially on small and agile airplanes. Until we have a better understanding of how to tune this on a range of airplanes, the D-gain is set to zero by default and not tuned using autotune. Please report good performing tunes in https://github.com/iNavFlight/inav/issues/6709.

Improved AUTOTUNE for fixed wing (@avsaase)

AUTOTUNE can now automatically set the correct rates for your airplane. The goal is to set rates that the airplane is capable of achieving with 80% control surface deflection so there is some room for the stabilization to work. This feature is controlled by CLI setting fw_autotune_rate_adjustment. When set to AUTO (the default), autotune automatically determines the rates and gains. When set to MAX, rates will be automatically adjusted, but never above the starting values. This can be used to calm down a very agile plane, while still avoiding setting too high rates. When set to FIXED, rates will not be adjusted. Note that setting too high rates can cause very bad flight behavior and potential crashes. Rate discovery is not possible in ANGLE mode so it is highly advised to do autotune in ACRO mode.

Continuously trim servos on fixed wing (@avsaase)

There is now the option to continuously trim the servos for straight and level flight. When enabled and flying straight and level, INAV records what servo output is required to maintain a constant attitude, and adjusts the servo midpoints accordingly. The servo midpoints are limited to the 1300-1700 range. After the first maiden flight, and after the first flight when significant changes have been made to the airplane, check the servo midpoints. If they are at or close to the end of this range mechanically adjust the control surfaces.

Improvements and updates

Gyro processing improvements (@DzikuVx)

As part of gyro processing updates, the following changes were made:

  1. gyro_sync is gone, INAV no longer does a wait cycle trying to get the next set of data from the gyro.
  2. Gyro data acquisition is no longer part of the main PID task
  3. Gyro data is acquired with a constant rate of 4kHz and filters with an anti-aliasing filter (gyro_anti_aliasing_lpf_hz). In normal circumstances, there is no need to change this setting
  4. All the other filters are running as part of the main PID task as before
  5. The gyro low-pass filter gyro_lpf_hz was renamed to gyro_main_lpf_hz

New experimental features for Multirotors

  • Smith Predictor on gyro signal helps to reduce the delay introduced by gyro filters. It's disabled by default. To enable, use set smith_predictor_delay = 3. More details about this feature will follow later
  • Alpha-Beta-Gamma filter is a relative of the Kalman filter and other prediction filters. Disabled by default. To enable, set gyro_abg_alpha = 0.25 or higher value. It requires a very clean gyro signal or might introduce oscillations on the high throttle. If the multirotor started to vibrate after enabling the Alpha-Beta-Gamma filter, you either have to improve the gyro filter strategy or disable the ABG filter. It works great on some builds and not so great or other. It's up to you to test.
  • Dynamic Gyro Main LPF - Dynamic gyro LPF with the cutoff frequency depending on throttle position. To enable set gyro_use_dyn_lpf=ON and set gyro_dyn_lpf_min_hz and gyro_dyn_lpf_max_hz. Dynamic LPF replaces gyro_main_lpf_hz

Update EGNOS PRN mask to latest EGSA definition, fix SBAS for non-Galileo usage (@stronnag)

The EGNOS (GPS ground assistance) definitions have been updated to the latest values for all GNSS options. An invalid association with the availability of Galileo has been corrected.

Make CW270FLIP default MAG alignment (@DzikuVx)

New FCs rarely feature onboard compass, and most GPS+MAG default to CW270FLIP, so this is now the INAV default. If you use another value, check your setup after upgrading.

Rename NAV CRUISE mode to NAV COURSE HOLD and add CRUISE mode which is equivalent to CRSH+AH (@shellixyz)

To more clearly state what they do and how they work. It's a subtle, but worth it to change for sure!

Bump OSD font min version to 2 (@shellixyz)

Users must upgrade OSD Fonts to Version 2 (or later).

Delayed safehome (@tonyyng)

Safehome does not now replace the arming location until it is needed. If you cancel RTH or recover from RX failsafe, the original arming location is restored as the home location. Under normal circumstances, "distance to home" will revert to range from the arming location.

Switched RTH Preset Altitude Override (@breadoven)

Provides stick options to override configured RTH climb and/or turn behaviour. See the nav_rth_alt_control_override setting description for details.

Renamed OSD SW and LEDLOW to OSD/LEDS OFF (@MrD-RC)

Modes names were changed to be more user friendly. When OSD OFF is enabled, OSD will be turned off. When LED OFF is enabled, LEDs will be turned off.

Fixed wing RTH Spiral Climb Option (@breadoven)

Yeap, now when nav_rth_climb_first is set to ON_FW_SPIRAL, Fixed Wing will keep litering and gaining altitude until it reaches desired altitude. Previously, it was climbing while flying straight in random direction

Do not slow down in WP mission when approaching a waypoint (@DzikuVx)

When nav_mc_wp_slowdown is set to OFF, Waypoint missions on Multirotors will be smoother as the NAV engine will not try to slow down before entering the waypoint and then accelerate towards the next waypoint. INAV will rather enter WP with normal speed, switch to the next waypoint and then adjust heading while flying.

Configure speed source for DJI OSD (@DzikuVx)

The default behavior of the DJI OSD speed element was to display a ground speed. osd_speed_source can be set to GROUND, AIR or 3D speed depending on the preference

Ability to trim pitch angle for level flight (@DzikuVx)

  1. The flight controller trimming for level flight on Fixed Wings is no longer a recommended way to do so
  2. Board ROLL and PITCH setting should be changed only when the flight controller is not installed parallel to the wings plane
  3. pitch trim should be done using fw_level_pitch_trim setting. +5 fw_level_pitch_trim means airplane nose should be raised 5 deg from level
  4. Flight mode AUTO LEVEL will automatically trim the pitch angle when ANGLE or HORIZON flight modes are used

vtx_smartaudio_early_akk_workaround option (@RomanLut)

If your old AKK VTX is not working, use vtx_smartaudio_early_akk_workaround to fix it!

Added option to output servos on PWM and SBUS (@IVData)

Option for local plus codes on osd (@avsaase)

This adds the option to remove the first 2, 4, or 6 digits from the OSD plus code. Doing so requires a reference location (for example your current location when using Google Maps on your phone) within ~800, ~40, and ~2km, respectively.

Changed default settings for fixed wing throttle smoothing in navigation modes (@Airwide)

Throttle smoothing in the navigation modes on fixed wing aircraft is now enabled by default. This results in smoother throttle management and more efficient cruising.

Improved flight performance on planes with rudder (@avsaase)

In ACRO mode, you can mitigate the problem of the rudder fighting bank-and-yank turns by disabling the I-term when the bank angle is above a given threshold. Set the desired bank angle threshold on the Mechanics tab under PID tuning. 10 degrees is a good starting point. In the navigation modes, rudder handling is improved. As a consequence of this improvement, TURN ASSIST can no longer be used in ACRO mode.

Secondary IMU

INAV 3.0 supports, as an experimental feature, external BNO055 connected as either I2C or Serial device. Data from BNO055 can be used to display Artificial Horizon in OSD, Heading in OSD or drive the self-leveling ANGLE and HORIZON modes. Secondary IMU will not be used for navigation yet!

Altitude limit

Via #4442 it is now possible to limit maximum altitude for both Fixed Wings and Multirotors. nav_max_altitude sets the max altitude in centimeters. Bear in mind, limit is active only with Altitude Hold mode and does not affect manual and acro flight modes

General Purpose PID controllers

INAV 3.0 comes with 4 general-purpose, user-programmable PID controllers that can be integrated with Logic Conditions and Global Variables. Why? Because why not! With the ability to override RC channels with Logic Conditions you can program your own heading, speed, altitude, whatever control.

All Changes since 2.6.1

Recommended hardware

Flight controllers

Airplane models

Radios

Long range radio systems

GPS & Sensors

FPV

Other

You can get more suggestions following this link too.

inav - INAV 3.0.0 RC2

Published by DzikuVx over 3 years ago

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

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

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

Tested and suggested hardware can be found here

Important Notes

F3 Removal

STM32 F3 flight controllers like Omnibus F3 or SP Racing F3 are no longer supported in INAV. If you are still using F3 boards, please migrate to F4 or F7.

The supporting code will be retained for a few more releases, but will not be maintained and is not guaranteed to build or work properly in the future.

Adjustments

There are now separate adjustments for D and CD/FF gains. This breaks compatibility with diffs from previous releases. Check the adjustments tab in the configurator after restoring a diff to makes sure they are set up correctly.

Font update required

The OSD fonts have been improved (@Jettrel) and there are several new symbols. A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

Upgrading from previous releases

We suggest NOT to do a full diff or dump upgrade. To get the best performance set up your aircraft from scratch. You can copy osd, aux, serial, and mixer settings, as well as accelerometer and magnetometer calibration values from INAV 2.6, but other settings should be tuned again.

Upgrading from 2.6, 2.6.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 3.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 3.0 features, and enjoy!

Upgrading from 2.5 or older version

Please follow the instructions on this page.

New targets:

  • Diatone MambaF405US_I2C
  • FLYWOOF411_V2
  • Mamba F722_I2C
  • FLYWOOF745
  • FLYWOOF745NANO

CLI:

New commands

Setting Description
imu2 Display the current status of the Secondary IMU
imu2 fetch Get calibration data from the Secondary IMU
pid Configure general purpose PID controllers. Refer to docs

Changed Settings

Setting Description
blackbox_device Default: target
log_level Default: ERROR
nav_overrides_motor_stop When set to OFF the navigation system will not take over the control of the motor if the throttle is low (motor will stop). When set to OFF_ALWAYS the navigation system will not take over the control of the motor if the throttle was low even when failsafe is triggered. 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 on NAV modes which take control of the throttle when 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
nav_rth_climb_first New: ON_FW_SPIRAL
platform_type Default: MULTIROTOR
receiver_type Default: target
rssi_source Default: AUTO

New Settings

Setting Description
dji_speed_source Sets the speed type displayed by the DJI OSD: GROUND, 3D, AIR Default: GROUND
dshot_beeper_enabled Whether using DShot motors as beepers is enabled Default: TRUE
dshot_beeper_tone Sets the DShot beeper tone Values: 1 - 5 Default: 1
fw_d_pitch Fixed wing rate stabilisation D-gain for PITCH Default: 0
fw_d_roll Fixed wing rate stabilisation D-gain for ROLL Default: 0
fw_d_yaw Fixed wing rate stabilisation D-gain for YAW Default: 0
fw_level_pitch_trim Pitch trim for self-leveling flight modes. In degrees. +5 means airplane nose should be raised 5 deg from level Values: -10 - 10 Default: 0
fw_yaw_iterm_freeze_bank_angle Yaw Iterm is frozen when bank angle is above this threshold [degrees]. This solves the problem of the rudder counteracting turns by partially disabling yaw stabilization when making banked turns. Setting to 0 (the default) disables this feature. Only applies when autopilot is not active and TURN ASSIST is disabled. Values: 0 - 90 Default: 0
gyro_abg_alpha Alpha factor for Gyro Alpha-Beta-Gamma filter Values: 0 - 1 Default: 0
gyro_abg_boost Boost factor for Gyro Alpha-Beta-Gamma filter Values: 0 - 2 Default: 0.35
gyro_abg_half_life Sample half-life for Gyro Alpha-Beta-Gamma filter Values: 0 - 10 Default: 0.5
gyro_anti_aliasing_lpf_hz Gyro processing anti-aliasing filter cutoff frequency. In normal operation this filter setting should never be changed. In Hz Values: 0 - 255 Default: 250
gyro_anti_aliasing_lpf_type Specifies the type of the software LPF of the gyro signals. Default: PT1
gyro_dyn_lpf_curve_expo Expo value for the throttle-to-frequency mapping for Dynamic LPF Values: 1 - 10 Default: 5
gyro_dyn_lpf_max_hz Maximum frequency of the gyro Dynamic LPF Values: 40 - 1000 Default: 500
gyro_dyn_lpf_min_hz Minimum frequency of the gyro Dynamic LPF Values: 40 - 400 Default: 200
gyro_main_lpf_hz Software based gyro main lowpass filter. Value is cutoff frequency (Hz) Values: 0 - 500 Default: 60
gyro_main_lpf_type Defines the type of the main gyro LPF filter. Possible values: PT1, BIQUAD. PT1 offers faster filter response while BIQUAD better attenuation. Default: BIQUAD
gyro_use_dyn_lpf Use Dynamic LPF instead of static gyro stage1 LPF. Dynamic Gyro LPF updates gyro LPF based on the throttle position. Default: FALSE
imu2_align_pitch Pitch alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_align_roll Roll alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_align_yaw Yaw alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_gain_acc_x Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_acc_y Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_acc_z Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_x Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_y Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_z Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_hardware Selection of a Secondary IMU hardware type. NONE disables this functionality Default: NONE, values NONE, BNO055, BNO055_SERIAL
imu2_radius_acc Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_radius_mag Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_use_for_osd_ahi If set to ON, Secondary IMU data will be used for Analog OSD Artificial Horizon Default: FALSE
imu2_use_for_osd_heading If set to ON, Secondary IMU data will be used for Analog OSD heading Default: FALSE
imu2_use_for_stabilized If set to ON, Secondary IMU data will be used for Angle, Horizon and all other modes that control attitude (PosHold, WP, RTH) Default: FALSE
mavlink_version Version of MAVLink to use Values: 1 - 2 Default: 2
nav_land_maxalt_vspd Vertical descent velocity above nav_land_slowdown_maxalt during the RTH landing phase. [cm/s] Values: 100 - 2000 Default: 200
nav_land_minalt_vspd Vertical descent velocity under nav_land_slowdown_minalt during the RTH landing phase. [cm/s] Values: 50 - 500 Default: 50
nav_max_altitude Max allowed altitude (above Home Point) that applies to all NAV modes (including Altitude Hold). 0 means limit is disabled Values: 0 - 65000 Default: 0
nav_mc_wp_slowdown When ON, NAV engine will slow down when switching to the next waypoint. This prioritizes turning over forward movement. When OFF, NAV engine will continue to the next waypoint and turn as it goes. Default: TRUE
nav_rth_alt_control_override If set to ON RTH altitude and CLIMB FIRST settings can be overridden during the RTH climb phase using full pitch or roll stick held for > 1 second. RTH altitude is reset to the current altitude using pitch down stick. RTH CLIMB FIRST is overridden using right roll stick so craft turns and heads directly to home (CLIMB FIRST override only works for fixed wing) Default: FALSE
osd_pan_servo_index Index of the pan servo to adjust osd home heading direction based on camera pan. Note that this feature does not work with continiously rotating servos. Values: 0 - 10 Default: 0
osd_pan_servo_pwm2centideg Centidegrees of pan servo rotation us PWM signal. A servo with 180 degrees of rotation from 1000 to 2000 us PWM typically needs 18 for this setting. Change sign to inverse direction. Values: -36 - 36 Default: 0
osd_plus_code_short Number of leading digits removed from plus code. Removing 2, 4 and 6 digits requires a reference location within, respectively, ~800km, ~40 km and ~2km to recover the original coordinates. Default: 0
osd_sidebar_height Height of sidebars in rows. 0 leaves only the level indicator arrows (Not for pixel OSD) Values: 0 - 5 Default: 3
osd_stats_min_voltage_unit Display minimum voltage of the BATTERY or the average per CELL in the OSD stats. Default: BATTERY. Options BATTERY, CELL
osd_telemetry To enable OSD telemetry for antenna tracker. Possible values are OFF, ON and TEST Default: OFF
prearm_timeout Duration (ms) for which Prearm being activated is valid. after this, Prearm needs to be reset. 0 means Prearm does not timeout. Values: 0 - 10000 Default: 10000
safehome_max_distance In order for a safehome to be used, it must be less than this distance (in cm) from the arming point. Values: 0 - 65000 Default: 20000
safehome_usage_mode Used to control when safehomes will be used. Possible values are OFF, RTH and RTH_FS. See Safehome documentation for more information. Default: RTH
servo_autotrim_rotation_limit Servo midpoints are only updated when total aircraft rotation is less than this threshold [deg/s]. Only applies when using feature FW_AUTOTRIM. Values: 1 - 60 Default: 15
smith_predictor_delay Expected delay of the gyro signal. In milliseconds Values: 0 - 8 Default: 0
smith_predictor_lpf_hz Cutoff frequency for the Smith Predictor Low Pass Filter Values: 1 - 500 Default: 50
smith_predictor_strength The strength factor of a Smith Predictor of PID measurement. In percents Values: 0 - 1 Default: 0.5
turtle_mode_power_factor Turtle mode power factor Values: 0 - 100 Default: 55
vtx_smartaudio_early_akk_workaround Enable workaround for early AKK SAudio-enabled VTX bug. Default: TRUE
osd_rssi_dbm_alarm RSSI in dBm alarm for Crossfire. Default: 0
nav_wp_load_on_boot If set to ON, waypoints will be automatically loaded from EEPROM to the FC during startup. Default: OFF

Removed settings

Setting Description
gyro_sync
nav_landing_speed replaced by nav_land_minalt_vspd and nav_land_maxalt_vspd

Renamed settings

Old name New name
gyro_lpf_hz Replaced with gyro_main_lpf_hz
gyro_lpf_type Replaced with gyro_main_lpf_type
gyro_stage2_lowpass_hz Replaced with gyro_anti_aliasing_lpf_hz
gyro_stage2_lowpass_type Replaced with gyro_anti_aliasing_lpf_type
mc_airmode_threshold airmode_threshold
mc_airmode_type airmode_type
osd_artificial_horizon_max_pitch osd_ahi_max_pitch
osd_artificial_horizon_reverse_roll osd_ahi_reverse_roll

New drivers and protocols

  • Rangefinder "GY-US42(v2) Ultrasonic Range Sensor
  • Rangefinder vl53l1x
  • BNO055 Secondary IMU
  • BMI088 IMU

New features

Turtle mode aka Flip Over after crash (@kernel-machine)

INAV now has a "Turtle Mode".

  • Requires DSHOT ESC protocol
  • Assign a switch to TURTLE mode
  • Ensure you can arm at any angle

WP mission sealevel altitude datum (@breadoven)

Prior to inav 3.0, mission waypoint altitudes are relative the arming location. It is now possible to define waypoints with absolute (AMSL) altitude, making the mission independent of the arming location. See the inav wiki for details (WP paramater 3)

WP Mission Landing Elevation Setting (@breadoven)

The relative / absolute ground altitude of a LAND waypoint may be set as WP paramater 2 (m). See the inav wiki for details.

DShot Beeper (@harry1453)

Nothing to add. If DSHOT is enabled, DSHOT beeper will be used.

RC via MAVLink & MAVLink V2 Support (@harry1453)

MAVLink is still only a downlink from UAV to the ground station, but now allows to use RC-Over-MAVLink

Prearm Mode (@harry1453)

Prearm offers a two-stage arming process as an optional additional safety feature.

  • Activate prearm (normally a button or momentary switch)
  • Activate arm

Initial cut on H7 MCU support (@digitalentity, @bkleiner, @DzikuVx)

H7 is available in the source repository; target Hex files will be released as targets mature, probably in the future point releases.

Add D-term to control loop on fixed wing aircraft (@avsaase)

You can now use the D-gain to improve the stabilization, especially on small and agile airplanes. Until we have a better understanding of how to tune this on a range of airplanes, the D-gain is set to zero by default and not tuned using autotune. Please report good performing tunes in https://github.com/iNavFlight/inav/issues/6709.

Improved AUTOTUNE for fixed wing (@avsaase)

AUTOTUNE can now automatically set the correct rates for your airplane. The goal is to set rates that the airplane is capable of achieving with 80% control surface deflection so there is some room for the stabilization to work. This feature is controlled by CLI setting fw_autotune_rate_adjustment. When set to AUTO (the default), autotune automatically determines the rates and gains. When set to MAX, rates will be automatically adjusted, but never above the starting values. This can be used to calm down a very agile plane, while still avoiding setting too high rates. When set to FIXED, rates will not be adjusted. Note that setting too high rates can cause very bad flight behavior and potential crashes. Rate discovery is not possible in ANGLE mode so it is highly advised to do autotune in ACRO mode.

Continuously trim servos on fixed wing (@avsaase)

There is now the option to continuously trim the servos for straight and level flight. When enabled and flying straight and level, INAV records what servo output is required to maintain a constant attitude, and adjusts the servo midpoints accordingly. The servo midpoints are limited to the 1300-1700 range. After the first maiden flight, and after the first flight when significant changes have been made to the airplane, check the servo midpoints. If they are at or close to the end of this range mechanically adjust the control surfaces.

Improvements and updates

Gyro processing improvements (@DzikuVx)

As part of gyro processing updates, the following changes were made:

  1. gyro_sync is gone, INAV no longer does a wait cycle trying to get the next set of data from the gyro.
  2. Gyro data acquisition is no longer part of the main PID task
  3. Gyro data is acquired with a constant rate of 4kHz and filters with an anti-aliasing filter (gyro_anti_aliasing_lpf_hz). In normal circumstances, there is no need to change this setting
  4. All the other filters are running as part of the main PID task as before
  5. The gyro low-pass filter gyro_lpf_hz was renamed to gyro_main_lpf_hz

New experimental features for Multirotors

  • Smith Predictor on gyro signal helps to reduce the delay introduced by gyro filters. It's disabled by default. To enable, use set smith_predictor_delay = 3. More details about this feature will follow later
  • Alpha-Beta-Gamma filter is a relative of the Kalman filter and other prediction filters. Disabled by default. To enable, set gyro_abg_alpha = 0.25 or higher value. It requires a very clean gyro signal or might introduce oscillations on the high throttle. If the multirotor started to vibrate after enabling the Alpha-Beta-Gamma filter, you either have to improve the gyro filter strategy or disable the ABG filter. It works great on some builds and not so great or other. It's up to you to test.
  • Dynamic Gyro Main LPF - Dynamic gyro LPF with the cutoff frequency depending on throttle position. To enable set gyro_use_dyn_lpf=ON and set gyro_dyn_lpf_min_hz and gyro_dyn_lpf_max_hz. Dynamic LPF replaces gyro_main_lpf_hz

Update EGNOS PRN mask to latest EGSA definition, fix SBAS for non-Galileo usage (@stronnag)

The EGNOS (GPS ground assistance) definitions have been updated to the latest values for all GNSS options. An invalid association with the availability of Galileo has been corrected.

Make CW270FLIP default MAG alignment (@DzikuVx)

New FCs rarely feature onboard compass, and most GPS+MAG default to CW270FLIP, so this is now the INAV default. If you use another value, check your setup after upgrading.

Rename NAV CRUISE mode to NAV COURSE HOLD and add CRUISE mode which is equivalent to CRSH+AH (@shellixyz)

To more clearly state what they do and how they work. It's a subtle, but worth it to change for sure!

Bump OSD font min version to 2 (@shellixyz)

Users must upgrade OSD Fonts to Version 2 (or later).

Delayed safehome (@tonyyng)

Safehome does not now replace the arming location until it is needed. If you cancel RTH or recover from RX failsafe, the original arming location is restored as the home location. Under normal circumstances, "distance to home" will revert to range from the arming location.

Switched RTH Preset Altitude Override (@breadoven)

Provides stick options to override configured RTH climb and/or turn behaviour. See the nav_rth_alt_control_override setting description for details.

Renamed OSD SW and LEDLOW to OSD/LEDS OFF (@MrD-RC)

Modes names were changed to be more user friendly. When OSD OFF is enabled, OSD will be turned off. When LED OFF is enabled, LEDs will be turned off.

Fixed wing RTH Spiral Climb Option (@breadoven)

Yeap, now when nav_rth_climb_first is set to ON_FW_SPIRAL, Fixed Wing will keep litering and gaining altitude until it reaches desired altitude. Previously, it was climbing while flying straight in random direction

Do not slow down in WP mission when approaching a waypoint (@DzikuVx)

When nav_mc_wp_slowdown is set to OFF, Waypoint missions on Multirotors will be smoother as the NAV engine will not try to slow down before entering the waypoint and then accelerate towards the next waypoint. INAV will rather enter WP with normal speed, switch to the next waypoint and then adjust heading while flying.

Configure speed source for DJI OSD (@DzikuVx)

The default behavior of the DJI OSD speed element was to display a ground speed. osd_speed_source can be set to GROUND, AIR or 3D speed depending on the preference

Ability to trim pitch angle for level flight (@DzikuVx)

  1. The flight controller trimming for level flight on Fixed Wings is no longer a recommended way to do so
  2. Board ROLL and PITCH setting should be changed only when the flight controller is not installed parallel to the wings plane
  3. pitch trim should be done using fw_level_pitch_trim setting. +5 fw_level_pitch_trim means airplane nose should be raised 5 deg from level
  4. Flight mode AUTO LEVEL will automatically trim the pitch angle when ANGLE or HORIZON flight modes are used

vtx_smartaudio_early_akk_workaround option (@RomanLut)

If your old AKK VTX is not working, use vtx_smartaudio_early_akk_workaround to fix it!

Added option to output servos on PWM and SBUS (@IVData)

Option for local plus codes on osd (@avsaase)

This adds the option to remove the first 2, 4, or 6 digits from the OSD plus code. Doing so requires a reference location (for example your current location when using Google Maps on your phone) within ~800, ~40, and ~2km, respectively.

Changed default settings for fixed wing throttle smoothing in navigation modes (@Airwide)

Throttle smoothing in the navigation modes on fixed wing aircraft is now enabled by default. This results in smoother throttle management and more efficient cruising.

Improved flight performance on planes with rudder (@avsaase)

In ACRO mode, you can mitigate the problem of the rudder fighting bank-and-yank turns by disabling the I-term when the bank angle is above a given threshold. Set the desired bank angle threshold on the Mechanics tab under PID tuning. 10 degrees is a good starting point. In the navigation modes, rudder handling is improved. As a consequence of this improvement, TURN ASSIST can no longer be used in ACRO mode.

Secondary IMU

INAV 3.0 supports, as an experimental feature, external BNO055 connected as either I2C or Serial device. Data from BNO055 can be used to display Artificial Horizon in OSD, Heading in OSD or drive the self-leveling ANGLE and HORIZON modes. Secondary IMU will not be used for navigation yet!

Altitude limit

Via #4442 it is now possible to limit maximum altitude for both Fixed Wings and Multirotors. nav_max_altitude sets the max altitude in centimeters. Bear in mind, limit is active only with Altitude Hold mode and does not affect manual and acro flight modes

General Purpose PID controllers

INAV 3.0 comes with 4 general-purpose, user-programmable PID controllers that can be integrated with Logic Conditions and Global Variables. Why? Because why not! With the ability to override RC channels with Logic Conditions you can program your own heading, speed, altitude, whatever control.

All Changes since 2.6.1

Recommended hardware

Flight controllers

Airplane models

Radios

Long range radio systems

GPS & Sensors

FPV

Other

You can get more suggestions following this link too.

inav - INAV 3.0.0

Published by DzikuVx over 3 years ago

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

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

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

Tested and suggested hardware can be found here

Important Notes

F3 Removal

STM32 F3 flight controllers like Omnibus F3 or SP Racing F3 are no longer supported in INAV. If you are still using F3 boards, please migrate to F4 or F7.

The supporting code will be retained for a few more releases, but will not be maintained and is not guaranteed to build or work properly in the future.

Adjustments

There are now separate adjustments for D and CD/FF gains. This breaks compatibility with diffs from previous releases. Check the adjustments tab in the configurator after restoring a diff to makes sure they are set up correctly.

Font update required

The OSD fonts have been improved (@Jettrel) and there are several new symbols. A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

Upgrading from previous releases

We suggest NOT to do a full diff or dump upgrade. To get the best performance set up your aircraft from scratch. You can copy osd, aux, serial, and mixer settings, as well as accelerometer and magnetometer calibration values from INAV 2.6, but other settings should be tuned again.

Upgrading from 2.6, 2.6.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 3.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed and removed settings. Check carefully that the settings are correct and fix any unrecognised or out-of-range items from the saved configuration.
  7. You should be ready, explore new 3.0 features and enjoy!

Upgrading from 2.5 or older version

Please follow the instructions on this page.

New targets:

  • Diatone MambaF405US_I2C
  • FLYWOOF411_V2
  • Mamba F722_I2C

CLI:

New commands

Setting Description
imu2 Display current status of the Secondary IMU
imu2 fetch Get calibration data from the Secondary IMU
pid Configure general purpose PID controllers. Refer to docs

Changed Settings

Setting Description
blackbox_device Default: target
log_level Default: ERROR
nav_overrides_motor_stop When set to OFF the navigation system will not take over the control of the motor if the throttle is low (motor will stop). When set to OFF_ALWAYS the navigation system will not take over the control of the motor if the throttle was low even when failsafe is triggered. 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 on NAV modes which take control of the throttle when 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
nav_rth_climb_first New: ON_FW_SPIRAL
platform_type Default: MULTIROTOR
receiver_type Default: target
rssi_source Default: AUTO

New Settings

Setting Description
dji_speed_source Sets the speed type displayed by the DJI OSD: GROUND, 3D, AIR Default: GROUND
dshot_beeper_enabled Whether using DShot motors as beepers is enabled Default: TRUE
dshot_beeper_tone Sets the DShot beeper tone Values: 1 - 5 Default: 1
fw_d_pitch Fixed wing rate stabilisation D-gain for PITCH Default: 0
fw_d_roll Fixed wing rate stabilisation D-gain for ROLL Default: 0
fw_d_yaw Fixed wing rate stabilisation D-gain for YAW Default: 0
fw_level_pitch_trim Pitch trim for self-leveling flight modes. In degrees. +5 means airplane nose should be raised 5 deg from level Values: -10 - 10 Default: 0
fw_yaw_iterm_freeze_bank_angle Yaw Iterm is frozen when bank angle is above this threshold [degrees]. This solves the problem of the rudder counteracting turns by partially disabling yaw stabilization when making banked turns. Setting to 0 (the default) disables this feature. Only applies when autopilot is not active and TURN ASSIST is disabled. Values: 0 - 90 Default: 0
gyro_abg_alpha Alpha factor for Gyro Alpha-Beta-Gamma filter Values: 0 - 1 Default: 0
gyro_abg_boost Boost factor for Gyro Alpha-Beta-Gamma filter Values: 0 - 2 Default: 0.35
gyro_abg_half_life Sample half-life for Gyro Alpha-Beta-Gamma filter Values: 0 - 10 Default: 0.5
gyro_anti_aliasing_lpf_hz Gyro processing anti-aliasing filter cutoff frequency. In normal operation this filter setting should never be changed. In Hz Values: 0 - 255 Default: 250
gyro_anti_aliasing_lpf_type Specifies the type of the software LPF of the gyro signals. Default: PT1
gyro_dyn_lpf_curve_expo Expo value for the throttle-to-frequency mapping for Dynamic LPF Values: 1 - 10 Default: 5
gyro_dyn_lpf_max_hz Maximum frequency of the gyro Dynamic LPF Values: 40 - 1000 Default: 500
gyro_dyn_lpf_min_hz Minimum frequency of the gyro Dynamic LPF Values: 40 - 400 Default: 200
gyro_main_lpf_hz Software based gyro main lowpass filter. Value is cutoff frequency (Hz) Values: 0 - 500 Default: 60
gyro_main_lpf_type Defines the type of the main gyro LPF filter. Possible values: PT1, BIQUAD. PT1 offers faster filter response while BIQUAD better attenuation. Default: BIQUAD
gyro_use_dyn_lpf Use Dynamic LPF instead of static gyro stage1 LPF. Dynamic Gyro LPF updates gyro LPF based on the throttle position. Default: FALSE
imu2_align_pitch Pitch alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_align_roll Roll alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_align_yaw Yaw alignment for Secondary IMU. 1/10 of a degree Values: -1800 - 3600 Default: 0
imu2_gain_acc_x Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_acc_y Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_acc_z Secondary IMU ACC calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_x Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_y Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_gain_mag_z Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_hardware Selection of a Secondary IMU hardware type. NONE disables this functionality Default: NONE, values NONE, BNO055, BNO055_SERIAL
imu2_radius_acc Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_radius_mag Secondary IMU MAG calibration data Values: -32768 - 32767 Default: 0
imu2_use_for_osd_ahi If set to ON, Secondary IMU data will be used for Analog OSD Artificial Horizon Default: FALSE
imu2_use_for_osd_heading If set to ON, Secondary IMU data will be used for Analog OSD heading Default: FALSE
imu2_use_for_stabilized If set to ON, Secondary IMU data will be used for Angle, Horizon and all other modes that control attitude (PosHold, WP, RTH) Default: FALSE
mavlink_version Version of MAVLink to use Values: 1 - 2 Default: 2
nav_land_maxalt_vspd Vertical descent velocity above nav_land_slowdown_maxalt during the RTH landing phase. [cm/s] Values: 100 - 2000 Default: 200
nav_land_minalt_vspd Vertical descent velocity under nav_land_slowdown_minalt during the RTH landing phase. [cm/s] Values: 50 - 500 Default: 50
nav_max_altitude Max allowed altitude (above Home Point) that applies to all NAV modes (including Altitude Hold). 0 means limit is disabled Values: 0 - 65000 Default: 0
nav_mc_wp_slowdown When ON, NAV engine will slow down when switching to the next waypoint. This prioritizes turning over forward movement. When OFF, NAV engine will continue to the next waypoint and turn as it goes. Default: TRUE
nav_rth_alt_control_override If set to ON RTH altitude and CLIMB FIRST settings can be overridden during the RTH climb phase using full pitch or roll stick held for > 1 second. RTH altitude is reset to the current altitude using pitch down stick. RTH CLIMB FIRST is overridden using right roll stick so craft turns and heads directly to home (CLIMB FIRST override only works for fixed wing) Default: FALSE
osd_pan_servo_index Index of the pan servo to adjust osd home heading direction based on camera pan. Note that this feature does not work with continiously rotating servos. Values: 0 - 10 Default: 0
osd_pan_servo_pwm2centideg Centidegrees of pan servo rotation us PWM signal. A servo with 180 degrees of rotation from 1000 to 2000 us PWM typically needs 18 for this setting. Change sign to inverse direction. Values: -36 - 36 Default: 0
osd_plus_code_short Number of leading digits removed from plus code. Removing 2, 4 and 6 digits requires a reference location within, respectively, ~800km, ~40 km and ~2km to recover the original coordinates. Default: 0
osd_sidebar_height Height of sidebars in rows. 0 leaves only the level indicator arrows (Not for pixel OSD) Values: 0 - 5 Default: 3
osd_stats_min_voltage_unit Display minimum voltage of the BATTERY or the average per CELL in the OSD stats. Default: BATTERY. Options BATTERY, CELL
osd_telemetry To enable OSD telemetry for antenna tracker. Possible values are OFF, ON and TEST Default: OFF
prearm_timeout Duration (ms) for which Prearm being activated is valid. after this, Prearm needs to be reset. 0 means Prearm does not timeout. Values: 0 - 10000 Default: 10000
safehome_max_distance In order for a safehome to be used, it must be less than this distance (in cm) from the arming point. Values: 0 - 65000 Default: 20000
safehome_usage_mode Used to control when safehomes will be used. Possible values are OFF, RTH and RTH_FS. See Safehome documentation for more information. Default: RTH
servo_autotrim_rotation_limit Servo midpoints are only updated when total aircraft rotation is less than this threshold [deg/s]. Only applies when using feature FW_AUTOTRIM. Values: 1 - 60 Default: 15
smith_predictor_delay Expected delay of the gyro signal. In milliseconds Values: 0 - 8 Default: 0
smith_predictor_lpf_hz Cutoff frequency for the Smith Predictor Low Pass Filter Values: 1 - 500 Default: 50
smith_predictor_strength The strength factor of a Smith Predictor of PID measurement. In percents Values: 0 - 1 Default: 0.5
turtle_mode_power_factor Turtle mode power factor Values: 0 - 100 Default: 55
vtx_smartaudio_early_akk_workaround Enable workaround for early AKK SAudio-enabled VTX bug. Default: TRUE
osd_rssi_dbm_alarm RSSI in dBm alarm for Crossfire. Default: 0
nav_wp_load_on_boot If set to ON, waypoints will be automatically loaded from EEPROM to the FC during startup. Default: OFF

Removed settings

Setting Description
gyro_sync
nav_landing_speed replaced by nav_land_minalt_vspd and nav_land_maxalt_vspd

Renamed settings

Old name New name
gyro_lpf_hz Replaced with gyro_main_lpf_hz
gyro_lpf_type Replaced with gyro_main_lpf_type
gyro_stage2_lowpass_hz Replaced with gyro_anti_aliasing_lpf_hz
gyro_stage2_lowpass_type Replaced with gyro_anti_aliasing_lpf_type
mc_airmode_threshold airmode_threshold
mc_airmode_type airmode_type
osd_artificial_horizon_max_pitch osd_ahi_max_pitch
osd_artificial_horizon_reverse_roll osd_ahi_reverse_roll

New drivers and protocols

  • Rangefinder "GY-US42(v2) Ultrasonic Range Sensor
  • Rangefinder vl53l1x
  • BNO055 Secondary IMU
  • BMI088 IMU

New features

Turtle mode aka Flip Over after crash (@kernel-machine)

INAV now has a "Turtle Mode".

  • Requires DSHOT ESC protocol
  • Assign a switch to TURTLE mode
  • Ensure you can arm at any angle

WP mission sealevel altitude datum (@breadoven)

Prior to inav 3.0, mission waypoint altitudes are relative the arming location. It is now possible to define waypoints with absolute (AMSL) altitude, making the mission independent of the arming location. See the inav wiki for details (WP paramater 3)

WP Mission Landing Elevation Setting (@breadoven)

The relative / absolute ground altitude of a LAND waypoint may be set as WP paramater 2 (m). See the inav wiki for details.

DShot Beeper (@harry1453)

Nothing to add. If DSHOT is enabled, DSHOT beeper will be used.

RC via MAVLink & MAVLink V2 Support (@harry1453)

MAVLink is still only a downlink from UAV to the ground station, but now allows to use RC-Over-MAVLink

Prearm Mode (@harry1453)

Prearm offers a two-stage arming process as an optional additional safety feature.

  • Activate prearm (normally a button or momentary switch)
  • Activate arm

Initial cut on H7 MCU support (@digitalentity, @bkleiner, @DzikuVx)

H7 is available in the source repository; target Hex files will be released as targets mature, probably in the future point releases.

Add D-term to control loop on fixed wing aircraft (@avsaase)

You can now use the D-gain to improve the stabilization, especially on small and agile airplanes. Until we have a better understanding of how to tune this on a range of airplanes, the D-gain is set to zero by default and not tuned using autotune. Please report good performing tunes in https://github.com/iNavFlight/inav/issues/6709.

Improved AUTOTUNE for fixed wing (@avsaase)

AUTOTUNE can now automatically set the correct rates for your airplane. The goal is to set rates that the airplane is capable of achieving with 80% control surface deflection so there is some room for the stabilization to work. This feature is controlled by CLI setting fw_autotune_rate_adjustment. When set to AUTO (the default), autotune automatically determines the rates and gains. When set to MAX, rates will be automatically adjusted, but never above the starting values. This can be used to calm down a very agile plane, while still avoiding setting too high rates. When set to FIXED, rates will not be adjusted. Note that setting too high rates can cause very bad flight behavior and potential crashes. Rate discovery is not possible in ANGLE mode so it is highly advised to do autotune in ACRO mode.

Continuously trim servos on fixed wing (@avsaase)

There is now the option to continuously trim the servos for straight and level flight. When enabled and flying straight and level, INAV records what servo output is required to maintain a constant attitude, and adjusts the servo midpoints accordingly. The servo midpoints are limited to the 1300-1700 range. After the first maiden flight, and after the first flight when significant changes have been made to the airplane, check the servo midpoints. If they are at or close to the end of this range mechanically adjust the control surfaces.

Improvements and updates

Gyro processing improvements (@DzikuVx)

As part of gyro processing updates, the following changes were made:

  1. gyro_sync is gone, INAV no longer does a wait cycle trying to get the next set of data from the gyro.
  2. Gyro data acquisition is no longer part of the main PID task
  3. Gyro data is acquired with a constant rate of 4kHz and filters with an anti-aliasing filter (gyro_anti_aliasing_lpf_hz). In normal circumstances, there is no need to change this setting
  4. All the other filters are running as part of the main PID task as before
  5. The gyro low-pass filter gyro_lpf_hz was renamed to gyro_main_lpf_hz

New experimental features for Multirotors

  • Smith Predictor on gyro signal helps to reduce the delay introduced by gyro filters. It's disabled by default. To enable, use set smith_predictor_delay = 3. More details about this feature will follow later
  • Alpha-Beta-Gamma filter is a relative of the Kalman filter and other prediction filters. Disabled by default. To enable, set gyro_abg_alpha = 0.25 or higher value. It requires a very clean gyro signal or might introduce oscillations on the high throttle. If the multirotor started to vibrate after enabling the Alpha-Beta-Gamma filter, you either have to improve the gyro filter strategy or disable the ABG filter. It works great on some builds and not so great or other. It's up to you to test.
  • Dynamic Gyro Main LPF - Dynamic gyro LPF with the cutoff frequency depending on throttle position. To enable set gyro_use_dyn_lpf=ON and set gyro_dyn_lpf_min_hz and gyro_dyn_lpf_max_hz. Dynamic LPF replaces gyro_main_lpf_hz

Update EGNOS PRN mask to latest EGSA definition, fix SBAS for non-Galileo usage (@stronnag)

The EGNOS (GPS ground assistance) definitions have been updated to the latest values for all GNSS options. An invalid association with the availability of Galileo has been corrected.

Make CW270FLIP default MAG alignment (@DzikuVx)

New FCs rarely feature onboard compass, and most GPS+MAG default to CW270FLIP, so this is now the INAV default. If you use another value, check your setup after upgrading.

Rename NAV CRUISE mode to NAV COURSE HOLD and add CRUISE mode which is equivalent to CRSH+AH (@shellixyz)

To more clearly state what they do and how they work. It's a subtle, but worth it to change for sure!

Bump OSD font min version to 2 (@shellixyz)

Users must upgrade OSD Fonts to Version 2 (or later).

Delayed safehome (@tonyyng)

Safehome does not now replace the arming location until it is needed. If you cancel RTH or recover from RX failsafe, the original arming location is restored as the home location. Under normal circumstances, "distance to home" will revert to range from the arming location.

Switched RTH Preset Altitude Override (@breadoven)

Provides stick options to override configured RTH climb and/or turn behaviour. See the nav_rth_alt_control_override setting description for details.

Renamed OSD SW and LEDLOW to OSD/LEDS OFF (@MrD-RC)

Modes names were changed to be more user friendly. When OSD OFF is enabled, OSD will be turned off. When LED OFF is enabled, LEDs will be turned off.

Fixed wing RTH Spiral Climb Option (@breadoven)

Yeap, now when nav_rth_climb_first is set to ON_FW_SPIRAL, Fixed Wing will keep litering and gaining altitude until it reaches desired altitude. Previously, it was climbing while flying straight in random direction

Do not slow down in WP mission when approaching a waypoint (@DzikuVx)

When nav_mc_wp_slowdown is set to OFF, Waypoint missions on Multirotors will be smoother as the NAV engine will not try to slow down before entering the waypoint and then accelerate towards the next waypoint. INAV will rather enter WP with normal speed, switch to the next waypoint and then adjust heading while flying.

Configure speed source for DJI OSD (@DzikuVx)

The default behavior of the DJI OSD speed element was to display a ground speed. osd_speed_source can be set to GROUND, AIR or 3D speed depending on the preference

Ability to trim pitch angle for level flight (@DzikuVx)

  1. The flight controller trimming for level flight on Fixed Wings is no longer a recommended way to do so
  2. Board ROLL and PITCH setting should be changed only when the flight controller is not installed parallel to the wings plane
  3. pitch trim should be done using fw_level_pitch_trim setting. +5 fw_level_pitch_trim means airplane nose should be raised 5 deg from level
  4. Flight mode AUTO LEVEL will automatically trim the pitch angle when ANGLE or HORIZON flight modes are used

vtx_smartaudio_early_akk_workaround option (@RomanLut)

If your old AKK VTX is not working, use vtx_smartaudio_early_akk_workaround to fix it!

Added option to output servos on PWM and SBUS (@IVData)

Option for local plus codes on osd (@avsaase)

This adds the option to remove the first 2, 4, or 6 digits from the OSD plus code. Doing so requires a reference location (for example your current location when using Google Maps on your phone) within ~800, ~40, and ~2km, respectively.

Changed default settings for fixed wing throttle smoothing in navigation modes (@Airwide)

Throttle smoothing in the navigation modes on fixed wing aircraft is now enabled by default. This results in smoother throttle management and more efficient cruising.

Improved flight performance on planes with rudder (@avsaase)

In ACRO mode, you can mitigate the problem of the rudder fighting bank-and-yank turns by disabling the I-term when the bank angle is above a given threshold. Set the desired bank angle threshold on the Mechanics tab under PID tuning. 10 degrees is a good starting point. In the navigation modes, rudder handling is improved. As a consequence of this improvement, TURN ASSIST can no longer be used in ACRO mode.

Secondary IMU

INAV 3.0 supports, as an experimental feature, external BNO055 connected as either I2C or Serial device. Data from BNO055 can be used to display Artificial Horizon in OSD, Heading in OSD or drive the self-leveling ANGLE and HORIZON modes. Secondary IMU will not be used for navigation yet!

Altitude limit

Via #4442 it is now possible to limit maximum altitude for both Fixed Wings and Multirotors. nav_max_altitude sets the max altitude in centimeters. Bear in mind, limit is active only with Altitude Hold mode and does not affect manual and acro flight modes

General Purpose PID controllers

INAV 3.0 comes with 4 general-purpose, user-programmable PID controllers that can be integrated with Logic Conditions and Global Variables. Why? Because why not! With the ability to override RC channels with Logic Conditions you can program your own heading, speed, altitude, whatever control.

All Changes since 2.6.1

Recommended hardware

Flight controllers

Airplane models

Radios

Long range radio systems

GPS & Sensors

FPV

Other

You can get more suggestions following this link too.

inav - INAV 2.6.1

Published by DzikuVx over 3 years ago

Hello and welcome to INAV 2.6.1 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:

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

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, even from 2.6.0

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

Upgrading from 2.5 or 2.6.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.6 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 selectively paste the contents on the file you previously create and write save , press ENTER and done!
  • Do not copy Multirotor PIDs and filters; re-tuning from defaults is recommended.
  • Do not copy mag calibration; it is necessary to re-calibrate
  • Review all "Changed Settings" listed below
  • Delete any "Removed Settings" listed below
  • If in doubt, use the defaults and replace old settings in the configurator.
  1. You should be ready, explore new 2.6 features and enjoy!

CLI:

Changed Settings

Setting Description
serial_rx New option added GHST
baro_median_filter Default set back to ON

New Settings

Setting Description
osd_home_position_arm_screen Show GPS position on Arming Screen. Default ON

Changes

Recommended hardware

Flight controllers

Airplane models

Radios

Long range radio systems

GPS & Sensors

FPV

Other

You can get more suggestions following this link too.

inav - INAV 2.6.0

Published by digitalentity almost 4 years ago

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:

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

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.

Programming

In INAV 2.6, Logic Conditions and Global Functions have merged. Due to this the Global Functions from INAV 2.5 and below will not be added through the diff upgrade path.

If you previously used Global Functions, we would recommend taking a screen grab of your Global Functions in 2.5 before updating. Then in 2.6, add the Global Functions after the Logic Conditions on this programming page.

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.6 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 selectively paste the contents on the file you previously create and write save , press ENTER and done!
  • Do not copy Multirotor PIDs and filters; re-tuning from defaults is recommended.
  • Do not copy mag calibration; it is necessary to re-calibrate
  • Review all "Changed Settings" listed below
  • Delete any "Removed Settings" listed below
  • If in doubt, use the defaults and replace old settings in the configurator.
  1. 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_ALWAYS, OFF, AUTO_ONLY, ALL_NAV. When set OFF_ALWAYS the navigation system will not take over the control of the motor if the throttle is low (motor will stop). When set to OFF always the navigation system will not take over the control of the motor if the throttle was low even when failsafe is triggered. 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

Recommended hardware

Flight controllers

Airplane models

Radios

Long range radio systems

GPS & Sensors

FPV

Other

You can get more suggestions following this link too.

inav - INAV 2.6.0 RC3

Published by digitalentity almost 4 years ago

Hello and welcome to INAV 2.6.0 Release Candidate 3!

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:

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

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.

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

inav - INAV 2.6.0 RC2

Published by digitalentity almost 4 years ago

Hello and welcome to INAV 2.6.0 Release Candidate 2!

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:

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

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.6 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.

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

inav - INAV 2.5.2 (patch release)

Published by digitalentity about 4 years ago

Hello and welcome to INAV 2.5.2 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:

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

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

Tested and suggested hardware can be found here

Release Notes

This is a patch release with support for several new targets and a few bugfixes.

New boards

  • Flywoo F411
  • Flywoo Goku F7 Dual & Mini
  • Foxeer F722 V2
  • HGLRC Zeus F722
  • SpeedyBee F7

Bug fixes

  • Fix editing negative servo weights via CMS
  • Fix an overflow in OSD code
inav - INAV 2.5.1 (bugfix release)

Published by digitalentity over 4 years ago

Hello and welcome to INAV 2.5.1 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:

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

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

Tested and suggested hardware can be found here

Release Notes

This is a bug-fix release. Notable changes:

Allow override of max power capability for buggy VTXes

Since 2.5.1 TRAMP protocol detects max power that VTX is reporting and caps the max setting to that power. Some VTXes don't report that properly. A new CLI setting vtx_max_power_override allows to set the max power manually in such cases. Use caution!

ESC telemetry fix

Due to a regression bug in 2.5.0 DSHOT ESC telemetry was not working. This is now fixed.

Always process VTX driver updates, regardless of arming state

Legacy condition that limited VTX updates to unarmed state only is now removed. VTX settings changes in flight are now working reliably.

inav - INAV 2.5.0

Published by digitalentity over 4 years ago

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

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

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

Tested and suggested hardware can be found here

Important Notes

CLI aux mode migration

inav 2.5 moves the CLI aux mode value from a boxid that was not guaranteed to be stable between releases to a permmanentId that is guaranteed to be stable between releases. This is a "breaking" change for inav 2.5 that brings stability in the future.

In order to use a diff or dump from 2.4 or earlier in inav 2.5, the user must do one of the following:

  • Remove aux settings from the diff / dump and recreate them in inav 2.5; or
  • Use the box2perm tool to migrate the diff / dump automatically; or
  • Manually edit the aux settings; a conversion table is provided as part of the box2perm documentation.
  • Use https://box2perm.vercel.app web application

Removal of PWM RX

All traces of PWM RX have finally been removed. Please check that your receiver type is correctly assigned before raising bogus issues that your RX no longer works.

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.

Upgrading from 2.4

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Modify the diff to update or remove the aux statements
  4. Upgrade to INAV 2.5 using the Full Erase option in the configurator.
  5. Upload your OSD font of choice from the OSD tab.
  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.5 features and enjoy!

Upgrading from 2.3 or older version

Please follow the instructions on this page.

New targets:

  • AIRBOTF7
  • OMMINBUSF7NANOV2
  • ZEEZF7

CLI:

New commands

Command Description
gf Global Functions. For details refer to Global Functions.md in the docs folder.
logic Defined Logic conditions activating Global Functions. For details refer to Logic Conditions.md in the docs folder.

New Settings

Setting Description
dynamic_gyro_notch_enabled Enable/disable dynamic gyro notch also known as Matrix Filter [ON / OFF]
dynamic_gyro_notch_range Range for dynamic gyro notches. MEDIUM for 5", HIGH for 3" and MEDIUM or LOW for 7" and bigger propellers
dynamic_gyro_notch_q Q factor for dynamic notches
dynamic_gyro_notch_min_hz Minimum frequency for dynamic notches. Default value of 150 works best with 5" multirors. Should be lowered with increased size of propellers. Values around 100 work fine on 7" drones. 10" can go down to 60 - 70
motor_direction_inverted Replaces yaw_motor_direction
nav_fw_control_smoothness Controls smoothness of navigation control (0-9). 0 gives legacy behaviour, non-zero values give increasing smoothness.
nav_fw_pos_hdg_p P gain of heading PID controller.
nav_fw_pos_hdg_i I gain of heading PID controller.
nav_fw_pos_hdg_d D gain of heading PID controller.
nav_fw_pos_hdg_pidsum_limit Output limit for heading trajectory PID controller. (Fixedwing, rovers, boats)
nav_use_fw_yaw_control Enables or Disables the use of the heading PID controller on fixed wing
nav_fw_yaw_deadband Deadband for heading trajectory PID controller. When heading error is below the deadband, controller assumes that vehicle is on course
osd_esc_temp_alarm_max Temperature under which the IMU temperature OSD element will start blinking (decidegrees centigrade)
osd_esc_temp_alarm_min Temperature above which the IMU temperature OSD element will start blinking (decidegrees centigrade)
osd_hud_wp_disp Controls display of the next waypoints in the HUD. See description below
osd_ahi_style Sets OSD Artificial Horizon style "DEFAULT" or "LINE" for the FrSky Graphical OSD
telemetry_halfduplex Replaces telemetry_uart_unidir
servo_protocol Select which protocol is used to communicate with servos (PWM, servo driver or SBUS)

Removed settings

Setting Description
dyn_notch_width_percent
dyn_notch_range
dyn_notch_q
dyn_notch_min_hz
rpm_dterm_filter_enabled
dterm_gyro_harmonic
rpm_dterm_min_hz
rpm_dterm_q
telemetry_uart_unidir Replaced by telemetry_halfduplex
yaw_motor_direction Replaced by motor_direction_inverted

New drivers and protocols

Initial Rover and Boat support (@DzikuVx)

Starting from version 2.5, INAV supports Rovers and Boats (more general: ground and water vehicles without altitude control with yaw steering only. Remark: tanks and vehicles with differential steering are also supported).

The Rover and Boat related features:

  • Flight modes: PosHold, AltHold, Cruise, Launch, Loiter Direction Change, Angle, Horizon, FPV Angle Mix, Turn Assist, Airmode are not available on Rover and Boat platforms
  • Feature 3D is renamed to Reversible Motors
  • Reversible ESCs are now working correctly
  • New Heading PID controller used for YAW control on rovers and boats
  • Return To Home is working. Rover will disarm at the end of RTH procedure. Bear in mind, it will return in a straight line, no Smart RTH support yet.
  • Waypoint Missions are operational. Rover will drive directly int the direction of the Waypoint. At the last Waypoint, it will stop motors instead of loitering.

Reversible ESCs support (@DzikuVx)

Description

New Matrix Filters for Multirotors (@DzikuVx)

The new Matrix Notch filter comes enabled by default on INAV. It's a dynamic notch filter that detects noise frequencies on each individual axis (X, Y and Z) and apply the filters to each axis, resulting in a much better noise handling.

Check out this video to see a detailed explanation of how the Matrix Filter works.

JUMP, HOLD and LAND Waypoint types (@giacomo892, @Jacky2k, @stronnag)

INAV 2.5 supports additional waypoint types, allowing more complex missions to be performed.

  • JUMP: Defines a 'jump' to another waypoint, allowing mission loops (backward jump) and forward jumps. The number of jump iterations is also user defined.
  • POSHOLD_TIME: Defines the amount of time for which the aircraft will loiter at the waypoint position before proceeding to the next waypoint.
  • LAND: Defines a location for landing. This allows INAV to perform one-way missions.

The navigation messages wiki page provides more information and annotated examples.

HUD POI Waypoints markers (@OlivierC-FR)

Shows the next waypoints in the hud. To enable this feature, enter the count of next waypoints in the CLI command:

set osd_hud_wp_disp = 0 to 3

Or on the CMS menu: OSD > HUD > Displayed items > Next waypoints: (from 0 to 3, 0 means disabled)

Then start a WP mission, the next WPs will appear as soon as the mission is loaded in FC memory AND that the aircraft has a valid GPS heading, so it must move if it's not fitted with a magnetometer.

Servo S.BUS output (@digitalentity)

It's now possible to connect S.BUS servos to INAV. You can configure INAV to output servo commands as S.BUS stream on one of the serial ports. Important note - F4 boards generally don't support inversion on serial ports, for those boards a hardware inverter might be required.

VTX/CMS Unification (@digitalentity)

Now CMS has one unified page for configuring VTX settings. No need to remember which protocol your VTX is talking (Tramp, S.Audio or other).

ESC Sensor listen-only mode (@digitalentity)

ESC sensor can now be put to listen-only mode, allowing ESC sensor functionality to be used when an ESC is connected with a PWM-based protocol and configured to sent telemetry automatically. This will be useful on airplanes to provide RPM feedback without the need to use DSHOT.

Legacy Targets

Due to flash / memory restrictions the following functions have been disabled on F3 targets:

  • Pitot
  • Multirotor braking

Recommended hardware

Flight controllers

Airplane models

Radios

Long range radio systems

GPS & Sensors

FPV

Other

You can get more suggestions following this link too.

inav - INAV 2.5.0-RC2

Published by digitalentity over 4 years ago

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

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

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

Tested and suggested hardware can be found here

Important Notes

CLI aux mode migration

inav 2.5 moves the CLI aux mode value from a boxid that was not guaranteed to be stable between releases to a permmanentId that is guaranteed to be stable between releases. This is a "breaking" change for inav 2.5 that brings stability in the future.

In order to use a diff or dump from 2.4 or earlier in INAV 2.5, the user must do one of the following:

  • Remove aux settings from the diff / dump and recreate them in INAV 2.5; or
  • Use the box2perm tool to migrate the diff / dump automatically; or
  • Visit https://box2perm.vercel.app and convert your diff for INAV 2.5
  • Manually edit the aux settings; a conversion table is provided as part of the box2perm documentation.

Removal of PWM RX

All traces of PWM RX have finally been removed. Please check that your receiver type is correctly assigned before raising bogus issues that your RX no longer works.

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.

Upgrading from 2.4

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Modify the diff to update or remove the aux statements
  4. Upgrade to INAV 2.5 using the Full Erase option in the configurator.
  5. Upload your OSD font of choice from the OSD tab.
  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.5 features and enjoy!

Upgrading from 2.3 or older version

Please follow the instructions on this page.

New targets:

  • AIRBOTF7
  • OMMINBUSF7NANOV2

CLI:

New commands

Command Description
gf Global Functions. For details refer to Global Functions.md in the docs folder.
logic Defined Logic conditions activating Global Functions. For details refer to Logic Conditions.md in the docs folder.

New Settings

Setting Description
dynamic_gyro_notch_enabled Enable/disable dynamic gyro notch also known as Matrix Filter [ON / OFF]
dynamic_gyro_notch_range Range for dynamic gyro notches. MEDIUM for 5", HIGH for 3" and MEDIUM or LOW for 7" and bigger propellers
dynamic_gyro_notch_q Q factor for dynamic notches
dynamic_gyro_notch_min_hz Minimum frequency for dynamic notches. Default value of 150 works best with 5" multirors. Should be lowered with increased size of propellers. Values around 100 work fine on 7" drones. 10" can go down to 60 - 70
motor_direction_inverted Replaces yaw_motor_direction
nav_fw_control_smoothness Controls smoothness of navigation control (0-9). 0 gives legacy behaviour, non-zero values give increasing smoothness.
nav_fw_pos_hdg_p P gain of heading PID controller.
nav_fw_pos_hdg_i I gain of heading PID controller.
nav_fw_pos_hdg_d D gain of heading PID controller.
nav_fw_pos_hdg_pidsum_limit Output limit for heading trajectory PID controller. (Fixedwing, rovers, boats)
nav_use_fw_yaw_control Enables or Disables the use of the heading PID controller on fixed wing
nav_fw_yaw_deadband Deadband for heading trajectory PID controller. When heading error is below the deadband, controller assumes that vehicle is on course
osd_esc_temp_alarm_max Temperature under which the IMU temperature OSD element will start blinking (decidegrees centigrade)
osd_esc_temp_alarm_min Temperature above which the IMU temperature OSD element will start blinking (decidegrees centigrade)
osd_hud_wp_disp Controls display of the next waypoints in the HUD. See description below
osd_ahi_style Sets OSD Artificial Horizon style "DEFAULT" or "LINE" for the FrSky Graphical OSD
telemetry_halfduplex Replaces telemetry_uart_unidir
servo_protocol Select which protocol is used to communicate with servos (PWM, servo driver or SBUS)

Removed settings

Setting Description
dyn_notch_width_percent
dyn_notch_range
dyn_notch_q
dyn_notch_min_hz
rpm_dterm_filter_enabled
dterm_gyro_harmonic
rpm_dterm_min_hz
rpm_dterm_q
telemetry_uart_unidir Replaced by telemetry_halfduplex
yaw_motor_direction Replaced by motor_direction_inverted

New drivers and protocols

Initial Rover and Boat support (@DzikuVx)

Starting from version 2.5, INAV supports Rovers and Boats (more general: ground and water vehicles without altitude control with yaw steering only. Remark: tanks and vehicles with differential steering are also supported).

The Rover and Boat related features:

  • Flight modes: PosHold, AltHold, Cruise, Launch, Loiter Direction Change, Angle, Horizon, FPV Angle Mix, Turn Assist, Airmode are not available on Rover and Boat platforms
  • Feature 3D is renamed to Reversible Motors
  • Reversible ESCs are now working correctly
  • New Heading PID controller used for YAW control on rovers and boats
  • Return To Home is working. Rover will disarm at the end of RTH procedure. Bear in mind, it will return in a straight line, no Smart RTH support yet.
  • Waypoint Missions are operational. Rover will drive directly int the direction of the Waypoint. At the last Waypoint, it will stop motors instead of loitering.

Reversible ESCs support (@DzikuVx)

Description

New Matrix Filters for Multirotors (@DzikuVx)

The new Matrix Notch filter comes enabled by default on INAV. It's a dynamic notch filter that detects noise frequencies on each individual axis (X, Y and Z) and apply the filters to each axis, resulting in a much better noise handling.

Check out this video to see a detailed explanation of how the Matrix Filter works.

JUMP, HOLD and LAND Waypoint types (@giacomo892, @Jacky2k, @stronnag)

INAV 2.5 supports additional waypoint types, allowing more complex missions to be performed.

  • JUMP: Defines a 'jump' to another waypoint, allowing mission loops (backward jump) and forward jumps. The number of jump iterations is also user defined.
  • POSHOLD_TIME: Defines the amount of time for which the aircraft will loiter at the waypoint position before proceeding to the next waypoint.
  • LAND: Defines a location for landing. This allows INAV to perform one-way missions.

The navigation messages wiki page provides more information and annotated examples.

HUD POI Waypoints markers (@OlivierC-FR)

Shows the next waypoints in the hud. To enable this feature, enter the count of next waypoints in the CLI command:

set osd_hud_wp_disp = 0 to 3

Or on the CMS menu: OSD > HUD > Displayed items > Next waypoints: (from 0 to 3, 0 means disabled)

Then start a WP mission, the next WPs will appear as soon as the mission is loaded in FC memory AND that the aircraft has a valid GPS heading, so it must move if it's not fitted with a magnetometer.

Servo S.BUS output (@digitalentity)

It's now possible to connect S.BUS servos to INAV. You can configure INAV to output servo commands as S.BUS stream on one of the serial ports. Important note - F4 boards generally don't support inversion on serial ports, for those boards a hardware inverter might be required.

VTX/CMS Unification (@digitalentity)

Now CMS has one unified page for configuring VTX settings. No need to remember which protocol your VTX is talking (Tramp, S.Audio or other).

ESC Sensor listen-only mode (@digitalentity)

ESC sensor can now be put to listen-only mode, allowing ESC sensor functionality to be used when an ESC is connected with a PWM-based protocol and configured to sent telemetry automatically. This will be useful on airplanes to provide RPM feedback without the need to use DSHOT.

Legacy Targets

Due to flash / memory restrictions the following functions have been disabled on F3 targets:

  • Pitot
  • Multirotor braking
inav - INAV 2.5.0-RC1

Published by digitalentity over 4 years ago

Hello and welcome to INAV 2.5.0 RC1!

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:

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

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

Tested and suggested hardware can be found here

Important Notes

CLI aux mode migration

inav 2.5 moves the CLI aux mode value from a boxid that was not guaranteed to be stable between releases to a permmanentId that is guaranteed to be stable between releases. This is a "breaking" change for inav 2.5 that brings stability in the future.

In order to use a diff or dump from 2.4 or earlier in inav 2.5, the user must do one of the following:

  • Remove aux settings from the diff / dump and recreate them in inav 2.5; or
  • Use the box2perm tool to migrate the diff / dump automatically; or
  • Manually edit the aux settings; a conversion table is provided as part of the box2perm documentation.

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.

Upgrading from 2.4

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Modify the diff to update or remove the aux statements
  4. Upgrade to INAV 2.5 using the Full Erase option in the configurator.
  5. Upload your OSD font of choice from the OSD tab.
  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.5 features and enjoy!

Upgrading from 2.3 or older version

Please follow the instructions on this page.

New targets:

  • AIRBOTF7
  • OMMINBUSF7NANOV2

CLI:

New commands

Command Description
gf Global Functions. For details refer to Global Functions.md in the docs folder.
logic Defined Logic conditions activating Global Functions. For details refer to Logic Conditions.md in the docs folder.

New Settings

Setting Description
dynamic_gyro_notch_enabled Enable/disable dynamic gyro notch also known as Matrix Filter [ON / OFF]
dynamic_gyro_notch_range Range for dynamic gyro notches. MEDIUM for 5", HIGH for 3" and MEDIUM or LOW for 7" and bigger propellers
dynamic_gyro_notch_q Q factor for dynamic notches
dynamic_gyro_notch_min_hz Minimum frequency for dynamic notches. Default value of 150 works best with 5" multirors. Should be lowered with increased size of propellers. Values around 100 work fine on 7" drones. 10" can go down to 60 - 70
motor_direction_inverted Cli.md UPDATE Boolean ON / OFF, replaces yaw_motor_direction
nav_fw_pos_hdg_p Cli.md MISSING
nav_fw_pos_hdg_i Cli.md MISSING
nav_fw_pos_hdg_d Cli.md MISSING
nav_fw_pos_hdg_pidsum_limit Cli.md MISSING
nav_use_fw_yaw_control Cli.md MISSING
nav_fw_yaw_deadband Cli.md MISSING
osd_esc_temp_alarm_max Temperature under which the IMU temperature OSD element will start blinking (decidegrees centigrade)
osd_esc_temp_alarm_min Temperature above which the IMU temperature OSD element will start blinking (decidegrees centigrade)
osd_hud_wp_disp Cli.md MISSING Controls display of the next waypoints in the HUD. See description below
osd_ahi_style Cli.md MISSING Sets OSD Artificial Horizon style "DEFAULT" or "LINE"
telemetry_halfduplex Cli.md UPDATE Replaces telemetry_uart_unidir
servo_protocol Select which protocol is used to communicate with servos (PWM, servo driver or SBUS)

Removed settings

Setting Description
dyn_notch_width_percent
dyn_notch_range
dyn_notch_q
dyn_notch_min_hz
rpm_dterm_filter_enabled
dterm_gyro_harmonic
rpm_dterm_min_hz
rpm_dterm_q
telemetry_uart_unidir Cli.md UPDATE Replaced by telemetry_halfduplex
yaw_motor_direction Cli.md UPDATE Replaced by motor_direction_inverted

New drivers and protocols

Initial Rover and Boat support (@DzikuVx)

Starting from version 2.5, INAV supports Rovers and Boats (more general: ground and water vehicles without altitude control with yaw steering only. Remark: tanks and vehicles with differential steering are also supported).

The Rover and Boat related features:

  • Flight modes: PosHold, AltHold, Cruise, Launch, Loiter Direction Change, Angle, Horizon, FPV Angle Mix, Turn Assist, Airmode are not available on Rover and Boat platforms
  • Feature 3D is renamed to Reversible Motors
  • Reversible ESCs are now working correctly
  • New Heading PID controller used for YAW control on rovers and boats
  • Return To Home is working. Rover will disarm at the end of RTH procedure. Bear in mind, it will return in a straight line, no Smart RTH support yet.
  • Waypoint Missions are operational. Rover will drive directly int the direction of the Waypoint. At the last Waypoint, it will stop motors instead of loitering.

Reversible ESCs support (@DzikuVx)

Description

New Matrix Filters for Multirotors (@DzikuVx)

The new Matrix Notch filter comes enabled by default on INAV. It's a dynamic notch filter that detects noise frequencies on each individual axis (X, Y and Z) and apply the filters to each axis, resulting in a much better noise handling.

Check out this video to see a detailed explanation of how the Matrix Filter works.

JUMP, HOLD and LAND Waypoint types (@giacomo892, @Jacky2k, @stronnag)

INAV 2.5 supports additional waypoint types, allowing more complex missions to be performed.

  • JUMP: Defines a 'jump' to another waypoint, allowing mission loops (backward jump) and forward jumps. The number of jump iterations is also user defined.
  • POSHOLD_TIME: Defines the amount of time for which the aircraft will loiter at the waypoint position before proceeding to the next waypoint.
  • LAND: Defines a location for landing. This allows INAV to perform one-way missions.

The navigation messages wiki page provides more information and annotated examples.

HUD POI Waypoints markers (@OlivierC-FR)

Shows the next waypoints in the hud. To enable this feature, enter the count of next waypoints in the CLI command:

set osd_hud_wp_disp = 0 to 3

Or on the CMS menu: OSD > HUD > Displayed items > Next waypoints: (from 0 to 3, 0 means disabled)

Then start a WP mission, the next WPs will appear as soon as the mission is loaded in FC memory AND that the aircraft has a valid GPS heading, so it must move if it's not fitted with a magnetometer.

Servo S.BUS output (@digitalentity)

It's now possible to connect S.BUS servos to INAV. You can configure INAV to output servo commands as S.BUS stream on one of the serial ports. Important note - F4 boards generally don't support inversion on serial ports, for those boards a hardware inverter might be required.

VTX/CMS Unification (@digitalentity)

Now CMS has one unified page for configuring VTX settings. No need to remember which protocol your VTX is talking (Tramp, S.Audio or other).

ESC Sensor listen-only mode (@digitalentity)

ESC sensor can now be put to listen-only mode, allowing ESC sensor functionality to be used when an ESC is connected with a PWM-based protocol and configured to sent telemetry automatically. This will be useful on airplanes to provide RPM feedback without the need to use DSHOT.

Legacy Targets

Due to flash / memory restrictions the following functions have been disabled on F3 targets:

  • Pitot
  • Multirotor braking