replace INAV code line reference to function reference
[inav.wiki.git] / 1.9.0-Release-notes.md
blob6938733d504dcb96477d3676418b39bb3dc6afa1
1 Please read the release notes carefully and upgrade [INAV Configurator application](https://github.com/iNavFlight/inav-configurator/releases/tag/1.9.0).
3 INAV is and will remain open-source and free, but you are more than welcome to [support the development](https://inavflight.github.io/supporting-inav/). 
5 This release was supported by our awesome sponsors [CarbonBird.com](http://www.CarbonBird.com), [Airbot](http://shop.myairbot.com/), [ADPM Drones](http://www.adpm.pro/) and a number of supporters on [Patreon](https://www.patreon.com/inavflight).
7 ## WARNINGS
9 * If you are using HMC5883/HMC5983 compass it is advised to recalibrate. Please don't restore the old settings from the dump/diff script.
11 ## Known bugs
12 * todo
14 ## Renamed `PASSTHROUGH` flight mode (fixed wing)
16 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.
18 ## Increased VBAT resolution
20 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.
22 New defaults for these settings:
23 * `vbat_scale`: 1100 (was 110)
24 * `vbat_max_cell_voltage`: 424 (was 43) or 4.24V/cell
25 * `vbat_warning_cell_voltage`: 350 (was 35) or 3.5V/cell
26 * `vbat_min_cell_voltage`: 330 (was 33) or 3.3V/cell
28 Users who were using the old defaults should not use the settings from their `dump` but use the new defaults instead.
30 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).
32 ## Battery capacity monitoring
34 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.
36 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.
38 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. 
40 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).
42 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).
44 ## NAV Launch (airplane launch assistant) available as feature
46 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.
48 ## CLI parameter renaming / new parameters
50 New parameters have been introduced. Some CLI parameters were renamed to support new features or to better reflect their meaning:
52 | Name               | Description                                                    |
53 |------------------------|----------------------------------------------------------------|
54 | `rangefinder_median_filter` | Default is OFF |
55 | `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 |
56 | `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. |
57 | `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. |
58 | `battery_capacity` | Set the battery capacity in mAh or mWh (see `battery_capacity_unit`). Used to calculate the remaining battery capacity. Default is 0 |
59 | `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 |
60 | `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 |
61 | `battery_capacity_unit` | Unit used for `battery_capacity`, `battery_capacity_warning` and `battery_capacity_critical` [MAH/MWH] (milliAmpere hour / milliWatt hour). Default is MAH |
62 | `manual_rc_expo` | Exponential value used for the PITCH/ROLL axes by the `MANUAL` flight mode [0-100]. Default is 70 |
63 | `manual_rc_yaw_expo` | Exponential value used for the YAW axis by the `MANUAL` flight mode. Default is 20 |
64 | `manual_pitch_rate` | Servo travel multiplier for the PITCH axis in `MANUAL` flight mode [0-100]%. Default is 100% |
65 | `manual_roll_rate` | Servo travel multiplier for the ROLL axis in `MANUAL` flight mode [0-100]%. Default is 100% |
66 | `manual_yaw_rate` | Servo travel multiplier for the YAW axis in `MANUAL` flight mode [0-100]%. Default is 100% |
67 | `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 |
68 | `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 |
69 | `osd_stats_energy_unit` | Unit used for the drawn energy in the OSD stats [MAH/WH] (milliAmpere hour/ Watt hour). Default is MAH |
70 | `osd_main_voltage_decimals` | Number of decimals for the battery voltages displayed in the OSD [1-2]. Default is 1 |
71 | `osd_wh_drawn_pos` |  |
72 | `osd_bat_remaining_capacity_pos` |  |
73 | `osd_bat_remaining_percent_pos` |  |
74 | `osd_efficiency_mah_pos` |  |
75 | `osd_efficiency_wh_pos` |  |
76 | `display_force_sw_blink` |  |
77 | `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 |
78 | `nav_fw_launch_min_time` | Allow launch mode to execute at least this time (ms) and ignore stick movements [0-60000]. Default is 0 |
79 | `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 |
82 ## New boards
84 * Betaflight F3
85 * Betaflight F4
86 * FuriousFPV F35 Lightning (former FuriousFPV WingF4)
87 * Matek F722
88 * Matek F405-CTR
89 * Holybro KAKUTE F4
90 * Holybro KAKUTE F4 V2
91 * Fortini F4
93 ## New features
95 * [COMPASS] Allow to chose between internal and external compass on REVO target ([@digitalentity], [#2522])  
96 * [COMPASS] Support for QMC5883 compass chips that incorrectly mimic the HMC58883 ([@digitalentity], [#2809])
97 * [SYSTEM] Migrate to busDevice abstraction layer for better device access abstraction ([@digitalentity], [#2290])
98 * [SYSTEM] Create dedicated F427 startup file ([@digitalentity], [#2559])
99 * [MOTOLAB] Allow MOTOLAB target to be used for airplanes ([@shellixyz], [#2502])
100 * [GPS] Enables use of Galileo satellites for NEO-M8N GPS units ([@stronnag], [#2583])
101 * [CALIBRATION] Add API for Calibration tab in Configurator
102 * [OSD] Allow OSD mode to disable OSD ([@shellixyz], [#2676])
103 * [OSD] Increase odometer accuracy ([@digitalentity], [#2757])  
104 * [OSD] Add more battery-related indicators (including efficiency)
105 * [LIGHTS] Add LIGHTS flight mode to enable/disable GPIO-driven equipment ([@shellixyz], [#2675])
106 * [LAUNCH] Allow LAUNCH mode to ignore sticks for certain amount of time ([@shellixyz], [#2677])
107 * [LAUNCH] Allow LAUNCH mode to be permanently enabled as FW_LAUNCH feature ([@giacomo892], [#2731])
108 * [MSP] API to support smix/mmix configuration via Configurator ([@DzikuVx], [#2693])
109 * [MSP] Add no-reply flag to allow MSP messages that don't need a response ([@digitalentity], [#2762])
110 * [COMPASS] Enable QMC5883, MAG3110 and IST8310 on most of the targets ([@digitalentity], [#2699])
111 * [AIRPLANE] Replace PASSTHROUGH with MANUAL flight mode ([@shellixyz], [#2661])
112 * [BATTERY] Improve battery monitoring and resolution ([@shellixyz], [#2705])
113 * [SYSTEM] Remove SoftSPI implementation since it's not used ([@DzikuVx], [#2726])
114 * [SYSTEM] Allow in-flight adjustments of board alignment, cruise throttle and pitch2thr ([@shellixyz], [#2768])
115 * [SYSTEM] Trace messages output for easier debugging  ([@digitalentity], [#2691])
117 ## Bugfixes
119 * Fix flash overflow on F7 targets due to usage of flash_split ([@digitalentity], [#2535])
120 * Update BLHeli passthrough to support BLHeli_32
121 * Fix AK8963 compass support ([@digitalentity], [#2551])
122 * Fix timer clash between motors and servos on PIKOBLX ([@shellixyz], [#2513])
123 * Fix non-working UART7/8
124 * Fix non-booting OMNIBUSF4 (some variants with MPU6500-family gyro) ([@shellixyz], [#2575])
125 * Fix support for dataflash chips larger than 16MiB ([@digitalentity], [#2633])
126 * Fix VCP issues on F7 targets ([@digitalentity], [#2647])
127 * Fix potential buffer overflow in MSPv2 parsing ([@digitalentity], [#2689])
128 * Fix OSD statistics displaying issues on NTSC screens ([@krzysztofmatula], [#2721])
129 * Fix RCSplit not being detected (increase timeout) ([@digitalentity], [#2767])
130 * Fix OSD blinking on some flawed OSD hardware (allow software blinking) ([@fiam], [#2452])
131 * Fix P gains for Heading Hold not available in CLI ([@DzikuVx], [#2669])       
132 * Fix arming with AUTOTRIM enabled ([@giacomo892], [#2756])
133 * Fix hardfault in ledstrip driver due to division by zero ([@digitalentity], [#2790])
134 * Fix non-working channel forwarding on REVO ([@digitalentity], [#2870])
135 * Fix midrc MSP min/max checks preventing to set midrc outside of 1401:1599 from the configurator ([@shellixyz], [#2865]) 
137 [@digitalentity]: https://github.com/digitalentity
138 [@DzikuVx]: https://github.com/DzikuVx 
139 [@fiam]: https://github.com/fiam
140 [@giacomo892]: https://github.com/giacomo892
141 [@shellixyz]: https://github.com/shellixyz
142 [@stronnag]: https://github.com/stronnag
143 [@shellixyz]: https://github.com/shellixyz
144 [@krzysztofmatula]: https://github.com/krzysztofmatula
146 [#2290]: https://github.com/iNavFlight/inav/pull/2290
147 [#2452]: https://github.com/iNavFlight/inav/pull/2452
148 [#2583]: https://github.com/iNavFlight/inav/pull/2583
149 [#2677]: https://github.com/iNavFlight/inav/pull/2677
150 [#2691]: https://github.com/iNavFlight/inav/pull/2691
151 [#2693]: https://github.com/iNavFlight/inav/pull/2693
152 [#2726]: https://github.com/iNavFlight/inav/pull/2726
153 [#2762]: https://github.com/iNavFlight/inav/pull/2762
154 [#2731]: https://github.com/iNavFlight/inav/pull/2731
155 [#2661]: https://github.com/iNavFlight/inav/pull/2661
156 [#2705]: https://github.com/iNavFlight/inav/pull/2705
157 [#2757]: https://github.com/iNavFlight/inav/pull/2757
158 [#2675]: https://github.com/iNavFlight/inav/pull/2675
159 [#2715]: https://github.com/iNavFlight/inav/pull/2715   
160 [#2559]: https://github.com/iNavFlight/inav/pull/2559   
161 [#2699]: https://github.com/iNavFlight/inav/pull/2699   
162 [#2522]: https://github.com/iNavFlight/inav/pull/2522   
163 [#2502]: https://github.com/iNavFlight/inav/pull/2502   
164 [#2676]: https://github.com/iNavFlight/inav/pull/2676   
165 [#2669]: https://github.com/iNavFlight/inav/pull/2669   
166 [#2756]: https://github.com/iNavFlight/inav/pull/2756   
167 [#2551]: https://github.com/iNavFlight/inav/pull/2551
168 [#2535]: https://github.com/iNavFlight/inav/pull/2535
169 [#2513]: https://github.com/iNavFlight/inav/pull/2513
170 [#2575]: https://github.com/iNavFlight/inav/pull/2575
171 [#2633]: https://github.com/iNavFlight/inav/pull/2633
172 [#2647]: https://github.com/iNavFlight/inav/pull/2647
173 [#2689]: https://github.com/iNavFlight/inav/pull/2689
174 [#2721]: https://github.com/iNavFlight/inav/pull/2721
175 [#2767]: https://github.com/iNavFlight/inav/pull/2767
176 [#2790]: https://github.com/iNavFlight/inav/pull/2790
177 [#2768]: https://github.com/iNavFlight/inav/pull/2768
178 [#2809]: https://github.com/iNavFlight/inav/pull/2809
179 [#2865]: https://github.com/iNavFlight/inav/pull/2865