Updated Lightweight Telemetry (LTM) (markdown)
[inav.wiki.git] / 2.1.0-Release-Notes.md
blobf7ad8a45d801269a49dbe558daf9b8f4e2cd5d41
1 Hello and welcome to INAV 2.1.0 Release!
3 Please carefully read all of this document for the best possible 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   </tbody>
18 </table>
20 Support developers for free by checking out from the following stores after having clicked on the following links:
22 <table>
23   <tbody>
24     <tr>
25       <td><img src="https://lh3.googleusercontent.com/TiHXyUiZ2COk7OmceBgo1qeRN2APAjWL5qUydGc-U3LqkJb3n13EhYEJ8Dpz_IACNHU" width="55"></td>
26       <td><a href="https://inavflight.com/shop/u/bg">Support us on Banggood</a></td>
27     </tr>
28   </tbody>
29 </table>
31 ## Important Notes
33 1. INAV 2.1 is the last release of INAV that fully supports **F3** and especially **Omnibus F3** boards. Due to the lack of flash and RAM, future versions of INAV will either remove functions on F3 or not support those boards at all. STM32F3 are strongly discouraged for new builds and existing builds should be upgraded to F7 boards
34 2. Feature **AIRMODE** is enabled by default on all targets! There is no need to change that on _Fixed Wings_ at all. On _Multirotors_, if there a need to do so, users might disable it and enable _AIRMODE_ as a flight mode on a switch like before. In the majority of the cases, _AIRMODE_ can be enabled on _Multirotors_ all the time. The two cases when a user might make it conditional are: usage of MOTOR_STOP or disabling for landing.
35 3. ASYNC processing is gone. Gyro/Acc updates now happens in sync with the control loop.
36 4. **DSHOT** is one of the new features of INAV 2.1. A digital protocol, like what DSHOT is, can substain a certain amount of noise with no performance degradation and allows a very smooth motor output. This comes at the cost of not offering a way in between a perfectly working setup or a not working one! (Think for instance to you Digital Television!).
37 DSHOT requires a very clean setup and short ESC signal wires run. You might find your DSHOT setup perfectly working on the bench and failing when flying. If you are unsure about your setup just stick with analog protocols like ONESHOT or MULTISHOT. More on the topic can be found [here](https://www.youtube.com/watch?v=TVkBNhii9sw)
38 5. On fixed wing aircrafts, if a compass is present and enabled, it will used as the only source of heading ignoring GPS course on ground information. 
40 ## Upgrading from 2.0.0
42 1. Be sure to run the latest INAV 2.1 Configuration release. Download from [here](https://github.com/iNavFlight/inav-configurator/releases).
43 2. Go to the CLI tab and copy and paste the `diff` output to a text file for later usage. 
44 3. Flash INAV 2.1.0 enabling **full chip erase** . Now you FC should run INAV 2.1.0 Connect again and check the firmware version.
45 4. Go to CLI tab and paste all the contents you previously saved into a text file and press enter. Wait for it to finish. Type `save` and you should be good to go!
46 5. Go to the OSD tab, Font Manager and upload a new font to the board if you use the OSD feature.
47 6. Enjoy INAV 2.1.0 and explore its new features!
49 ## Upgrading from 1.9.X
51 1. Be sure to run the latest INAV 2.1 Configuration release. Download from [here](https://github.com/iNavFlight/inav-configurator/releases).
52 2. Go to the CLI tab and copy and paste the `diff` output to a text file for later usage. 
53 3. Go to the OSD tab and take a screenshot of the current layout
54 4. Flash INAV 2.1.0 enabling **full chip erase** . Now you FC should run INAV 2.0. Connect again and check the firmware version.
55 5. Go to the Mixer tab and load and apply your desired mixer.
56 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.
57 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.
58 8. Calibrate the accelerometer following the steps in the dedicated tab. Only first two steps need to be made in the right order.
59 9. Calibration of the magnetometer should be done at the field. The magnetic field indoors can be distorted and led to a bad calibration.
60 10. Restore manually your OSD layout using the screenshot and upload the font you like using the dedicated button.
61 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 behaves correctly when you are moving your model and check surfaces movements for an airplane.
62 12. Enjoy INAV 2.1.0 and explore its new features!
64 ## New targets:
66 * [Omnibus F4 Nano v6](https://inavflight.com/shop/s/bg/1320256)
67 * [Matek F722SE](https://inavflight.com/shop/s/bg/1379603)
68 * [Matek F722-WING](https://inavflight.com/shop/s/bg/1408793)
69 * [DYS F4Pro v2](https://inavflight.com/shop/s/bg/1136875)
70 * [Kakute F7](https://inavflight.com/shop/s/bg/1317570)
71 * [Matek F411 RSSI](https://inavflight.com/shop/p/MATEKF411WING)
72 * [Matek F411 with second software serial](https://inavflight.com/shop/p/MATEKF411WING)
73 * [Foxeer F405 AIO](https://inavflight.com/shop/s/bg/1309796)
74 * [Foxeer F722 DUAL](https://inavflight.com/shop/s/bg/1379605)
75 * [Betaflight F4 Nox](https://inavflight.com/shop/s/bg/1310419)
76 * [Wing FC](https://inavflight.com/shop/s/bg/1318626)
77 * SP Racing F7 Dual
78 * Kiss FC
80 ## Temperature sensors support
82 It is now possible to measure temperatures with the help of the I²C LM75 and 1-Wire DS18B20 chips. The temperature values can be displayed on the OSD and also logged. Up to 8 sensors supported. The support is enabled by default on F4 and F7 FCs. To use with F3 FCs you need to build a custom firmware. See the [documentation](https://github.com/iNavFlight/inav/blob/master/docs/Temperature%20sensors.md) for more information.
84 ## Servo mixer
86 The maximum rate for a servo mixer rule is now 1000% instead of 125%
88 ## CLI:
90 ### New
92 | Setting | Description |
93 | ----    | ------ |
94 | `rc_filter_frequency` | RC data biquad filter cutoff frequency. Lower cutoff frequencies result in smoother response at expense of command control delay. Practical values are 20-50. Set to zero to disable entirely and use unsmoothed RC stick values |
95 |`fw_iterm_limit_stick_position` |Iterm is not allowed to grow when stick position is above threshold. This solves the problem of bounceback or followthrough when full stick deflection is applied on poorely tuned fixed wings. In other words, stabilization is partialy disabled when pilot is actively controlling the aircraft and active when sticks are not touched. 0 mean stick is in center position, 1 means it is fully deflected to either side |
96 | `nav_mc_braking_speed_threshold` | min speed in cm/s above which braking can happen |
97 | `nav_mc_braking_disengage_speed` | braking is disabled when speed goes below this value |
98 | `nav_mc_braking_timeout` | timeout in ms for braking |
99 | `nav_mc_braking_boost_factor` | acceleration factor for BOOST phase |
100 | `nav_mc_braking_boost_timeout` |how long in ms BOOST phase can happen |
101 | `nav_mc_braking_boost_speed_threshold` | BOOST can be enabled when speed is above this value|
102 | `nav_mc_braking_boost_disengage_speed` | BOOST will be disabled when speed goes below this value |
103 | `nav_mc_braking_bank_angle` | max angle that MR is allowed to bank in BOOST mode |
104 | `osd_artificial_horizon_max_pitch` | Max pitch, in degrees, for OSD artificial horizon |
105 | `osd_failsafe_switch_layout` | If enabled the OSD automatically switches to the first layout during failsafe |
106 | `osd_imu_temp_alarm_min` | Temperature under which the IMU temperature OSD element will start blinking (decidegrees centigrade) |
107 | `osd_imu_temp_alarm_max` | Temperature above which the IMU temperature OSD element will start blinking (decidegrees centigrade) |
108 | `osd_baro_temp_alarm_min` | Temperature under which the baro temperature OSD element will start blinking (decidegrees centigrade) |
109 | `osd_baro_temp_alarm_max` | Temperature above which the baro temperature OSD element will start blinking (decidegrees centigrade) |
110 | `osd_temp_label_align` | Allows to chose between left and right alignment for the OSD temperature sensor labels |
112 ### Removed
114 | Setting | Description |
115 | ----    | ------ |
116 | `acc_task_frequency` | |
117 | `attitude_task_frequency` | |
118 | `async_mode` | |
119 | `smix reverse` | input reverse can be done on the mixer level |
121 ## Main changes
123 ### DSHOT
125 INAV 2.1 supports DSHOT ESC protocol. It can be configured using `motor_pwm_protocol` CLI setting. The following versions of DSHOT are supported:
127 * DSHOT150
128 * DSHOT300
129 * DSHOT600
130 * DSHOT1200
132 There is no DSHOT telemetry or DSHOT commands support yet!
134 Be advised that DSHOT is not well tested on INAV and because of being digital protocol can totally fail on setups with high electrical noise without giving any sign of degradation or motor stuttering. 
136 DSHOT is enabled on following targets:
137 * AIRBOTF4
138 * ASGARD32F4
139 * ASGARD32F7
140 * COLIBRI_RACE
141 * FIREWORKSV2
142 * FOXEERF405
143 * FOXEERF722DUAL
144 * SPRACINGF7DUAL 
145 * MATEKF405 (CTR, STD, not WING)
146 * MATEKF722
147 * MATEKF722SE
148 * OMNIBUSF4
149 * OMNIBUSF7NXT
150 * REVO
152 ### Multirotor braking mode
154 #### Requirements and setup
156 1. Multirotor has to be capable of running 3D Position Hold: GPS, Compass, and Baro are required
157 1. `MC BRAKING` flight mode has to be enabled
158 1. UAV has to be put into User Control Mode ***CRUISE***
160 ![01](https://user-images.githubusercontent.com/966811/45925090-1c005a80-bf0f-11e8-85a1-fce9537ee3b8.PNG)
162 ![02](https://user-images.githubusercontent.com/966811/45925091-1dca1e00-bf0f-11e8-8f20-416eb603107b.PNG)
164 #### Settings
166 * `nav_mc_braking_speed_threshold` - min speed in cm/s above which braking can happen
167 * `nav_mc_braking_disengage_speed` - braking is disabled when speed goes below this value
168 * `nav_mc_braking_timeout` - timeout in ms for braking
169 * `nav_mc_braking_boost_factor` - acceleration factor for `BOOST` phase
170 * `nav_mc_braking_boost_timeout` - how long in ms `BOOST` phase can happen
171 * `nav_mc_braking_boost_speed_threshold` - `BOOST` can be enabled when speed is above this value
172 * `nav_mc_braking_boost_disengage_speed` - `BOOST` will be disabled when speed goes below this value
173 * `nav_mc_braking_bank_angle` - max angle that MR is allowed to bank in BOOST mode
175 #### How it works:
177 1. There are two phases `BRAKE` and `BOOST`
178 1. `BRAKE` can be started then `MC BRAKING` mode is enabled, MR is in `CRUISE` mode, `3D PosHold` is enabled, MR is traveling above `nav_mc_braking_speed_threshold` and pilot releases sticks
179 1. INAV will store new PosHold position only when copter will stop, not when stricks are released
180 1. On top of that, `BOOST` phase can be enabled if MR is traveling above `nav_mc_braking_boost_speed_threshold`
181 1. in `BOOST` phase, MR is allowed to use higher acceleration and banking angle than normal. 
182 1. Because `BOOSTS` is limited in time, banking angle much higher than default should be fine
184 #### Tuning
186 Default values should be pretty safe to use. My 6" machine using following values:
189 set nav_mc_braking_speed_threshold = 100
190 set nav_mc_braking_disengage_speed = 50
191 set nav_mc_braking_timeout = 2000
192 set nav_mc_braking_boost_factor = 150
193 set nav_mc_braking_boost_timeout = 1000
194 set nav_mc_braking_boost_speed_threshold = 120
195 set nav_mc_braking_boost_disengage_speed = 75
196 set nav_mc_braking_bank_angle = 40
199 ## All changes:
201 * [Run-time calibration more accurate and more reliable](https://github.com/iNavFlight/inav/pull/4202)
202 * [Temperature sensor improvements and BB logging](https://github.com/iNavFlight/inav/pull/4282)
203 * [Make VL53L0X rangefinder init more reliable](https://github.com/iNavFlight/inav/pull/4276)
204 * [Fix altitude drop bug when initiating failsafe-RTH](https://github.com/iNavFlight/inav/pull/4245)
205 * [Improve TIM/DMA reliability](https://github.com/iNavFlight/inav/pull/4235)
206 * [Fix non-working AGL altitude estimation](https://github.com/iNavFlight/inav/pull/4196)
207 * [Speed up GPS autobaud on UBLOX GPS modules](https://github.com/iNavFlight/inav/pull/4193)
208 * [FPV camera tilt compensation](https://github.com/iNavFlight/inav/pull/3037)
209 * [Support for FFPV 2.4GHz VTX protocol](https://github.com/iNavFlight/inav/pull/4147)
210 * [Pitot sensor improvements](https://github.com/iNavFlight/inav/pull/3977)
211 * [Make sure failsafe RTH is exited when failsafe condition ends](https://github.com/iNavFlight/inav/pull/4166)
212 * [RC Lowpass filtering replaces interpolation](https://github.com/iNavFlight/inav/pull/3740)
213 * [1.5s Throttle Rampup for Autolaunch](https://github.com/iNavFlight/inav/pull/4082)
214 * [option to switch to default OSD layout during failsafe](https://github.com/iNavFlight/inav/pull/4064)
215 * [debug raw accelerometer readouts](https://github.com/iNavFlight/inav/pull/4045)
216 * [log GPS velNED in Blackbox logs](https://github.com/iNavFlight/inav/pull/4044)
217 * [3D GPS speed in OSD](https://github.com/iNavFlight/inav/pull/3941)
218 * [On fixed wings limit Iterm based on stick position](https://github.com/iNavFlight/inav/pull/4023) 
219 * [PINIO support](https://github.com/iNavFlight/inav/pull/4011)
220 * [fix power level 5 to be a valid setting - allow setting max power on all VTXes](https://github.com/iNavFlight/inav/pull/4008)
221 * [default GPS baud rate bumped to 115200](https://github.com/iNavFlight/inav/pull/3995)
222 * [refactored SPI/SDCARD support](https://github.com/iNavFlight/inav/pull/3984)
223 * Gyro temperature in [OSD](https://github.com/iNavFlight/inav/pull/3978) and [Blackbox](https://github.com/iNavFlight/inav/pull/3979)
224 * [AK8975 enabled on OmnibusF4](https://github.com/iNavFlight/inav/pull/3966)
225 * [gyro_sync enabled by default on all supporting targets](https://github.com/iNavFlight/inav/pull/3931)
226 * [async gyro/acc/attitude tasks removed](https://github.com/iNavFlight/inav/pull/3930)
227 * [Crossfire telemetry updates](https://github.com/iNavFlight/inav/pull/3912)
228 * [DSHOT support](https://github.com/iNavFlight/inav/pull/3879)
229 * [Refactored Timer/DMA framework](https://github.com/iNavFlight/inav/pull/3833)
230 * [battery percentage based on sag compensated voltage](https://github.com/iNavFlight/inav/pull/3804)
231 * [CAMSTAB servo logic fixed](https://github.com/iNavFlight/inav/pull/3800)
232 * [refactored OSD flight time logic](https://github.com/iNavFlight/inav/pull/3790)
233 * [NMEA altitude bug fix](https://github.com/iNavFlight/inav/pull/3778)
234 * [Benewake TFmini lidar support](https://github.com/iNavFlight/inav/pull/3725)
235 * [Improved AHI](https://github.com/iNavFlight/inav/pull/3641)
236 * [Multirotor braking mode](https://github.com/iNavFlight/inav/pull/3159)
237 * [Increase servo mix max rate](https://github.com/iNavFlight/inav/pull/4306)