update CLI
[inav.wiki.git] / Upgrading-from-an-older-version-of-INAV-to-the-current-version.md
blob1606aea1017250403262a1b54ff115b2a7239ace
1 ![](http://static.rcgroups.net/forums/attachments/6/1/0/3/7/6/a9088858-102-inav.png)
3 This page is intended to make it easy for you to upgrade your INAV older version to the current INAV version. The process is straightforward as long as you follow the instructions detailed here.
5 **The current version of INAV is 2.6** (as the time this document was been last updated).
7 > Note that INAV version numbers has a pattern: There are three numbers separated by dots (2.6.0).
8 > - The first number is the major version. This number changes only when BIG changes are made on INAV.
9 > - The second number is the minor version. This number changes only when SMALL changes are made on INAV.
10 > - The third number is the revision number. This number changes only when some bug is fixed on INAV and no new functionality is added.
11
12 > To determine the version, only the first two numbers are important.
14 In general, all comes to the following steps:
15 * Get the latest configurator.
16 * Get the current settings from your flight controller board
17 * Determine the current version and the TARGET of INAV firmware flashed to your flight controller board.
18 * Check which values has changed over the newer versions, and adjust your settings as necessary
19 * Flash the latest INAV firmware on your flight controller board
20 * Paste the adjusted settings on the Command Line Interface (CLI)
21 * Upload your preferred font to the OSD chip
22 * Take additional upgrading actions (if needed)
24 **Note about F1 and F3 microcontrollers**: Flight controller boards with STM32**F1** chips (like NAZE32 or CC3D) will only work up to the 1.7.3 version. Flight controller boards with STM32**F3** chips (like SPRACINGF3 or OMNIBUS) will only work up to the 2.6.0 version. We do recommend that you use a F4, F7 or H7 based Flight Controller board for new setups.
26 ## Get the latest INAV configurator
28 Download and install (on your computer) the latest configurator at the [INAV Configurator Releases page](https://github.com/iNavFlight/inav-configurator/releases).
30 ## Get all the current settings from your flight controller board
32 1. Open the configurator program on your computer.
33 2. Connect the flight controller board to the USB port on PC, then click connect button on the configurator.
34 3. Go to the CLI tab and type `diff all`. It should return a big text with all your settings. 
35 4. Copy this text and paste it on your favorite text editor (like Notepad), then save it as a backup.
37 ## Determine your current INAV firmware version and target
39 On your settings file, just at the beginning, you should have something like this:
41 ```
42 # version
43 # INAV/MATEKF405 2.2.1 Jul  3 2019 / 22:31:06 (a6d847482)
44 # GCC-8.2.1 20181213 (release) [gcc-8-branch revision 267074]
45 ```
47 Take note of the TARGET which is just after the `INAV/` and VERSION number which is just after the target
48 (In this case, TARGET is **MATEKF405** and VERSION is **2.2.1**)
50 ## Check which values has changed over the newer versions, and adjust as necessary
52 Now it's time to change your settings file so it becomes compatible with the latest INAV firmware. Follow your specific version instructions.
54 ### From 2.5 to 2.6
55 * If you are using Home Offset feature (lines with `nav_rth_home_offset_`), then you should remove this lines and use the `safehome` function instead.
56 * If you are using Override Motor Stop feature (`nav_overrides_motor_stop` setting), you need to change the value of this setting by one of the new possible values, which are `OFF`, `AUTO_ONLY` or `ALL_NAV`.
57 * Remove this deprecated settings if present: `gyro_notch1_hz`, `gyro_notch2_hz`, `gyro_notch1_cutoff`, `gyro_notch2_cutoff`, `use_dterm_fir_filter`, `dterm_setpoint_weight`, `dterm_notch_hz`, `dterm_notch_cutoff`, `mc_iterm_relax_type`
59 ### From 2.4 to 2.6
60 * `aux` lines needs to be changed. Use [this tool](https://box2perm.vercel.app/) to migrate your `aux` lines.
61 * Replace `yaw_motor_direction` by `motor_direction_inverted` if present
62 * Replace `telemetry_uart_unidir` by `telemetry_halfduplex` if present
63 * Remove this deprecated settings if present: `dyn_notch_width_percent`, `dyn_notch_range`, `dyn_notch_q`, `dyn_notch_min_hz`, `rpm_dterm_filter_enabled`, `dterm_gyro_harmonic`, `rpm_dterm_min_hz`, `rpm_dterm_q`, `vtx_freq`, `gyro_notch1_hz`, `gyro_notch2_hz`, `gyro_notch1_cutoff`, `gyro_notch2_cutoff`, `use_dterm_fir_filter`, `dterm_setpoint_weight`, `dterm_notch_hz`, `dterm_notch_cutoff`, `mc_iterm_relax_type`
64 * If you are using Home Offset feature (lines with `nav_rth_home_offset_`), then you should remove this lines and use the `safehome` function instead.
65 * If you are using Override Motor Stop feature (`nav_overrides_motor_stop` setting), you need to change the value of this setting by one of the new possible values, which are `OFF`, `AUTO_ONLY` or `ALL_NAV`.
67 ### From 2.2 or 2.3 to 2.6
68 * Find `min_throttle` line, and replace it by `throttle_idle`, setting the percentage of the idle throttle. The default is 15.
69 * `aux` lines needs to be changed. Use [this tool](https://box2perm.vercel.app/) to migrate your `aux` lines.
70 * Replace `yaw_motor_direction` by `motor_direction_inverted` if present
71 * Replace `telemetry_uart_unidir` by `telemetry_halfduplex` if present
72 * Remove this deprecated settings if present: `dyn_notch_width_percent`, `dyn_notch_range`, `dyn_notch_q`, `dyn_notch_min_hz`, `rpm_dterm_filter_enabled`, `dterm_gyro_harmonic`, `rpm_dterm_min_hz`, `rpm_dterm_q`, `vtx_freq`, `gyro_notch1_hz`, `gyro_notch2_hz`, `gyro_notch1_cutoff`, `gyro_notch2_cutoff`, `use_dterm_fir_filter`, `dterm_setpoint_weight`, `dterm_notch_hz`, `dterm_notch_cutoff`, `mc_iterm_relax_type`
74 ### From 2.0 or 2.1 to 2.6
75 * Find `min_throttle` line, and replace it by `throttle_idle`, setting the percentage of the idle throttle. The default is 15.
76 * If you are upgrading a multi rotor, POS XY PID I and D have now specific settings, respectively `nav_mc_pos_deceleration_time` and `nav_mc_pos_expo` . So if you don't use defaults, when restoring, move yours to the new settings.
77 * `aux` lines needs to be changed. Use [this tool](https://box2perm.vercel.app/) to migrate your `aux` lines.
78 * Replace `yaw_motor_direction` by `motor_direction_inverted` if present
79 * Replace `telemetry_uart_unidir` by `telemetry_halfduplex` if present
80 * Remove this deprecated setting if present: `vtx_freq`, `gyro_notch1_hz`, `gyro_notch2_hz`, `gyro_notch1_cutoff`, `gyro_notch2_cutoff`, `use_dterm_fir_filter`, `dterm_setpoint_weight`, `dterm_notch_hz`, `dterm_notch_cutoff`, `mc_iterm_relax_type`
82 ### From 1.9 to 2.6
83 * Find `min_throttle` line, and replace it by `throttle_idle`, setting the percentage of the idle throttle. The default is 15.
84 * If you are upgrading a multi rotor, POS XY PID I and D have now specific settings, respectively `nav_mc_pos_deceleration_time` and `nav_mc_pos_expo` . So if you don't use defaults, when restoring, move yours to the new settings.
85 * Delete all lines starting with: mixer acczero accgain magzero osd.
86 * `aux` lines needs to be changed. Use [this tool](https://box2perm.vercel.app/) to migrate your `aux` lines.
87 * Replace `yaw_motor_direction` by `motor_direction_inverted` if present
88 * Replace `telemetry_uart_unidir` by `telemetry_halfduplex` if present
89 * Remove this deprecated setting if present: `vtx_freq`
91 ### From 1.7 or 1.8 to 2.6
92 * Find `min_throttle` line, and replace it by `throttle_idle`, setting the percentage of the idle throttle. The default is 15.
93 * If you are upgrading a multi rotor, POS XY PID I and D have now specific settings, respectively `nav_mc_pos_deceleration_time` and `nav_mc_pos_expo` . So if you don't use defaults, when restoring, move yours to the new settings.
94 * Delete all lines starting with: mixer acczero accgain magzero osd.
95 * Find `vbat_scale`, `vbat_max_cell_voltage`, `vbat_warning_cell_voltage` and `vbat_min_cell_voltage` values on your settings, and multiply their values by 10.
96 * `aux` lines needs to be changed. Use [this tool](https://box2perm.vercel.app/) to migrate your `aux` lines.
97 * Replace `yaw_motor_direction` by `motor_direction_inverted` if present
98 * Replace `telemetry_uart_unidir` by `telemetry_halfduplex` if present
99 * Remove this deprecated setting if present: `vtx_freq`
101 ### From 1.6 to 2.6
102 * Find `min_throttle` line, and replace it by `throttle_idle`, setting the percentage of the idle throttle. The default is 15.
103 * If you are upgrading a multi rotor, POS XY PID I and D have now specific settings, respectively `nav_mc_pos_deceleration_time` and `nav_mc_pos_expo` . So if you don't use defaults, when restoring, move yours to the new settings.
104 * Delete all lines starting with: mixer acczero accgain magzero osd.
105 * Find `vbat_scale`, `vbat_max_cell_voltage`, `vbat_warning_cell_voltage` and `vbat_min_cell_voltage` values on your settings, and multiply their values by 10.
106 * Find `mag_hold_rate_limit` and replace by `heading_hold_rate_limit` (renamed parameter).
107 * Find `nav_max_speed` and replace by `nav_auto_speed` (renamed parameter).
108 * Find `nav_max_climb_rate` and replace by `nav_auto_climb_rate` (renamed parameter).
109 * Remove this deprecated settinsg if present: `vtx_freq`, `nav_fw_roll2pitch`
110 * `aux` lines needs to be changed. Use [this tool](https://box2perm.vercel.app/) to migrate your `aux` lines.
111 * Replace `yaw_motor_direction` by `motor_direction_inverted` if present
112 * Replace `telemetry_uart_unidir` by `telemetry_halfduplex` if present
113 * Find all lines starting with `servo`, and remove the fifth and the sixth arguments of the parameter. 
115 Example: `servo 3 1070 1950 1500 90 90 -80 -1`
117 Will become: `servo 3 1070 1950 1500 -80 -1`
119 ### From 1.5 or earlier versions
121 Your version is A LOT outdated. We really recommend you to set everything up from scratch. Your current settings will not be as much as useful. But don't worry, INAV became much easier to set up since this version.
123 ## Flash the lastest INAV firmware to your board
124 Now it's time to flash the lastest INAV firmware to your flight controller board..
125 * On INAV Configurator, go to the "Firmware Flasher" tab.
126 * Select the proper TARGET of the flight controller board.
127 * Make sure that the "Full Erase" option is ENABLED.
128 * Click "Load Firmware (Online)" button, and then after it loads the online firmware, click "Flash Firmware" button.
129 * Wait for the completion of the process.
131 ## Paste the adjusted settings on the CLI
132 * Click the "Connect" button on INAV configurator.
133 * Go to the CLI tab.
134 * Copy all the settings text from your adjusted text file and paste on the CLI input text box, then press ENTER.
135 * Wait for all the settings to be typed on the output text box.
136 * If no errors occurred, Flight controller should save the settings and reboot by itself.
138 ## Upload your preferred font to the OSD chip
139 The font file changes between versions! That's why you need to update the font stored on the OSD chip every time you upgrade INAV version in order to OSD work properly.
140 * Go to the OSD Tab on the Configurator.
141 * In the bottom right corner, there's a "Font" button. Click it.
142 * Select the font that best pleases you, and then click "Upload" button.
143 * Wait for the process to complete. Flight Controller will reboot automatically.
145 ## If you are upgrading from version 2.5 or earlier
146 * If you have a compass, it has to be recalibrated!
147 * 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
149 ## If you are upgrading from version 1
150 There was a big update from 1.9 to 2.0, there's a new mixer framework, a new OSD framework and new calibration scales for accelerometer and magnetometer. For that reason, you'll need to set this up again and the previous settings will not work.
152 * Go to the Mixer tab and load and apply your desired mixer.
153 * Calibrate the accelerometer following the steps in the dedicated tab. Only first two steps need to be made in the right order.
154 * Calibration of the magnetometer should be done at the field. The magnetic field indoors can be distorted and led to a bad calibration.
155 * Restore manually your OSD layout using the screenshot and upload the font you like using the dedicated button.
157 ## Check if everything is working as it should
159 * 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.
160 * Arming with sticks command is not supported anymore, so if you were using sticks commands for arming, don't forget to add an arming switch in the Modes tab on the configurator.
162 ## Enjoy the lastest INAV version!
164 If you done everything right, now your aircraft should be flying ok.
166 INAV adds lots of new features at every new version! This guide helped you to make your aircraft fly with the newer version as good as it was flying before, but now it's time learn all the new tricks that INAV can do! 
167 Check [this page](/iNavFlight/inav/wiki/New-features-over-versions-log) to see everything that the newer versions of INAV can do!
169 Enjoy!