Updated GPS and Compass setup (markdown)
[inav.wiki.git] / 2.6.0-Release-Notes.md
blobeed2c51135e268b1f31f7fb8de133f6174ddd931
1 ![](http://static.rcgroups.net/forums/attachments/6/1/0/3/7/6/a9088858-102-inav.png)
3 **Hello and welcome to INAV 2.6.0 Release!**
5 Please carefully read all of this document for the best possible experience and safety.
7 Get in touch with other pilots, share experiences, suggestions and ask for help on:
9 <table>
10   <tbody>
11     <tr>
12       <td><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/82/Telegram_logo.svg/1024px-Telegram_logo.svg.png" width="48"></td>
13       <td><a href="https://t.me/INAVFlight">INAV Official on Telegram</a></td>
14     </tr>
15     <tr>
16       <td><img src="https://upload.wikimedia.org/wikipedia/commons/c/cd/Facebook_logo_%28square%29.png" width="48"></td>
17       <td><a href="https://www.facebook.com/groups/INAVOfficial">INAV Official on Facebook</a></td>
18     </tr>
19   </tbody>
20 </table>
22 Please continue to support developers, for free, by checking out from the following stores after having clicked on the following links:
24 <table>
25   <tbody>
26     <tr>
27       <td><img src="https://lh3.googleusercontent.com/TiHXyUiZ2COk7OmceBgo1qeRN2APAjWL5qUydGc-U3LqkJb3n13EhYEJ8Dpz_IACNHU" width="55"></td>
28       <td><a href="https://inavflight.com/shop/u/bg">Support us on Banggood</a></td>
29     </tr>
30   </tbody>
31 </table>
33 Your contribution from the past month has been very welcome! Thanks!
35 Tested and suggested hardware can be found [here](https://github.com/iNavFlight/inav/wiki/Welcome-to-INAV,-useful-links-and-products) 
37 ## Important Notes
39 **Compass has to be recalibrated**. Do not import from previous INAV releases
41 **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
43 ### F3 Deprecation
45 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.
47 **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.
49 ## Safehome replaces RTH offset distance and direction
51 A new feature `safehome` (see [below](#safehome-tonyyng)) 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 `safehome`as these settings are removed.
53 ## Upgrading from 2.5
55 0. Download and install the new [configurator](https://github.com/iNavFlight/inav-configurator/releases)
56 1. Save to a file the current _diff all_ from the CLI.
57 2. Upgrade to INAV 2.5 using the Full Erase option in the configurator.
58 3. Upload your OSD font of choice from the OSD tab.
59 4. Go the CLI again and paste the contents on the file you previously create and write _save_ , press ENTER and done!
60 5. You should be ready, explore new 2.6 features and enjoy!
62 ## Upgrading from 2.4 or older version
64 Please follow the instructions on [this](https://github.com/iNavFlight/inav/wiki/Upgrading-from-an-older-version-of-INAV-to-the-current-version) page.
66 ## New targets:
68 * IFLIGHTF4_SUCCEXD ([@digitalentity])
69 * FLYWOOF411, FLYWOOF7DUAL ([@digitalentity])
70 * KAKUTEF7MINIV3
71 * MATEKF722WPX
72 * FRSKYPILOT 
73 * FRSKY_ROVERF7
75 ## CLI:
77 ### New commands
79 | Command | Description |
80 | ------- | ----------- |
81 |  `safehome` | List of home locations, see [Safehomes.md](https://github.com/iNavFlight/inav/blob/master/docs/Safehomes.md) and [summary](#safehome-tonyyng)  |
82 | `bind_rx` | Initiate binding for RX_SPI or SRXL2 receivers |
84 ### Changed Settings
86 | Setting | Description |
87 | ------- | ----------- |
88 | `mag_hardware` | New option added `MSP`|
89 | `baro_hardware` | New options added `DPS310` and `MSP` |
90 | `pitot_hardware` | New options added `MSP`|
91 | `serialrx_provider` | New options added `FPORT2` and `SRXL2` |
92 | `gps_provider` | New options added `MSP` |
93 | `debug_mode` | New options added `CD`, `KALMAN_GAIN`, `PID_MEASUREMENT`, `SPM_CELLS`, `SPM_VS600`, `SPM_VARIO`, `PCF8574` |
94 | `airmode_type` | New option added `STICK_CENTER_ONCE` |
95 | `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.  |
96 | `motor_pwm_protocol` | The default is now ONESHOT125 (previously STANDARD). |
98 ### New Settings
100 | Setting | Description |
101 | ------- | ----------- |
102 | `gyro_notch_hz` | Replaces `gyro_notch1_hz` and `gyro_notch2_hz` |
103 | `gyro_notch_cutoff` | Replaces `gyro_notch1_cutoff` and `gyro_notch2_cutoff` |
104 | `maggain_x`, `maggain_y`, `maggain_z` | Calibrated values replacing fixed values. **Compass re-calibration is required.** |
105 | `srxl2_unit_id` | Values 0 - 15, default 1 | 
106 | `srxl2_baud_fast` | Values `OFF`, `ON`, default `ON` |
107 | `mc_cd_pitch` | Multicopter Control Derivative gain for PITCH, values 0 - 200, default 60 |
108 | `mc_cd_roll` | Multicopter Control Derivative gain for ROLL, values 0 - 200, default 60 |
109 | `mc_cd_yaw` | Multicopter Control Derivative gain for YAW, values 0 - 200, default 60 |
110 | `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 |
111 | `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 |
112 | `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 |
113 | `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 |
114 | `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 |
115 | `setpoint_kalman_enabled` | Enable Kalman filter on the PID controller setpoint. Values `OFF`, `ON`, default `OFF` |
116 | `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 |
117 | `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 |
118 | `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 |
119 | `inav_use_gps_no_baro` | Values `OFF`, `ON`, default `OFF` |
120 | `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 |
121 | `nav_fw_pitch2thr_threshold` | Threshold from average pitch where momentary pitch_to_throttle correction kicks in. [decidegrees]. Values 0 - 900, default 0 |
122 | `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 |
123 | `mavlink_extra3_rate` | Values 0 - 255, default 1 |
124 | `osd_snr_alarm` | Value below which Crossfire SNR Alarm pops-up. (dB). Values -12 - 8, default 4 |
125 | `osd_link_quality_alarm` | LQ % indicator blinks below this value. For Crossfire use 70%, for Tracer use 50%". Values 0 - 100, default 70 |
126 | `osd_crsf_lq_format` | OSD display format for CRSF LQ. Values `TYPE1` or `TYPE2`|
127 | `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` |
128 | `osd_ahi_bordered` |  Shows a border/corners around the AHI region (pixel OSD only). Default `OFF` |
129 | `osd_ahi_width` |  AHI width in pixels (pixel OSD only). Values 0 - 255, default 132 |
130 | `osd_ahi_height` | AHI width in pixels (pixel OSD only). Values 0 - 255, default 162 |
131 | `osd_ahi_vertical_offset` | AHI vertical offset from center (pixel OSD only). Values -128 - 127, default 0 |
132 | `osd_sidebar_horizontal_offset` | Sidebar horizontal offset from default position. Positive values move the sidebars closer to the edges. Values -128 - 127, default 0 |
133 | `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 |
134 | `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 |
135 | `smartport_master_halfduplex` | Values `OFF`, `ON`, default `ON` |
136 | `smartport_master_inverted` |  Values `OFF`, `ON`, default `OFF` |
137 | `dji_esc_temp_source` | Re-purpose the ESC temperature field for IMU/BARO temperature. Values `ESC`, `IMU`, `BARO`, default `ESC` |
138 | `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. |
139 | `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` |
141 ### Removed settings
143 | Setting | Description |
144 | ------- | ----------- |
145 | `nav_rth_home_offset_distance` | Replaced by `safehome` | 
146 | `nav_rth_home_offset_direction` | Replaced by `safehome` |
147 | `gyro_notch1_hz` and `gyro_notch2_hz` | Replaced by `gyro_notch_hz` |
148 | `gyro_notch1_cutoff` and `gyro_notch2_cutoff` | Replaced by `gyro_notch_cutoff` |
149 | `use_dterm_fir_filter` |  |
150 | `dterm_setpoint_weight` |  |
151 | `dterm_notch_hz` | |
152 | `dterm_notch_cutoff` | |
153 | `mc_iterm_relax_type` | | 
155 ## New drivers and protocols
157 * DPS310 barometer ([@digitalentity])
159 ## New waypoint types support: SET_HEAD and SET_POI ([@stronnag])
161 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](https://github.com/iNavFlight/inav/wiki/MSP-Navigation-Messages#set-poi-multirotor-only-multiwii-inav-26-and-later).
163 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](https://github.com/iNavFlight/inav/wiki/MSP-Navigation-Messages#set_head-multirotor-only-multiwii-inav-26-and-later).
165 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.
167 ## Safehome ([@tonyyng])
169 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](https://github.com/iNavFlight/inav/blob/master/docs/Safehomes.md).
171 ## Improvements to RTH/WP handling ([@digitalentity]).
173 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.
175 ## cmake Development environment ([@fiam])
177 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](https://github.com/iNavFlight/inav/tree/master/docs/development).
179 ## extend DJI OSD elements through craft_name 
181 inav 2.6 can populate warnings and multiple (by DJI unsupported) OSD elements into the craft_name field. 
182 Enable the feature via `set dji_use_name_for_messages = ON` and configure the elements through the `name`, considering:
183 - name must starts with ":" to enable workaround
184 - each configurable elements is represented by 1 capital letter like:
185   - (W)arnings, trip (D)istance, 3D (S)peed, (T)hrottle, (E)fficiency
186   - example: `set name = :WDSTE`
187 - to use warnings, W must be the first character (although warnings are still optional)
188 - each non-warning element will iterate for 3 seconds
189 - invalid characters will be handled and shown as UNKOWN_ELEM
190 - if warnings are present, other elements will be overriden
191 - warning elements are shortend due to character limitation of the craft_name in DJI
194 ## Small improvements
196 * **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.
197 * **Automatic CLI documentation** ([@nmaggioni]) - Now the [CLI.md](https://github.com/iNavFlight/inav/blob/master/docs/Cli.md) document is auto-generated based on actual source code. It means that now this documentation is much more accurate and always updated.
198 * **Removed "AIR" flight mode on the OSD** ([@MrD-RC]) - Airmode is not a flight mode itself, it's just ACRO.
200 ## Main features
201 * [SRXL2 RX protocol](https://github.com/iNavFlight/inav/pull/5791)
202 * [Improved compass calibration](https://github.com/iNavFlight/inav/pull/4446)
203 * [Smoother autonomous flight on Multirotors: CRUISE, WP, RTH](https://github.com/iNavFlight/inav/pull/5338)
204 * [Allow Multirotor baro-less operations](https://github.com/iNavFlight/inav/pull/5880)
205 * [SET_HEAD and SET_POI WP types](https://github.com/iNavFlight/inav/pull/5851)
206 * [Removed gyro notch 2](https://github.com/iNavFlight/inav/pull/5736)
207 * [Multirotor Control Derivative - an equivalent of Betaflight FeedForward - Dterm is always computed from measurement](https://github.com/iNavFlight/inav/pull/5642)
208 * [Gyro Kalman Filter aka Unicorn Filter](https://github.com/iNavFlight/inav/pull/5519)
209 * [Safehomes](https://github.com/iNavFlight/inav/pull/5995)
210 * [F.port2](https://github.com/iNavFlight/inav/pull/5976)
211 * [Global Functions and Logic Conditions unification](https://github.com/iNavFlight/inav/pull/5971)
212 * [IO expander based on PCF8574 support](https://github.com/iNavFlight/inav/pull/5959) see [here for details](https://github.com/iNavFlight/hardware/tree/master/IO%20Expander)
213 * [Change OSD layout with Logic Conditions](https://github.com/iNavFlight/inav/pull/5934)
214 * [Logic Conditions sin, cos, tan and range scaling](https://github.com/iNavFlight/inav/pull/6108)
215 * [Improved airplane airmode handling](https://github.com/iNavFlight/inav/pull/6076)
216 * [OneShot125 is now a default ESC protocol](https://github.com/iNavFlight/inav/pull/6029)
217 * [Iterm Relax simplification](https://github.com/iNavFlight/inav/pull/6006)
218 * Improved OSD CMS [PID mechanics](https://github.com/iNavFlight/inav/pull/6193) [filters](https://github.com/iNavFlight/inav/pull/6174)
219 * Improved Crossfire support: SNR, LQ and alarms
220 * [Blackbox is not allowed to log faster than 1kHz](https://github.com/iNavFlight/inav/pull/6127) 
221 * [Allow smoother smooth transition of throttle and pitch angle between the launch climb and the subsequent flight mode](https://github.com/iNavFlight/inav/pull/5988)
222 * [Allow smoother throttle change in flight modes that maintain altitude](https://github.com/iNavFlight/inav/pull/6104)
223 * [Add ESC/IMU/BARO temperature to DJI OSD](https://github.com/iNavFlight/inav/pull/6287)
224 * [Update flight modes map to match Arduplane/Arducopter MAVLink telemetry for compatibility with OpenHD](https://github.com/iNavFlight/inav/pull/5950)
225 * Support UBLOX M9N GPS and more GPS baud rates [#6182](https://github.com/iNavFlight/inav/pull/6182), [#6269](https://github.com/iNavFlight/inav/pull/6269)
226 * [Additional TURN_ASSIST pitch gain for coordinated turns - allowing smoother turns in automated modes on tailless airplanes](https://github.com/iNavFlight/inav/pull/6101)
227 * [Support for additional MSP-based GPS, BARO, COMPASS and PITOT sensors based on AP_Periph or custom firmwares](https://github.com/iNavFlight/inav/pull/6090)
229 [@shellixyz]: https://github.com/shellixyz
230 [@digitalentity]: https://github.com/digitalentity 
231 [@DzikuVx]: https://github.com/DzikuVx
232 [@fiam]: https://github.com/fiam
233 [@giacomo892]: https://github.com/giacomo892
234 [@hali9]: https://github.com/hali9
235 [@stronnag]: https://github.com/stronnag
236 [@hydra]: https://github.com/hydra
237 [@OlivierC-FR]: https://github.com/OlivierC-FR
238 [@Jacky2k]: https://github.com/Jacky2k
239 [@gereic]: https://github.com/gereic
240 [@danarrib]: https://github.com/danarrib
241 [@nmaggioni]: https://github.com/nmaggioni
242 [@MrD-RC]: https://github.com/MrD-RC
243 [@tonyyng]: https://github.com/tonyyng