Updated MSP Navigation Messages (markdown)
[inav.wiki.git] / 2.0.0-Release-Notes.md
blob7979c0426c9eaef9465581e0ecc25e6511cb12ab
1 Hello and welcome to INAV 2.0.0 Release!
3 Please carefully read all of this document for the best possibile experience and safety.
5 Get in touch with other pilots, share experiences, suggestions and ask for help on:
7 <table>
8   <tbody>
9     <tr>
10       <td><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/82/Telegram_logo.svg/1024px-Telegram_logo.svg.png" width="48"></td>
11       <td><a href="https://t.me/INAVFlight">INAV Official on Telegram</a></td>
12     </tr>
13     <tr>
14       <td><img src="https://upload.wikimedia.org/wikipedia/commons/c/cd/Facebook_logo_%28square%29.png" width="48"></td>
15       <td><a href="https://www.facebook.com/groups/INAVOfficial">INAV Official on Facebook</a></td>
16     </tr>
17      <tr>
18       <td><img src="https://upload.wikimedia.org/wikipedia/commons/7/76/Slack_Icon.png" width="48"</td>
19       <td><a href="https://publicslack.com/slacks/inavflight/invites/new">INAV Official on Slack</a></td>
20     </tr>
21   </tbody>
22 </table>
24 ## Sponsors and supporters
26 Ongoing development would be impossible without ongoing cooperation with manufacturers and support from the following businesses:
28 - CarbonBird Robotics http://www.carbonbird.com/
29 - Airbot https://store.myairbot.com/
30 - ADPM Drones http://www.adpmdrones.com/
31 - Matek Systems http://www.mateksys.com
32 - AKK https://www.akktek.com
33 - FuriousFPV http://furiousfpv.com/
35 ## Important Notes
37 * **DO NOT RESTORE ACCELEROMETER CALIBRATION VALUES FROM AN OLDER RELEASE (<2.0)** Doing that will led to poor attitude estimation performance and may cause troubles.
39 * When upgrading a full chip erase (when flashing) / `defaults` from CLI is advised. Be sure to backup your configuration and restore it wisely.
41 * OSD layout configuration from releases < 2.0 is not compatible with the current one. Take a screenshot of your current OSD layout before upgrading and restore it manually from the configurator.
43 * `current_meter_offset` setting changed scale. Need to be multiplied by 10 if it's value is coming from < INAV 2.0.0 
45 * Position Hold 2D (only keeping horizontal position with GPS aid) has been dropped. Now Position Hold is only 3D and it will hold position and altitude.
47 * **STM32F1 boards support has been dropped. NAZE/CC3D targets are no longer supported.** Please upgrade to F4/F7 board. F3 boards are not recommended since their flash space is almost full and they are likely to not receive all features on the next release.
49 * **AIRMODE now excludes feature MOTOR_STOP in multicopters** This means that if you have AIRMODE enabled on a multi-rotor, the motors will most likely spin on arming, even with `feature MOTOR_STOP` (or the configurator "Don't spin the motors when armed") set.
51 ## Upgrading from 1.9.X
53 1. Be sure to run the latest INAV 2.0 Configuration release. Download from [here]
54 2. Go to the CLI tab and copy and paste the `diff` output to a text file for later usage. 
55 3. Go to the OSD tab and take a screenshot of the current layout
56 4. Flash INAV 2.0 enabling **full chip erase** . Now you FC should run INAV 2.0. Connect again and check firmware version.
57 5. Go to the Mixer tab and load and apply your desidered mixer.
58 6. Go back to your configuration text file and delete all lines starting with: mixer acczero accgain magzero osd. Adjust values to be adjusted noted in the release notes.
59 7. Open the CLI tab in the configurator and paste your cleaned up configuration in the text box and type `save` and press enter. The flight controller will now reboot.
60 8. Calibrate the accelerometer following the steps in the dedicated tab. Only first two steps needs to be made in the right order.
61 9. Calibration of the magnetometer should be done at the field. The magnetic field indoors can be distorted and led to a bad calibration.
62 10. Restore manually your OSD layout using the screenshot and upload the font you like using the dedicated button.
63 11. Carefully check all the configuration and check on the bench without installed propellers if everything looks good. In particular check if the model preview behave correctly when you are moving your model and check surfaces movements for an airplane.
64 12. Enjoy INAV 2.0.0 and explore its new features!
66 ## Walk through if TL;DR
68 [https://www.youtube.com/watch?v=sHvItS2qKfk](https://www.youtube.com/watch?v=sHvItS2qKfk)
70 ## Known bugs
72 * RadioLink R9DS (an possibly all RadioLink receivers) SBUS output cannot be used . They are not complying with standards and this results in them sending invalid SBUS packets to the FC ([#3563])
73 * If INAV Configurator starts minimized, you have to manually remove content of `C:\Users%Your_UserNname%\AppData\Local\inav-configurator` [https://www.youtube.com/watch?v=XMoULyiFDp4](https://www.youtube.com/watch?v=XMoULyiFDp4)
74 * When running async (GYRO or ALL), gyro update will stick to PID loop frequency even if the configurator reports an higher frequency. You can check this via `tasks` command in CLI. It's strongly recommended not to run async and synchronize looptime to gyroscope.  ([#3628])
77 ## New mixer and mixer GUI
79 Starting from INAV 2.0.0, there are no predefined mixers on the firmware side: CLI command `mixer QUADX` will just not work. Mixer has to be configured using INAV Configurator 2.0 with __Mixer__ tab.
81 Restoring from previous releases via CLI will not work correctly. Please use _Configurator 2.0_ mixer tab to configure it from scratch.
83 See [https://www.youtube.com/watch?v=0cLFu-5syi0](https://www.youtube.com/watch?v=0cLFu-5syi0) 
85 It is no longer necessary to use `smix reverse` to reverse a tricopter tail servo; this can be done in the 2.0 Configurator or with the CLI `smix 0 5 2 -100 0`.
88 ## Added `NAV CRUISE` flight mode (fixed wing)
90 This release introduces the new `NAV CRUISE` flight mode. When enabled the machine will try to maintain the current heading and compensate for any external disturbances (2D CRUISE). User can adjust the flight direction directly with ROLL stick or with the YAW stick ( `nav_fw_cruise_yaw_rate` set the yawing rate at full stick deflection ). The latter will offer a smoother way to adjust the flight direction. If the mode is enabled in conjunction with `NAV ALTHOLD` also the current altitude will be maintained (3D CRUISE). Altitude can be adjusted, as usual, via the pitch stick. In both modes `ANGLE` mode is active and the plane will stay leveled.
92 ## OSD improvements
94 OSD functionally got overhauled and improved. Now it is possible to have three OSD layouts and switch between them via an RC channel. Furthermore new two modes have been added: `map` and `radar`.
96 * `map` mode draws the home centered, while the craft moves around. There are two available maps: one with the North pointing up and another one with the takeoff direction pointing up.
97 * `radar` mode draws the craft in the center and the home moving around.
99 Those modes will enable the display of other aircraft flying in the vicinity in a future releases.
101 It is now possible to display a lot of new data on the OSD:
102 - All the values adjustable in flight via RC. When a value is selected for adjustment it starts blinking. This means it is possible to select a lot of adjustments with a pot for example and know easily which one is being adjusted.
103 - Wind estimation
104 - Numeric attitude angles
105 - Cruise mode heading info
106 - Numeric heading to home
107 - New battery related data: estimated remaining time and distance before having to head home, sag compensated battery voltage, estimated battery impedance
108 - Outputs of the PID controllers
110 ## Added full VTX control via Smart Audio / TRAMP
112 User can now select VTX settings from the configurator or via the OSD CMS. Furthermore `vtx_low_power_disarm` setting has been added. Setting it to `ON` will set the power to its minimum value on startup (usually 25mW) and increase it to `vtx_power` when arming and change it back to its lowest setting after disarming. Note that this setting can jeopardize the ability to find a lost quad using a strong signal coming from the VTX but on the other way it can prevent the VTX to overheat if you do quick flight cycles on the same battery.
113  `UNTIL_FIRST_ARM` will set the VTX to its minimum power, but once the craft is armed it will increase the output power to `vtx_power` and it will never decrease until the craft is power cycled. `OFF` will make the power output always to be set to the `vtx_power` setting.
115 ## Wind Estimation for Fixed Wing 
117 It is possible to show estimated wind speed and direction on the OSD. In particular both lateral and vertical indicators are present. This is an experimental feature, you are encouraged to use it and report any anomalies in the estimated wind speed.
119 ## Battery management related features
121 These features have been added for helping with the battery management:
122 - Battery profile with optional automatic switching
123 - Sag compensated battery voltage and battery impedance calculation
124 - Estimation of the remaining flight time and distance before having to head home
125 - Automatic compensation of throttle command based on battery voltage to help maintain constant thrust regardless of the battery voltage
126 - The current sensor can be calibrated more accurately (increased offset voltage resolution: 0.1mV instead of 1mV). If you'd like to keep your `current_meter_offset` value from an old config you need to multiply it by 10).
128 You can read more about these feature in the [battery documentation](/iNavFlight/inav/blob/development/docs/Battery.md)
130 ## CLI parameter renaming / new parameters
132 | Name               | Description                                                    |
133 |------------------------|----------------------------------------------------------------|
134 | `nav_fw_cruise_yaw_rate` |  Max YAW rate when NAV CRUISE mode is enabled (0=disable control via yaw stick) [dps] |
135 | `gyro_stage2_lowpass_hz`      | Software based second stage lowpass filter for gyro. Value is cutoff frequency (Hz). Currently experimental
136 | `name`  | The craft name is now a `set` value. `name MYCRAFT` is replaced by `set name = MYCRAFT`.
137 | `switch_disarm_delay` | Defines a delay for switch disarming setting (default 150ms, PR #3118) **For better safety, a value of at least 250ms is recommended**
138 | `inav_reset_home` | Defines when the home position is automatically reset, default is `EACH_ARM`. Allowed values: `NEVER`, `FIRST_ARM`, `EACH_ARM`
139 | `model_preview_type`  | Defines the aircraft type. This is advisory for display purposes only (Configurator, Ground Control Stations) and has no affect on aircraft behaviour. This setting takes the numeric values equivalent to the old 'mixer'. |
140 | `platform_type` | Defines the aircraft (vehicle) type. This value affects the vehicle performance. Default is `MULTIROTOR`, allowed values: `MULTIROTOR`, `AIRPLANE`, `HELICOPTER`, `TRICOPTER`, `ROVER`, `BOAT`. Only `MULTIROTOR`, `AIRPLANE` and `TRICOPTER` are implemented in iNav 2.0. |
141 |  has_flaps | Defines is UAV is capable of having flaps. If ON and AIRPLANE `platform_type` is used, **FLAPERON** flight mode will be available for the pilot  |
142 |  vtx_band  | Configure the VTX band. Set to zero to use `vtx_freq`. Bands: 1: A, 2: B, 3: E, 4: F, 5: Race. |
143 |  vtx_channel | Channel to use within the configured `vtx_band`. Valid values are [1, 8]. |
144 |  vtx_freq  | Set the VTX frequency using raw MHz. This parameter is ignored unless `vtx_band` is 0. |
145 |  vtx_halfduplex  | Use half duplex UART to communicate with the VTX, using only a TX pin in the FC. |
146 |  vtx_low_power_disarm  | When the craft is disarmed, set the VTX to its lowest power. `ON` will set the power to its minimum value on startup, increase it to `vtx_power` when arming and change it back to its lowest setting after disarming. `UNTIL_FIRST_ARM` will start with minimum power, but once the craft is armed it will increase to `vtx_power` and it will never decrease until the craft is power cycled. |
147 |  vtx_pit_mode_freq  | Frequency to use (in MHz) when the VTX is in pit mode. |
148 |  vtx_power  | VTX RF power level to use. The exact number of mw depends on the VTX hardware. |
149 |  nav_rth_home_altitude | Aircraft will climb/descend to this altitude after reaching home if landing is not enabled. Set to 0 to stay at `nav_rth_altitude` (default) [cm] |
150 |  nav_fw_cruise_speed | Speed for the plane/wing at cruise throttle used for remaining flight time/distance estimation in cm/s |
151 |  cruise_power | Power draw at cruise throttle used for remaining flight time/distance estimation in 0.01W unit |
152 |  idle_power  | Power draw at zero throttle used for remaining flight time/distance estimation in 0.01W unit |
153 |  rth_energy_margin | Energy margin wanted after getting home (percent of battery energy capacity). Use for the remaining flight time/distance calculation |
154 |  osd_estimations_wind_compensation | Use wind estimation for remaining flight time/distance estimation |
155 |  nav_fw_allow_manual_thr_increase | Enable the possibility to manually increase the throttle in auto throttle controlled modes for fixed wing |
156 |  bat_voltage_src | Chose between raw and sag compensated battery voltage to use for battery alarms and telemetry. Possible values are `RAW` and `SAG_COMP` |
157 |  bat_cells | Number of cells of the battery (0 = autodetect), see battery documentation |
158 |  vbat_cell_detect_voltage | Maximum voltage per cell, used for auto-detecting the number of cells of the battery in 0.01V units, default is 4.30V |
159 |  align_opflow | Optical flow module alignment (default CW0_DEG_FLIP) |
160 |  fw_min_throttle_down_pitch | Automatic pitch down angle when throttle is at 0 in angle mode. Progressively applied between cruise throttle and zero throttle |
161 |  tz_automatic_dst | Automatically add Daylight Saving Time to the GPS time when needed or simply ignore it. Includes presets for EU and the USA - if you live outside these areas it is suggested to manage DST manually via `tz_offset`. |
162 | motor_accel_time | Minimum time for the motor(s) to accelerate from 0 to 100% throttle (ms) [0-1000] |
163 | motor_decel_time | Minimum time for the motor(s) to deccelerate from 100 to 0% throttle (ms) [0-1000] |
164 | thr_comp_weight | Weight used for the throttle compensation based on battery voltage. |
165 | nav_overrides_motor_stop | Setting to OFF combined with MOTOR_STOP feature will allow user to stop motor when in autonomous modes. On most planes this setting is likely to cause a stall. Use caution |
167 ## New boards
169 * Added support for MATEKF411 mini and MATEKF411-WING ([@fiam], [#3146])
170 * Added support for DALRCF405 ([@nyway], [#3184])
171 * Add CLRACINGF4AIRV3 to CLRACINGF4AIR target ([@bnn1044], [#3239])
173 ## New features
175 * Added support for wind estimation on fixed wing aircrafts ([@fiam] [@giacomo892], [#2450] [#3522])
176 * Added support for multiple OSD layouts, make all OSD items and alarms configurable via CMS ([@fiam], [#2955] [#3264] [#3420] [#3351] [#3330] [#3305])
177 * Added Automatic Daylight Saving Time support ([@nmaggioni], [#3072] [#3262])
178 * Added Map and Radar modes to OSD ([@fiam], [#3178] [#3196] [#3241] [#3385] [#3337])
179 * New SBUS driver compatible with FrSky R9 receivers ( [@digitalentity] ,  [#3110] )
180 * Gyro stage 2 filter (FIR2) ported from Betaflight ( [@DzikuVx] ,  [#3191] [#3208] )
181 * __Experimental__ Terrain Following mode (aka `SURFACE` mode). If `AltHold` mode is enabled together with `SURFACE` mode, UAV will try to keep ground altitude reported by rangefinder instead of baro/GPS absolute altitude. ([@digitalentity], [#3202])
182 * __Experimental__ OPFLOW mode, which allows navigation for by tracking the floor rather than using GPS ([@digitalentity], [#3164])
183 * Added `NAV CRUISE` flight mode (fixed wing) ( [@giacomo892] , [@shellixyz] ,  [#3311] [#3458])
184 * New VTX features, like automatic power switching when arm/disarm ([@fiam] , [#3401])
185 * Battery profiles ([@shellixyz], [#2749] [#3366])
186 * Display of estimated remaining flight time and distance on the OSD ([@shellixyz], [#2863] [#3465])
187 * FW: Allow manual throttle increase in auto controlled modes ([@shellixyz], [#3278])
188 * FW: Automatically pitch down in angle mode when throttle is bellow cruise throttle ([@shellixyz], [#3290])
189 * FW: Disable ALTHOLD on user motor stop request (throttle bellow `min_check`) ([@shellixyz], [#3298])
190 * Sag compensated battery voltage and voltage based throttle compensation ([@shellixyz], [#3319] [#3364] [#3365] [#3367] [#3375] [#3377] [#3414] [#3481] [#3486])
191 * Detect accelerometer vibration ([@digitalentity], [#3210])
192 * Possibility to stop motor manually (aka MOTOR_STOP) in navigation modes ([@digitalentity], [#3349])
193 * Add support for LIS3MDL compass sensor ([@bforbort], [#3683])
194 * Check settings for respecting min/max values at boot time ([@fiam], [#3619])
196 ## Improvements
198 * Replace rssi_scale and rssi_invert with rssi_min and rssi_max ([@fiam] , [#3613])
199 * Multirotor acro performance improved ([@digitalentity] , [#2893])
200 * Increased current sensor voltage offset resolution ([@shellixyz], [#2945])
201 * Add driver for BOSCH BMI180 gyro ([@digitalentity], [#2951])
202 * Mixer refactoring - FC is now unaware of anything besides mixer rules ( [@DzikuVx] , [#2978] )
203 * Added support for IST8308 compass ([@McGiverGim], [#3039])
204 * Fixed wing Autotrim does not dive /climb /roll  after Autotrim is done ( [@DzikuVx] , [#3104] )
205 * Modify FrSky D-series telemetry for compatibility with Lua script ([@alexeystn], [#3116])
206 * Refactor timer drivers to simplify target definitions ([@digitalentity], [#3120])
207 * Make the delay for disarming via switch configurable ([@digitalentity] [@stronnag], [#3118] [#3478])
208 * Add `watts` symbol to OSD font ([@alexeystn], [#3132])
209 * Make cell count detection more robust ([@shellixyz], [#3166])
210 * Stop the battery alarm after disarming ([@shellixyz], [#3168])
211 * Add pitch and roll angles to the OSD ([@shellixyz], [#3169])
212 * gcc 8 support ([@stronnag], [#3172])
213 * Prepend home icon to the distance to home in the OSD ([@fiam], [#3173])
214 * Add new parameter for controlling how the home position is reset ([@fiam], [#3183])
215 * Add driver for LPS25HB barometers ([@digitalentity], [#3192])
216 * Add support for displaying the debug[] array in the OSD ([@fiam], [#3197])
217 * Configure accelerometers in 16G mode ([@digitalentity], [#3203])
218 * Send GPS related sensors via Smarport and FPort even before a GPS fix is acquired ([@fiam], [#3207])
219 * Add SOFTSERIAL support on TX6 for OMNIBUSF4V3 target ([@krzysztofmatula], [#3222])
220 * Increase maximum value displayed by the OSD efficiency indicator ([@shellixyz], [#3237])
221 * Make the ROLL/PITCH/YAW PID values blink in the OSD when the corresponding RC adjustment is selected ([@shellixyz] [@fiam], [#3252] [#3454] [#3408] [#3409])
222 * Added support for limiting throttle rate ([@digitalentity], [#3257])
223 * make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type ([@teckel12], [#3265])
224 * tidy up blackbox formatting of dterm_setpoint_weight ([@stronnag], [#3266])
225 * ADC samples averaging ([@mluessi], [#3268])
226 * Fix NAV_STATE enum values ([@fiam], [#3274])
227 * Move build-stamp and generated files to obj/main/$(TARGET) ([@fiam], [#3275])
228 * Improve attitude angle OSD display ([@shellixyz], [#3281])
229 * Add MPU6000 support to FIREWORKSV2 target ([@digitalentity], [#3294])
230 * NAV_LAUNCH extra safety ([@giacomo892], [#3303])
231 * Disable arming in AH for FW unless launch mode is enabled ([@giacomo892], [#3304])
232 * Disable RC adjustments while in FAILSAFE mode ([@shellixyz], [#3318])
233 * Add BB logging of FW navigation PIDs ([@shellixyz], [#3326] [#3396] [#3492])
234 * Fix ALTHOLD initial climb when enabled ([@shellixyz], [#3327])
235 * I2C rangefinder rename and docs update ([@DzikuVx], [#3328])
236 * Cleanup of unused functions ([@DzikuVx], [#3331])
237 * Round rather than truncate when updating GPS_directionToHome ([@fiam], [#3336])
238 * Refactor position estimation code. Add support for optic flow for position estimation ([@digitalentity], [#3350])
239 * FW: Require turn assistant for nav modes using NAV_CTL_ALT ([@shellixyz], [#3379])
240 * Add cruise mode heading adjustment and heading error OSD indicators ([@shellixyz], [#3380])
241 * nav_fw_pitch2thr description adjustment ([@danarrib], [#3382])
242 * Make the OSD home arrow closer to the actual home direction ([@fiam], [#3387])
243 * Improve video system selection ([@shellixyz], [#3392])
244 * Add adjustments and corresponding OSD items ([@shellixyz] [@fiam], [#3393] [#3410])
245 * Lighten OMNIBUS (F3) target  ([@shellixyz], [#3394])
246 * Add OSD items to display nav PIDs outputs ([@shellixyz], [#3395])
247 * Add OSD item to show heading correction to go home ([@shellixyz], [#3411])
248 * Add support for string settings, make "name" a setting rather an a CLI command ([@fiam], [#3428] [#3461])
249 * Implement the nav_rth_home_altitude setting ([@shellixyz], [#3431])
250 * When editing PID profiles from CMS, change the profile immediately ([@fiam], [#3433])
251 * Disable RC adjustments when the trigger channel goes out of the range ([@fiam], [#3443])
252 * Better GPS accuracy reading for FrSky telemetry ([@teckel12], [#3446])
253 * MATEKF722 updates from @MATEKSYS ([@fiam], [#3452])
254 * Add support for builds with a version suffix ([@fiam], [#3460])
255 * Add LEDSTRIP support to SPRACINGF3NEO target ([@Garogat], [#3475])
256 * Fix broken tests, require them to pass in Travis checks ([@fiam], [#3504])
257 * Replace feature(FEATURE_CURRENT_METER) by isAmperageConfigured() where it makes sense ([@shellixyz], [#3510])
258 * The `failsafe_throttle_low_delay` setting default is now 0 ([@shellixyz], [#3512])
259 * Remove posZ constrain to int16 for BB ([@giacomo892], [#3513])
260 * Log estimated wind to blackbox ([@giacomo892], [#3522])
262 ## Removed features:
264 * Feature `CHANNEL_FORWARDING` has been removed, it can be implemented using new mixer GUI in Configurator
265 * Feature `SERVO_GIMBAL` has been removed, it can be implemented using new mixer GUI in Configurator
266 * The `mid_rc` CLI variable has been removed, and the setting removed from the configurator. If necessary (e.g.Futaba TX), the same effect can be achieved using `rxrange` settings.
268 ## Bugfixes
270 * Avoid to delete navigation modes if MAG is not available ([@shellixyz], [#2984])
271 * Prevent out of time ARMED message in the OSD when arming with the OSD disabled ([@shellixyz], [#3098])
272 * Allow using CMS while OSD is disabled ([@shellixyz], [#3099])
273 * Fix current sensor overflow ([@shellixyz], [#3131])
274 * Remove YAW inversion in 3D mode for vehicles that don't need it ([@eephyne], [#3128])
275 * Fix vertical alignment of ARMED screen in OSD when using NTSC ([@fiam], [#3149])
276 * Make the total trip distance OSD item work when no current sensor is present ([@shellixyz], [#3163])
277 * Add missing OSD alarm settings from CLI ([@shellixyz], [#3182])
278 * Fix "sensor lost" problems when using FPort telemetry ([@fiam], [#3206])
279 * MATEKF405: As requested in #3223 S5 is no longer used for FW servos ([@DzikuVx], [#3224])
280 * Fix outputs 5 and 6 in SPRACINGF3 ([@shellixyz], [#3236])
281 * Correct home yaw when a valid heading is acquired ([@fiam], [#3247])
282 * Fix logging of negative altitudes in BlackBox logs ([@stronnag], [#3250])
283 * Properly round servo values after applying servo filtering ([@fiam], [#3276])
284 * Fix and simplify `applyFixedWingPitchRollThrottleController()` ([@shellixyz], [#3297])
285 * change year base for RTC time_t to correct leap processing ([@stronnag], [#3307])
286 * Make FPort stop one sensor cycle every 3 ([@fiam], [#3308])
287 * Fix RTH hover above home (can't keep altitude) ([@shellixyz], [#3332])
288 * Fix FF_PIKOF4 and FF_PIKOF4OSD targets ([@shellixyz], [#3333])
289 * remove unneeded rxConfig from sbusChannelsInit and fix up callers ([@stronnag], [#3338])
290 * Fix potential overflow in energy metering ([@shellixyz], [#3342])
291 * Reset disarm reason at moment of arming ([@digitalentity], [#3360])
292 * Fix support for AK8975 MAG ([@fiam], [#3413])
293 * Gyro SPI bus fix according to OmnibusF4-nano v8 schematics ([@digitalentity], [#3426])
294 * Fix VTX device type reported via MSP ([@fiam], [#3429])
295 * Add missing break when adjusting ADJUSTMENT_RC_YAW_EXPO ([@fiam], [#3430])
296 * Work around compiler bug, fix MSP2_INAV_ANALOG and convert amperage from int32_t to int16_t ([@shellixyz], [#3469])
297 * Prevent time comparison overflow in S.Port driver ([@fiam], [#3536])
298 * Fix automatic DST support ([@fiam], [#3542])
299 * PWM driver - startup value fix (fixes servo twitching at startup) ([@marbalon], [#3540])
300 * Fix FrSky HDOP range ([@teckel12], [#3519])
301 * Fix division by 0 in generateThrottleCurve() ([@shellixyz], [#3502])
302 * Fix current BB logging and improve battery code ([@shellixyz], [#3490])
303 * Add definition for MAX_SPI_SPEED to limit spi seed if defined for target ([@marbalon], [#3532])
304 * Fix incorrect axis convention (incompliance with datasheet) for IST8310 compass ([@digitalentity], [#3546])
305 * Fix a rare edge case where RC receiver failsafe channel values may leak into AUX mode switching and cause a disarm ([@digitalentity], [#3482])
306 * Add workaround for AKK VTX with S.Audio bug ([@fiam], [#3633])
307 * Fix orientation of the drivers for AK8963, AK8975 and MPU9250 MAG ([@fiam], [#3447])
308 * Fix PCA9685 support ([@DzikuVx], [#3744])
310 ## Developer Notes
312 Due to a beneficial change in the build environment (generated files are stored per target, not in a common area), it is necessary to remove a couple of files from any older branches (these files are generated automatically by the build).
314 # on a Posix O/S
315 rm -f src/main/fc/settings_generated.[ch]
318 [@alexeystn]: https://github.com/alexeystn
319 [@digitalentity]: https://github.com/digitalentity
320 [@DzikuVx]: https://github.com/DzikuVx
321 [@eephyne]: https://github.com/eephyne
322 [@fiam]: https://github.com/fiam
323 [@giacomo892]: https://github.com/giacomo892
324 [@hali9]: https://github.com/hali9
325 [@nmaggioni]: https://github.com/nmaggioni
326 [@nyway]: https://github.com/nyway
327 [@shellixyz]: https://github.com/shellixyz
328 [@stronnag]: https://github.com/stronnag
329 [@mluessi]: https://github.com/mluessi
330 [@Garogat]: https://github.com/Garogat
331 [@teckel12]: https://github.com/teckel12
332 [@bnn1044]: https://github.com/bnn1044
333 [@krzysztofmatula]: https://github.com/krzysztofmatula
334 [@danarrib]: https://github.com/danarrib
335 [@marbalon]: https://github.com/marbalon
337 [#2450]: https://github.com/iNavFlight/inav/pull/2450
338 [#2893]: https://github.com/iNavFlight/inav/pull/2893
339 [#2951]: https://github.com/iNavFlight/inav/pull/2951
340 [#2955]: https://github.com/iNavFlight/inav/pull/2955
341 [#2978]: https://github.com/iNavFlight/inav/pull/2978
342 [#2995]: https://github.com/iNavFlight/inav/pull/2995
343 [#3039]: https://github.com/iNavFlight/inav/pull/3039
344 [#3072]: https://github.com/iNavFlight/inav/pull/3072
345 [#3098]: https://github.com/iNavFlight/inav/pull/3098
346 [#3099]: https://github.com/iNavFlight/inav/pull/3099
347 [#3104]: https://github.com/iNavFlight/inav/pull/3104
348 [#3110]: https://github.com/iNavFlight/inav/pull/3110
349 [#3118]: https://github.com/iNavFlight/inav/pull/3118
350 [#3120]: https://github.com/iNavFlight/inav/pull/3120
351 [#3128]: https://github.com/iNavFlight/inav/pull/3128
352 [#3131]: https://github.com/iNavFlight/inav/pull/3131
353 [#3132]: https://github.com/iNavFlight/inav/pull/3132
354 [#3146]: https://github.com/iNavFlight/inav/pull/3146
355 [#3149]: https://github.com/iNavFlight/inav/pull/3149
356 [#3163]: https://github.com/iNavFlight/inav/pull/3163
357 [#3164]: https://github.com/iNavFlight/inav/pull/3164
358 [#3166]: https://github.com/iNavFlight/inav/pull/3166
359 [#3169]: https://github.com/iNavFlight/inav/pull/3169
360 [#3173]: https://github.com/iNavFlight/inav/pull/3173
361 [#3178]: https://github.com/iNavFlight/inav/pull/3178
362 [#3183]: https://github.com/iNavFlight/inav/pull/3183
363 [#3184]: https://github.com/iNavFlight/inav/pull/3184
364 [#3191]: https://github.com/iNavFlight/inav/pull/3191
365 [#3192]: https://github.com/iNavFlight/inav/pull/3192
366 [#3196]: https://github.com/iNavFlight/inav/pull/3196
367 [#3202]: https://github.com/iNavFlight/inav/pull/3202
368 [#3203]: https://github.com/iNavFlight/inav/pull/3203
369 [#3206]: https://github.com/iNavFlight/inav/pull/3206
370 [#3207]: https://github.com/iNavFlight/inav/pull/3207
371 [#3208]: https://github.com/iNavFlight/inav/pull/3208
372 [#3236]: https://github.com/iNavFlight/inav/pull/3236
373 [#3237]: https://github.com/iNavFlight/inav/pull/3237
374 [#3241]: https://github.com/iNavFlight/inav/pull/3241
375 [#3250]: https://github.com/iNavFlight/inav/pull/3250
376 [#3257]: https://github.com/iNavFlight/inav/pull/3257
377 [#3262]: https://github.com/iNavFlight/inav/pull/3262
378 [#3264]: https://github.com/iNavFlight/inav/pull/3264
379 [#3276]: https://github.com/iNavFlight/inav/pull/3276
380 [#3311]: https://github.com/iNavFlight/inav/pull/3311 
381 [#2984]: https://github.com/iNavFlight/inav/pull/2984
382 [#3512]: https://github.com/iNavFlight/inav/pull/3512
383 [#2749]: https://github.com/iNavFlight/inav/pull/2749
384 [#2863]: https://github.com/iNavFlight/inav/pull/2863
385 [#2945]: https://github.com/iNavFlight/inav/pull/2945
386 [#3168]: https://github.com/iNavFlight/inav/pull/3168
387 [#3182]: https://github.com/iNavFlight/inav/pull/3182
388 [#3252]: https://github.com/iNavFlight/inav/pull/3252
389 [#3268]: https://github.com/iNavFlight/inav/pull/3268
390 [#3278]: https://github.com/iNavFlight/inav/pull/3278
391 [#3290]: https://github.com/iNavFlight/inav/pull/3290
392 [#3298]: https://github.com/iNavFlight/inav/pull/3298
393 [#3318]: https://github.com/iNavFlight/inav/pull/3318
394 [#3319]: https://github.com/iNavFlight/inav/pull/3319
395 [#3326]: https://github.com/iNavFlight/inav/pull/3326
396 [#3327]: https://github.com/iNavFlight/inav/pull/3327
397 [#3332]: https://github.com/iNavFlight/inav/pull/3332
398 [#3333]: https://github.com/iNavFlight/inav/pull/3333
399 [#3342]: https://github.com/iNavFlight/inav/pull/3342
400 [#3364]: https://github.com/iNavFlight/inav/pull/3364
401 [#3365]: https://github.com/iNavFlight/inav/pull/3365
402 [#3366]: https://github.com/iNavFlight/inav/pull/3366
403 [#3367]: https://github.com/iNavFlight/inav/pull/3367
404 [#3375]: https://github.com/iNavFlight/inav/pull/3375
405 [#3377]: https://github.com/iNavFlight/inav/pull/3377
406 [#3379]: https://github.com/iNavFlight/inav/pull/3379
407 [#3380]: https://github.com/iNavFlight/inav/pull/3380
408 [#3392]: https://github.com/iNavFlight/inav/pull/3392
409 [#3393]: https://github.com/iNavFlight/inav/pull/3393
410 [#3394]: https://github.com/iNavFlight/inav/pull/3394
411 [#3395]: https://github.com/iNavFlight/inav/pull/3395
412 [#3396]: https://github.com/iNavFlight/inav/pull/3396
413 [#3411]: https://github.com/iNavFlight/inav/pull/3411
414 [#3414]: https://github.com/iNavFlight/inav/pull/3414
415 [#3431]: https://github.com/iNavFlight/inav/pull/3431
416 [#3454]: https://github.com/iNavFlight/inav/pull/3454
417 [#3458]: https://github.com/iNavFlight/inav/pull/3458
418 [#3465]: https://github.com/iNavFlight/inav/pull/3465
419 [#3469]: https://github.com/iNavFlight/inav/pull/3469
420 [#3481]: https://github.com/iNavFlight/inav/pull/3481
421 [#3486]: https://github.com/iNavFlight/inav/pull/3486
422 [#3492]: https://github.com/iNavFlight/inav/pull/3492
423 [#3510]: https://github.com/iNavFlight/inav/pull/3510
424 [#3197]: https://github.com/iNavFlight/inav/pull/3197
425 [#3504]: https://github.com/iNavFlight/inav/pull/3504
426 [#3478]: https://github.com/iNavFlight/inav/pull/3478
427 [#3443]: https://github.com/iNavFlight/inav/pull/3443
428 [#3475]: https://github.com/iNavFlight/inav/pull/3475
429 [#3446]: https://github.com/iNavFlight/inav/pull/3446
430 [#3460]: https://github.com/iNavFlight/inav/pull/3460
431 [#3428]: https://github.com/iNavFlight/inav/pull/3428
432 [#3461]: https://github.com/iNavFlight/inav/pull/3461
433 [#3452]: https://github.com/iNavFlight/inav/pull/3452
434 [#3239]: https://github.com/iNavFlight/inav/pull/3239
435 [#3222]: https://github.com/iNavFlight/inav/pull/3222
436 [#3413]: https://github.com/iNavFlight/inav/pull/3413
437 [#3426]: https://github.com/iNavFlight/inav/pull/3426
438 [#3433]: https://github.com/iNavFlight/inav/pull/3433
439 [#3430]: https://github.com/iNavFlight/inav/pull/3430
440 [#3429]: https://github.com/iNavFlight/inav/pull/3429
441 [#3410]: https://github.com/iNavFlight/inav/pull/3410
442 [#3420]: https://github.com/iNavFlight/inav/pull/3420
443 [#3385]: https://github.com/iNavFlight/inav/pull/3385
444 [#3387]: https://github.com/iNavFlight/inav/pull/3387
445 [#3116]: https://github.com/iNavFlight/inav/pull/3116
446 [#3408]: https://github.com/iNavFlight/inav/pull/3408
447 [#3409]: https://github.com/iNavFlight/inav/pull/3409
448 [#3382]: https://github.com/iNavFlight/inav/pull/3382
449 [#3281]: https://github.com/iNavFlight/inav/pull/3281
450 [#3210]: https://github.com/iNavFlight/inav/pull/3210
451 [#3294]: https://github.com/iNavFlight/inav/pull/3294
452 [#3336]: https://github.com/iNavFlight/inav/pull/3336
453 [#3360]: https://github.com/iNavFlight/inav/pull/3360
454 [#3350]: https://github.com/iNavFlight/inav/pull/3350
455 [#3351]: https://github.com/iNavFlight/inav/pull/3351
456 [#3224]: https://github.com/iNavFlight/inav/pull/3224
457 [#3297]: https://github.com/iNavFlight/inav/pull/3297
458 [#3308]: https://github.com/iNavFlight/inav/pull/3308
459 [#3172]: https://github.com/iNavFlight/inav/pull/3172
460 [#3266]: https://github.com/iNavFlight/inav/pull/3266
461 [#3337]: https://github.com/iNavFlight/inav/pull/3337
462 [#3338]: https://github.com/iNavFlight/inav/pull/3338
463 [#3307]: https://github.com/iNavFlight/inav/pull/3307
464 [#3330]: https://github.com/iNavFlight/inav/pull/3330
465 [#3331]: https://github.com/iNavFlight/inav/pull/3331
466 [#3247]: https://github.com/iNavFlight/inav/pull/3247
467 [#3305]: https://github.com/iNavFlight/inav/pull/3305
468 [#3328]: https://github.com/iNavFlight/inav/pull/3328
469 [#3265]: https://github.com/iNavFlight/inav/pull/3265
470 [#3303]: https://github.com/iNavFlight/inav/pull/3303
471 [#3304]: https://github.com/iNavFlight/inav/pull/3304
472 [#3274]: https://github.com/iNavFlight/inav/pull/3274
473 [#3275]: https://github.com/iNavFlight/inav/pull/3275
474 [#3401]: https://github.com/iNavFlight/inav/pull/3401
475 [#3536]: https://github.com/iNavFlight/inav/pull/3536
476 [#3542]: https://github.com/iNavFlight/inav/pull/3542
477 [#3519]: https://github.com/iNavFlight/inav/pull/3519
478 [#3490]: https://github.com/iNavFlight/inav/pull/3490
479 [#3502]: https://github.com/iNavFlight/inav/pull/3502
480 [#3522]: https://github.com/iNavFlight/inav/pull/3522
481 [#3532]: https://github.com/iNavFlight/inav/pull/3532
482 [#3513]: https://github.com/iNavFlight/inav/pull/3513
483 [#3546]: https://github.com/iNavFlight/inav/pull/3546
484 [#3522]: https://github.com/iNavFlight/inav/pull/3522
485 [#3563]: https://github.com/iNavFlight/inav/issues/3563
486 [#3349]: https://github.com/iNavFlight/inav/pull/3349
487 [#3628]: https://github.com/iNavFlight/inav/issues/3628
489 [here]: https://github.com/iNavFlight/inav-configurator/releases