1.9.0 Release notes - iNavFlight/inav GitHub Wiki
Please read the release notes carefully and upgrade INAV Configurator application.
INAV is and will remain open-source and free, but you are more than welcome to support the development.
This release was supported by our awesome sponsors CarbonBird.com, Airbot, ADPM Drones and a number of supporters on Patreon.
WARNINGS
- If you are using HMC5883/HMC5983 compass it is advised to recalibrate. Please don't restore the old settings from the dump/diff script.
Known bugs
- todo
PASSTHROUGH
flight mode (fixed wing)
Renamed The PASSTHROUGH
flight mode has been renamed to MANUAL
. New settings also have been added to allow the use of different servo rates (or control weight) for the servos when flying without stabilization without using a programmable remote control. The exponential settings for roll/pitch and yaw controls are now also also independent from the exponential settings used for stabilized flight modes. See the manual_*
settings in the CLI settings table below. The default settings make the MANUAL
flight mode behave exactly as the old PASSTHROUGH
flight mode.
Increased VBAT resolution
The battery voltage resolution has been increased from 100mV to 10mV. In consequence the vbat_scale
, vbat_max_cell_voltage
, vbat_warning_cell_voltage
and vbat_min_cell_voltage
settings resolution has also been increased 10 fold allowing more precise battery voltage calibration and battery voltage thresholds. To restore old configuration settings users need to multiply their old setting values by 10.
New defaults for these settings:
vbat_scale
: 1100 (was 110)vbat_max_cell_voltage
: 424 (was 43) or 4.24V/cellvbat_warning_cell_voltage
: 350 (was 35) or 3.5V/cellvbat_min_cell_voltage
: 330 (was 33) or 3.3V/cell
Users who were using the old defaults should not use the settings from their dump
but use the new defaults instead.
Users now have the option to display 1 or 2 decimals for battery voltages in the OSD display (see osd_main_voltage_decimals
in the CLI settings table below).
Battery capacity monitoring
It is now possible to display the remaining battery capacity in the OSD and also use the battery capacity thresholds (battery_capacity_warning
and battery_capacity_critical
) for battery alarms.
For the capacity monitoring to work you need a current sensor (CURRENT_METER
feature). For monitoring energy in milliWatt hour you also need voltage measurement (VBAT
feature). For best results the current and voltage readings have to be calibrated.
For the remaining battery capacity to be displayed users need to set the battery_capacity
setting (>0) and the battery to be full when plugged in. If the battery_capacity
setting is set to 0 the remaining battery capacity item in the OSD will display NA
and the battery gauge will use an estimation based on the battery voltage (like it used to be) otherwise it will display the remaining battery capacity down to the battery_capacity_critical
setting (battery considered empty). For the capacity thresholds to be used for alarms the battery_capacity_warning
and battery_capacity_critical
settings also needs to be set (>0) and the battery to be full the moment it is plugged in. The value are absolute meaning that battery_capacity_warning
is the battery capacity left when the battery is entering the warning
state and battery_capacity_critical
is the battery capacity left when the battery is considered empty and entering the critical
state.
For the battery to be considered full the mean cell voltage of the battery needs to be above vbat_max_cell_voltage - 140mV
(by default 4.1V). So a 3S battery will be considered full above 12.3V and a 4S battery above 16.24V. If the battery plugged in is not considered full the remaining battery capacity OSD item will show NF
(Not Full).
For the remaining battery capacity and battery gauge to be the most precise (linear relative to throttle from full to empty) when using battery capacity monitoring users should use the milliWatt hour unit for the battery capacity settings. The battery capacity settings unit can be set using the battery_capacity_unit
setting (see the CLI parameters table below).
NAV Launch (airplane launch assistant) available as feature
The mode can now be permanently enabled via the configurator or the CLI using feature FW_LAUNCH
in this case NAV LAUNCH
doesn't need to be enabled via a transmitter switch prior to arming freeing a switch for other uses. If you inadvertently disarm mid-air, NAV LAUNCH
will be active again after arming again so, before raising the throttle again (you should lower the throttle to arm again) move pitch/roll stick and you will have full control back. If you have this feature enabled and for some reason you want to launch the plane manually just move pitch/roll stick right after arming and you have back full control for a manual launch.
CLI parameter renaming / new parameters
New parameters have been introduced. Some CLI parameters were renamed to support new features or to better reflect their meaning:
Name | Description |
---|---|
rangefinder_median_filter |
Default is OFF |
failsafe_lights |
Enable or disable the lights when the FAILSAFE flight mode is enabled. The target needs to be compiled with USE_LIGHTS [ON/OFF]. Default is ON |
failsafe_lights_flash_period |
Time in milliseconds between two flashes when failsafe_lights is ON and FAILSAFE flight mode is enabled [40-65535]. Default is 1000ms. |
failsafe_lights_flash_on_time |
Flash lights ON time in milliseconds when failsafe_lights is ON and FAILSAFE flight mode is enabled. [20-65535]. Default is 100ms. |
battery_capacity |
Set the battery capacity in mAh or mWh (see battery_capacity_unit ). Used to calculate the remaining battery capacity. Default is 0 |
battery_capacity_warning |
If the remaining battery capacity goes below this threshold the beeper will emit short beeps and the relevant OSD items will blink. Default is 0 |
battery_capacity_critical |
If the remaining battery capacity goes below this threshold the battery is considered empty and the beeper will emit long beeps. Default is 0 |
battery_capacity_unit |
Unit used for battery_capacity , battery_capacity_warning and battery_capacity_critical [MAH/MWH] (milliAmpere hour / milliWatt hour). Default is MAH |
manual_rc_expo |
Exponential value used for the PITCH/ROLL axes by the MANUAL flight mode [0-100]. Default is 70 |
manual_rc_yaw_expo |
Exponential value used for the YAW axis by the MANUAL flight mode. Default is 20 |
manual_pitch_rate |
Servo travel multiplier for the PITCH axis in MANUAL flight mode [0-100]%. Default is 100% |
manual_roll_rate |
Servo travel multiplier for the ROLL axis in MANUAL flight mode [0-100]%. Default is 100% |
manual_yaw_rate |
Servo travel multiplier for the YAW axis in MANUAL flight mode [0-100]%. Default is 100% |
gps_ublox_use_galileo |
Enable use of Galileo satellites. This is at the expense of other regional constellations, so benefit may also be regional. Requires M8N and Ublox firmware 3.x (or later) [OFF/ON]. Default is OFF |
smartport_fuel_unit |
Unit of the value sent with the FUEL ID through the S.Port telemetry. Replaces the smartport_fuel_percent setting [PERCENT/MAH/MWH]. Default is PERCENT |
osd_stats_energy_unit |
Unit used for the drawn energy in the OSD stats [MAH/WH] (milliAmpere hour/ Watt hour). Default is MAH |
osd_main_voltage_decimals |
Number of decimals for the battery voltages displayed in the OSD [1-2]. Default is 1 |
osd_wh_drawn_pos |
|
osd_bat_remaining_capacity_pos |
|
osd_bat_remaining_percent_pos |
|
osd_efficiency_mah_pos |
|
osd_efficiency_wh_pos |
|
display_force_sw_blink |
|
mag_to_use |
Allow to chose between built-in and external compass sensor if they are connected to separate buses. Currently only for REVO target |
nav_fw_launch_min_time |
Allow launch mode to execute at least this time (ms) and ignore stick movements [0-60000]. Default is 0 |
nav_fw_launch_max_altitude |
Altitude (centimeters) at which LAUNCH mode will be turned off and regular flight mode will take over [0-60000]. Default is 0 |
New boards
- Betaflight F3
- Betaflight F4
- FuriousFPV F35 Lightning (former FuriousFPV WingF4)
- Matek F722
- Matek F405-CTR
- Holybro KAKUTE F4
- Holybro KAKUTE F4 V2
- Fortini F4
New features
- [COMPASS] Allow to chose between internal and external compass on REVO target (@digitalentity, #2522)
- [COMPASS] Support for QMC5883 compass chips that incorrectly mimic the HMC58883 (@digitalentity, #2809)
- [SYSTEM] Migrate to busDevice abstraction layer for better device access abstraction (@digitalentity, #2290)
- [SYSTEM] Create dedicated F427 startup file (@digitalentity, #2559)
- [MOTOLAB] Allow MOTOLAB target to be used for airplanes (@shellixyz, #2502)
- [GPS] Enables use of Galileo satellites for NEO-M8N GPS units (@stronnag, #2583)
- [CALIBRATION] Add API for Calibration tab in Configurator
- [OSD] Allow OSD mode to disable OSD (@shellixyz, #2676)
- [OSD] Increase odometer accuracy (@digitalentity, #2757)
- [OSD] Add more battery-related indicators (including efficiency)
- [LIGHTS] Add LIGHTS flight mode to enable/disable GPIO-driven equipment (@shellixyz, #2675)
- [LAUNCH] Allow LAUNCH mode to ignore sticks for certain amount of time (@shellixyz, #2677)
- [LAUNCH] Allow LAUNCH mode to be permanently enabled as FW_LAUNCH feature (@giacomo892, #2731)
- [MSP] API to support smix/mmix configuration via Configurator (@DzikuVx, #2693)
- [MSP] Add no-reply flag to allow MSP messages that don't need a response (@digitalentity, #2762)
- [COMPASS] Enable QMC5883, MAG3110 and IST8310 on most of the targets (@digitalentity, #2699)
- [AIRPLANE] Replace PASSTHROUGH with MANUAL flight mode (@shellixyz, #2661)
- [BATTERY] Improve battery monitoring and resolution (@shellixyz, #2705)
- [SYSTEM] Remove SoftSPI implementation since it's not used (@DzikuVx, #2726)
- [SYSTEM] Allow in-flight adjustments of board alignment, cruise throttle and pitch2thr (@shellixyz, #2768)
- [SYSTEM] Trace messages output for easier debugging (@digitalentity, #2691)
Bugfixes
- Fix flash overflow on F7 targets due to usage of flash_split (@digitalentity, #2535)
- Update BLHeli passthrough to support BLHeli_32
- Fix AK8963 compass support (@digitalentity, #2551)
- Fix timer clash between motors and servos on PIKOBLX (@shellixyz, #2513)
- Fix non-working UART7/8
- Fix non-booting OMNIBUSF4 (some variants with MPU6500-family gyro) (@shellixyz, #2575)
- Fix support for dataflash chips larger than 16MiB (@digitalentity, #2633)
- Fix VCP issues on F7 targets (@digitalentity, #2647)
- Fix potential buffer overflow in MSPv2 parsing (@digitalentity, #2689)
- Fix OSD statistics displaying issues on NTSC screens (@krzysztofmatula, #2721)
- Fix RCSplit not being detected (increase timeout) (@digitalentity, #2767)
- Fix OSD blinking on some flawed OSD hardware (allow software blinking) (@fiam, #2452)
- Fix P gains for Heading Hold not available in CLI (@DzikuVx, #2669)
- Fix arming with AUTOTRIM enabled (@giacomo892, #2756)
- Fix hardfault in ledstrip driver due to division by zero (@digitalentity, #2790)
- Fix non-working channel forwarding on REVO (@digitalentity, [#2870])
- Fix midrc MSP min/max checks preventing to set midrc outside of 1401:1599 from the configurator (@shellixyz, #2865)