Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
5a2a0b8
[crsf] add temperature and RPM telemetry
gismo2004 Sep 14, 2025
710b36e
make the compiler happy
gismo2004 Sep 14, 2025
b39cc96
more compiler warnings
gismo2004 Sep 15, 2025
f8dc0bc
add AirSpeed
gismo2004 Sep 23, 2025
e5bfe79
Fix CRSF telemetry corruption from PR #11025
sensei-hacker Dec 18, 2025
7b391b3
FIX AT32 LED blink BUG
sunyanmeng963 Jan 5, 2026
380fccf
Fix SPI register masking in busWriteBuf
sensei-hacker Jan 11, 2026
bd45290
Adding support for switchable 9v BEC for FLYWOOF405HD and FLYWOOF405P…
radekdomin Jan 16, 2026
a6ba116
WIP: Attempt circular DShot DMA during settings save
sensei-hacker Jan 18, 2026
d32cf25
Fix ESC spinup during MSP settings save (#10913)
sensei-hacker Jan 18, 2026
4249b55
Address code review feedback for ESC spinup fix
sensei-hacker Jan 18, 2026
ebcd802
Fix H7 circular DMA implementation - wait for stream disable
sensei-hacker Jan 19, 2026
9c2c1f4
Fix SITL build: Guard DShot circular DMA calls with SITL_BUILD check
sensei-hacker Jan 19, 2026
eda9f22
Add DMA disable timeout handling to all platforms
sensei-hacker Jan 19, 2026
c7b342d
Fix build for targets without DShot: Add USE_DSHOT guard
sensei-hacker Jan 20, 2026
e7075c5
Remove unnecessary comments
sensei-hacker Jan 20, 2026
d6caa76
Merge branch 'iNavFlight:master' into master
sunyanmeng963 Jan 23, 2026
0f45b6b
Add target BLUEBERRYH743
sunyanmeng963 Jan 23, 2026
cdb2976
Add NEXUS target for RadioMaster Nexus (Original) flight controller
Feb 11, 2026
66c87bf
imu: compute GPS 3D speed only on new GPS data
sensei-hacker Feb 18, 2026
31a5b38
pid/filter: add FAST_CODE to pidController callees
sensei-hacker Feb 18, 2026
81d596a
fc/pid: avoid recomputing values that change at lower rates
sensei-hacker Feb 18, 2026
2ce3f0a
imu: optimize imuMahonyAHRSupdate() hot path (5 micro-opts)
sensei-hacker Feb 18, 2026
2b8d571
NEXUS: fix VBAT scale, Port C pinout, and ADC docs
nuketownada Feb 24, 2026
38da5a7
NEXUS: fix IMU alignment to match board orientation arrow
nuketownada Feb 25, 2026
7b0bd00
New target: FRSKYF405
sensei-hacker Feb 26, 2026
a30a4bd
fix lsm6dxx driver lack gyroAlign setting issue.
Ncerzzk Feb 23, 2026
623fe7a
FRSKYF405: fix pin assignments and clean up target
sensei-hacker Mar 1, 2026
06e7ef2
AIKONF4V2 support.
Oct 8, 2025
2be65e0
drivers: wait for DMA EN bit to clear before reconfiguring DShot DMA
sensei-hacker Mar 2, 2026
2d60aa1
target: fix STM32F765xG linker scripts — correct DTCM size and SRAM1 …
sensei-hacker Mar 2, 2026
52ba52b
drivers: fix DMA EN-bit timeout path — set dmaState IDLE and avoid co…
sensei-hacker Mar 2, 2026
0735c57
drivers: clarify EN-bit timeout comment — skipped frame, not hardware…
sensei-hacker Mar 2, 2026
76cc064
drivers: tighten EN-bit timeout comment — concise and accurate
sensei-hacker Mar 2, 2026
3b183b3
added changes to max7456.c to add setting speed and removing spi_mode…
DariaOrqa Mar 4, 2026
ada5eb9
changed spacing and added static to function
DariaOrqa Mar 4, 2026
8ba58cc
frskyf405: Fix crystal frequency and accel alignment
sensei-hacker Mar 4, 2026
a294302
added bounds check for speed and fixed spi re-enable issue
DariaOrqa Mar 5, 2026
a9fb044
osd: replace common tfp_sprintf patterns with direct formatting helpers
sensei-hacker Mar 6, 2026
96a0ec3
added support of icm45686 sensor
Yuri-Sharapov Mar 10, 2026
8a47561
SITL Tweaks
Scavanger Mar 14, 2026
c5fa7ac
Merge branch 'maintenance-9.x' of https://github.com/iNavFlight/inav …
Scavanger Mar 14, 2026
bdf10e1
Remove unnecessary error messages and update control input channel va…
Scavanger Mar 16, 2026
c756251
virtual pitot fixes
breadoven Mar 18, 2026
ac85226
Update pitotmeter.c
breadoven Mar 19, 2026
7cdd387
Add settings description
breadoven Mar 19, 2026
7801a8e
Fix circular DMA reliability: IRQ handler guard, data length reload, …
sensei-hacker Mar 19, 2026
f6281a6
use explicitly assign motor and servo timers before auto timers
sensei-hacker Mar 19, 2026
6af160d
Fix forward declaration guards for loadDmaBufferDshot/Stride
sensei-hacker Mar 20, 2026
d287397
BB acc fix
breadoven Mar 20, 2026
501fc54
Fix BLUEBERRYH743 target configuration issues
sensei-hacker Mar 22, 2026
7b9b5d5
Merge pull request #11418 from csky-space/icm45686-driver
sensei-hacker Mar 23, 2026
45def2c
Merge pull request #11367 from Ncerzzk/fix_lsm6dxx
sensei-hacker Mar 23, 2026
1e66912
Fix the issue where the default configuration parameters for the log …
Mar 24, 2026
2fb47f8
Merge pull request #11441 from breadoven/abo_virtual_pitot_fix
breadoven Mar 25, 2026
56fb9e4
Merge pull request #11447 from breadoven/abo_blackbox_acc_fix
breadoven Mar 25, 2026
216b76c
Add three new MSP2 commands for GCS-initiated flight control
danarrib Mar 29, 2026
25dd9dd
Remove MSP2_INAV_SET_ALT_TARGET (0x2222) — superseded by existing imp…
danarrib Mar 30, 2026
ddef163
Add support for MS5525DSO digital airspeed sensor
nventurino Mar 31, 2026
3b2981c
Fix HUMMINGBIRD FC305 baro
LYNHQQ Apr 1, 2026
20745ec
Fix MSP-over-telemetry multi-frame request assembly
Apr 5, 2026
b1670bb
Merge pull request #11478 from b14ckyy/fix/msp-over-telemetry-multiframe
b14ckyy Apr 6, 2026
e93adf3
Add MSP2_INAV_SET_AUX_RC (0x2230)
Apr 5, 2026
ed06c84
Fix bugs in ICM-45686 IMU driver (#11455)
sensei-hacker Apr 9, 2026
f0f41be
Merge pull request #11462 from danarrib/bulletgcss/msp-set-wp-index-a…
sensei-hacker Apr 9, 2026
9ce0752
Fix MSP_RESULT_NO_REPLY ignored in MSP-over-telemetry passthrough (#1…
b14ckyy Apr 9, 2026
ae33960
Merge branch 'maintenance-9.x' into msp-aux-rc
b14ckyy Apr 9, 2026
6b0aaa8
Guard overlay against active RX and MSP_RC_OVERRIDE channels
Apr 9, 2026
3bf93e8
Restrict overlay to CH13-CH32, remove rxChannelCount guard
Apr 9, 2026
86615b9
Re-add MSP RX channel count guard for overlay
Apr 9, 2026
f025071
Add MSP2_INAV_SET_AUX_RC documentation
Apr 9, 2026
f397f7e
telemetry: fix CRSF airspeed integer truncation and empty RPM/temp fr…
sensei-hacker Apr 10, 2026
0f18cbc
Use single-precision math where double is unnecessary
sensei-hacker Mar 6, 2026
03751bc
Code review fixes for float math flash savings
sensei-hacker Mar 6, 2026
be7a944
Merge pull request #11189 from sensei-hacker/fix-pr11025-crsf-telemetry
sensei-hacker Apr 10, 2026
1dc771c
Merge pull request #11228 from sunyanmeng963/master
sensei-hacker Apr 10, 2026
5a2ac74
Merge pull request #11242 from sensei-hacker/fix-spi-buswritebuf-10674
sensei-hacker Apr 10, 2026
f69f353
Merge pull request #11251 from radekdomin/radekdomin-flywoof405hd-9vb…
sensei-hacker Apr 10, 2026
a66b346
blueberry h743: Restore PWM beeper timer
sensei-hacker Apr 10, 2026
16d2b10
Merge pull request #11279 from sunyanmeng963/inav9.0-add-blueberryH743
sensei-hacker Apr 10, 2026
50de29a
docs: add Backup and Restore documentation for Configurator auto-back…
Apr 11, 2026
959aa78
docs: add Backup/Restore architecture reference for migration profiles
Apr 11, 2026
ea2c1f1
docs: add migration profile reminder to release checklist
Apr 11, 2026
392d21b
clearer wording for backup and restore doc
Apr 11, 2026
41d168f
Merge pull request #11324 from joshperry/master
sensei-hacker Apr 11, 2026
8b1b8ec
Merge pull request #11356 from sensei-hacker/fix/imu-gps3dspeed-on-ne…
sensei-hacker Apr 11, 2026
a87537d
Merge pull request #11358 from sensei-hacker/perf/imu-mahony-hot-path…
sensei-hacker Apr 12, 2026
d2ac268
Merge pull request #11366 from sensei-hacker/feature-frskyf405-target
sensei-hacker Apr 12, 2026
69db786
Add MSP2 link stats message + fix missing msp-set-wp-index-and-altitu…
xznhj8129 Apr 12, 2026
16b916a
Add new target: PAURCF405V2
sensei-hacker Apr 12, 2026
0c240ec
Added ledstrip support for FlyingRCF4Wing target thx to 3sr3v3r
Leander-Vh Apr 13, 2026
c49b564
PAURCF405V2: correct IMU alignment
sensei-hacker Apr 13, 2026
1086f9d
Merge pull request #11497 from sensei-hacker/target/paurcf405v2
sensei-hacker Apr 13, 2026
9d24842
Removed SpiModeOverride function
DariaOrqa Apr 14, 2026
606478a
Merge pull request #11054 from jp39/AIKONF4V2
sensei-hacker Apr 15, 2026
978a521
Merge pull request #11436 from Scavanger/SITL-Improvements
sensei-hacker Apr 15, 2026
4955d49
Merge pull request #11445 from sensei-hacker/mixer_use_explicit_timer…
sensei-hacker Apr 15, 2026
2ed1096
Flash supports MX35LF2G model
RunnyCow Apr 17, 2026
52f0d68
Clean up and fix OSD stats
breadoven Apr 17, 2026
6bdc98b
Update osd.c
breadoven Apr 18, 2026
7e824ee
fix Save Setting message for stats screen
breadoven Apr 18, 2026
97ad80f
Merge pull request #11494 from b14ckyy/fw-flash-docs
sensei-hacker Apr 19, 2026
2c340cf
Merge pull request #11496 from xznhj8129/msp_get_link_stats
sensei-hacker Apr 19, 2026
657c1d0
Merge pull request #11501 from Leander-Vh/leander_11495-flyingrc-f4wi…
sensei-hacker Apr 19, 2026
62acef3
remove spl06 driver
LYNHQQ Apr 20, 2026
04e188c
Resolve merge conflict in msp_messages.json
Apr 21, 2026
56e31cb
Merge branch 'maintenance-9.x' into msp-aux-rc
b14ckyy Apr 21, 2026
858c9a4
Merge pull request #11482 from b14ckyy/msp-aux-rc
sensei-hacker Apr 21, 2026
21ea4c8
GPS: fix hwVersion field size from uint32_t to uint8_t
sensei-hacker Apr 25, 2026
690c1ec
GPS: update MSP_GPSSTATISTICS docs for uint8_t hwVersion encoding
sensei-hacker Apr 25, 2026
87b690c
Merge pull request #11510 from sensei-hacker/fix/gps-hwversion-uint8
sensei-hacker Apr 25, 2026
79ebed8
Merge pull request #11506 from breadoven/abo_osd_stats_fixes
sensei-hacker Apr 26, 2026
ebf10d7
allow yaw reset to 0 with no mag
breadoven May 2, 2026
50f8353
fixes
breadoven May 2, 2026
e9fedba
Fix link case sensitivity in Telemetry.md
RobertoD91 May 3, 2026
73d9e07
BLUEBERRYF405: add PWM beeper timer entry for PB9
sensei-hacker May 3, 2026
28ab300
Merge pull request #11505 from RunnyCow/master
sensei-hacker May 3, 2026
c220198
Merge pull request #11531 from sensei-hacker/fix-pwm-beeper-mode-regr…
sensei-hacker May 3, 2026
3303405
drivers: use NAND-standard opcodes for W25N register read/write
sensei-hacker May 3, 2026
36c323f
Merge pull request #11533 from sensei-hacker/fix-nand-register-write-…
sensei-hacker May 4, 2026
8bd85d7
lucid: add more baros, enable led strip, align gyo orientations
bkleiner Apr 21, 2026
e309823
Update Controls.md
breadoven May 4, 2026
49ef6fc
Fix DMA disable timeout: uint32_t wraparound made abort path unreachable
sensei-hacker May 6, 2026
7f0a225
Merge pull request #11260 from sensei-hacker/fix/esc-spinup-circular-…
sensei-hacker May 6, 2026
cf28e0f
multifunction improvement
breadoven May 7, 2026
8bd9fdd
tweaks
breadoven May 8, 2026
2c4aa6d
Update osd.c
breadoven May 9, 2026
eb86f4e
Merge pull request #11543 from breadoven/abo_multifunc_improvement
breadoven May 10, 2026
c5be817
Merge branch 'maintenance-9.x' into abo_magless_heading_zero
breadoven May 10, 2026
71f9ec1
Merge pull request #11390 from sensei-hacker/fix/f7-dshot-dma-en-bit-…
sensei-hacker May 11, 2026
ca803eb
Merge pull request #11357 from sensei-hacker/perf/pid-fast-code-and-c…
sensei-hacker May 11, 2026
f5bd7be
multifunction fixes
breadoven May 11, 2026
451c95e
Merge pull request #11549 from breadoven/abo_multifunction_fixes
breadoven May 11, 2026
bffd6f3
Merge branch 'maintenance-9.x' into abo_magless_heading_zero
breadoven May 11, 2026
07cd33f
Add mag calibration to multifunction
breadoven May 11, 2026
9cf6945
Update imu.c
breadoven May 11, 2026
0b92214
Merge pull request #11529 from breadoven/abo_magless_heading_zero
breadoven May 12, 2026
49e2776
multifunction refactor
breadoven May 12, 2026
308b243
Merge pull request #11552 from breadoven/abo_multifunction_refactor
breadoven May 14, 2026
5837d2c
Revert "use explicitly assign motor and servo timers before auto time…
sensei-hacker May 15, 2026
824f582
Merge pull request #11559 from sensei-hacker/revert/pwm-timer-priority
sensei-hacker May 15, 2026
d0f1e14
Merge pull request #11391 from sensei-hacker/fix/f765xg-linker-sram1-…
sensei-hacker May 18, 2026
09643fc
Merge pull request #11396 from orqafpv/max7456-add-custom-defines
sensei-hacker May 18, 2026
0684d47
Merge pull request #11530 from RobertoD91/patch-2
sensei-hacker May 18, 2026
44a4901
Merge pull request #11467 from nventurino/feature/ms5525-pitot
sensei-hacker May 18, 2026
aa42f9b
Merge pull request #11469 from newbeedrone/target-fix/HUMMINGBIRD-FC305
sensei-hacker May 18, 2026
7bab349
Merge maintenance-9.x: bring in multifunction refactor
sensei-hacker May 18, 2026
0881b88
Merge pull request #11493 from yangbryant/fix-log-bug
sensei-hacker May 18, 2026
73c59e8
fix(pitotmeter): guard MS5525 i2c address writes with USE_I2C
sensei-hacker May 19, 2026
7073c68
Merge pull request #11570 from sensei-hacker/fix/ms5525-sitl-i2c-guard
sensei-hacker May 19, 2026
1d5d95b
osd: guard outBuff null-termination in drawStat_AverageEfficiency
sensei-hacker May 19, 2026
b72ae26
cmake: add ASAN option for SITL builds
sensei-hacker May 19, 2026
0e298dd
Merge pull request #11405 from sensei-hacker/optimize/osd-sprintf-pat…
sensei-hacker May 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions cmake/main.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ function(setup_firmware_target exe name)
endfunction()

function(exclude_from_all target)
set_property(TARGET ${target} PROPERTY
set_target_properties(${target} PROPERTIES
TARGET_MESSAGES OFF
EXCLUDE_FROM_ALL 1
EXCLUDE_FROM_DEFAULT_BUILD 1)
EXCLUDE_FROM_ALL ON
EXCLUDE_FROM_DEFAULT_BUILD ON)
endfunction()

function(collect_targets)
Expand Down
16 changes: 11 additions & 5 deletions cmake/sitl.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ main_sources(SITL_SRC
target/SITL/sim/realFlight.h
target/SITL/sim/simHelper.c
target/SITL/sim/simHelper.h
target/SITL/sim/simple_soap_client.c
target/SITL/sim/simple_soap_client.h
target/SITL/sim/soap_client.c
target/SITL/sim/soap_client.h
target/SITL/sim/xplane.c
target/SITL/sim/xplane.h
)
Expand Down Expand Up @@ -58,6 +58,12 @@ if(DEBUG)
list(APPEND SITL_COMPILE_OPTIONS -g)
endif()

if(ASAN)
message(STATUS "AddressSanitizer enabled.")
list(APPEND SITL_COMPILE_OPTIONS -fsanitize=address -fno-omit-frame-pointer)
list(APPEND SITL_LINK_OPTIONS -fsanitize=address)
endif()

if(NOT MACOSX)
set(SITL_COMPILE_OPTIONS ${SITL_COMPILE_OPTIONS}
-Wno-return-local-addr
Expand Down Expand Up @@ -163,8 +169,8 @@ function (target_sitl name)
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND ${generator_cmd} clean
COMMENT "Removing intermediate files for ${name}")
set_property(TARGET ${clean_target} PROPERTY
EXCLUDE_FROM_ALL 1
EXCLUDE_FROM_DEFAULT_BUILD 1)
set_target_properties(${clean_target} PROPERTIES
EXCLUDE_FROM_ALL ON
EXCLUDE_FROM_DEFAULT_BUILD ON)
endif()
endfunction()
107 changes: 107 additions & 0 deletions docs/Backup and Restore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Backup and Restore

INAV Configurator can automatically back up your configuration before flashing firmware and offer to restore it afterwards. When upgrading across major versions (e.g. 7.x → 8.x → 9.x), settings are automatically migrated to the new firmware format.

For manual CLI-based backup and restore, see the [CLI documentation](Cli.md#backup-via-cli).

## Automatic Backup & Restore During Firmware Flash

### What happens automatically

1. **Before flashing** (with or without Full Chip Erase enabled): Your current CLI configuration (`diff all`) is automatically captured and saved to the backup directory.
2. **After flashing**: Depending on the situation, the Configurator offers to restore your settings if Full Chip Erase was enabled:

| Scenario | Behavior |
|----------|----------|
| **Patch update** (e.g. 8.0.0 → 8.0.1) | Auto-restore offered immediately |
| **Minor update** (e.g. 8.0.0 → 8.1.0) | Auto-restore offered immediately |
| **Major upgrade** (e.g. 7.x → 8.x) with migration profile available | Migration preview shown — confirm to restore with converted settings |
| **Major upgrade** without migration profile | Warning shown — restore still possible but some settings may fail |
| **Major downgrade** (e.g. 9.x → 7.x) | Auto-restore blocked — manual restore only (settings may be incompatible) |
| **Local firmware file** (loaded from disk) | No auto-restore offered — backup is still saved |
| **Flash without Full Chip Erase** | Backup taken, no restore offered |

### Migration Preview

When updating across major versions (e.g. 7.x → 9.x), the Configurator shows a **migration preview overlay** before restoring. This lists:

- **Removed settings** — settings that no longer exist in the new firmware (will be skipped)
- **Renamed settings** — settings whose name changed (automatically converted)
- **Renamed commands** — CLI commands that were renamed (automatically converted)
- **Value replacements** — setting values that changed meaning (automatically converted)
- **Setting remappings** — numeric IDs that were renumbered (automatically converted)
- **Warnings** — settings whose semantics changed and require manual review

You can review all changes before confirming or cancelling the restore.

Multi-step migrations are handled automatically. For example, a 7.x → 9.x upgrade applies migration profiles in sequence (7→8, then 8→9).

## Manual Backup & Restore

The Firmware Flasher tab provides three buttons:

- **Backup Config** — saves your current CLI configuration to a file (opens save dialog)
- **Restore Config** — loads a backup file and restores it to your flight controller
- If the backup is from a different major version, the migration preview is shown first
- If no migration profile exists for the version gap, a warning is shown but you can still proceed
- **Open Backups Folder** — opens the backup directory in your file manager

For CLI-based backup and restore procedures, see [Backup via CLI](Cli.md#backup-via-cli) and [Restore via CLI](Cli.md#restore-via-cli).

## Backup File Location

Backups are stored in your OS-specific application data directory:

| OS | Path |
|----|------|
| **Windows** | `%APPDATA%/inav-configurator/backups/` |
| **macOS** | `~/Library/Application Support/inav-configurator/backups/` |
| **Linux** | `~/.config/inav-configurator/backups/` |

Use the **Open Backups Folder** button in the Firmware Flasher tab to open this directory.

## Backup File Naming

| Type | Format |
|------|--------|
| Auto-backups | `UPDATE_inav_backup_{version}_{board}_{YYYY-MM-DD_HHMMSS}.txt` |
| Manual backups | `inav_backup_{version}_{board}_{YYYY-MM-DD_HHMMSS}.txt` |

Auto-backups are pruned automatically — only the 10 most recent are kept. Files you rename are never pruned.

## Backup File Format

Backup files are plain-text CLI dumps with a metadata header:

```
# INAV Backup
# Version: 8.0.0
# Board: SPEEDYBEEF405V4
# Date: 2026-04-11T10:30:00.000Z
# Craft: MyQuad
#
# INAV/SPEEDYBEEF405V4 8.0.0 Apr 1 2026 / 12:00:00 (abc1234)
# GCC-13.2.1
# ...
set gyro_main_lpf_hz = 110
set acc_hardware = AUTO
...
```

You can open and edit these files with any text editor.

## Restore Error Handling

If errors occur during restore (e.g. unknown settings, invalid values):

- An error dialog shows the affected lines
- You can choose:
- **Save anyway** — saves the successfully applied settings and reboots
- **Abort** — discards all changes and exits CLI mode

## Tips

- **Always flash with Full Chip Erase** when upgrading to a new version. This ensures clean defaults and triggers automatic backup and restore.
- **Review migration previews carefully** — especially the warnings section, which highlights settings whose meaning may have changed.
- **Keep manual backups** before major upgrades. While auto-backup handles this, having an extra copy in a known location gives peace of mind.
- **Use `diff` over `dump`** for backups. The `diff` format only stores settings that differ from defaults, which makes restoring safer across versions. The auto-backup feature already uses `diff all`.
2 changes: 2 additions & 0 deletions docs/Cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ See the other documentation sections for details of the cli commands and setting

## Backup via CLI

> **Note:** The INAV Configurator now performs automatic backups before flashing and can restore settings afterwards, including migration across major versions. See [Backup and Restore](Backup%20and%20Restore.md) for details. The CLI method below remains available for manual backup.

Disconnect main power, connect to cli via USB/FTDI.

dump using cli
Expand Down
2 changes: 1 addition & 1 deletion docs/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ See the Serial section for more information and see the Board specific sections
The GUI cannot currently configure all aspects of the system, the CLI must be used to enable or configure
some features and settings.

__Due to ongoing development, the fact that the GUI cannot yet backup all your settings and automatic chrome updates of the GUI app it is highly advisable to backup your settings (using the CLI) so that when a new version of the configurator or firmware is released you can re-apply your settings.__
__The INAV Configurator now (versions after 9.0.x) automatically backs up your settings before flashing firmware and can restore them afterwards (when Full Chip Erase is enabled), including automatic migration across major versions. For details, see [Backup and Restore](Backup%20and%20Restore.md). You can also manually backup and restore settings using the [CLI](Cli.md#backup-via-cli).__


## GUI
Expand Down
10 changes: 9 additions & 1 deletion docs/Controls.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ The stick positions are combined to activate different functions:
| Battery profile 3 | HIGH | LOW | CENTER | HIGH |
| Calibrate Gyro | LOW | LOW | LOW | CENTER |
| Calibrate Acc | HIGH | LOW | LOW | CENTER |
| Calibrate Mag/Compass | HIGH | HIGH | LOW | CENTER |
| Calibrate Compass/Zero Yaw | HIGH | HIGH | LOW | CENTER |
| Trim Acc Left | HIGH | CENTER | CENTER | LOW |
| Trim Acc Right | HIGH | CENTER | CENTER | HIGH |
| Trim Acc Forwards | HIGH | CENTER | HIGH | CENTER |
Expand All @@ -52,6 +52,14 @@ The stick positions are combined to activate different functions:
For graphical stick position in all transmitter modes, check out [this page](https://www.mrd-rc.com/tutorials-tools-and-testing/inav-flight/inav-stick-commands-for-all-transmitter-modes/).
![Stick Positions](assets/images/StickPositions.png)

## Compass Calibration and Yaw Zero Reset

The stick function `Calibrate Compass/Zero Yaw` provides 2 functions depending on whether or not a compass is available.

If a compass is available the stick function initiates the compass calibration routine.

If no compass is available the stick function will reset the current yaw/heading estimate to zero (North) and also set the heading as trusted. This is useful on multirotors, allowing the craft yaw/heading to be correctly aligned to actual North simply by physically pointing the craft North then using the stick function to zero the yaw estimate. Since this also sets the heading as trusted Nav modes reliant on heading will be available immediately after arming without the need to fly fast enough to obtain a valid heading from GPS ground course.

## Yaw control

While arming/disarming with sticks, your yaw stick will be moving to extreme values. In order to prevent your craft from trying to yaw during arming/disarming while on the ground, your yaw input will not cause the craft to yaw when the throttle is LOW (i.e. below the `min_check` setting).
Expand Down
6 changes: 5 additions & 1 deletion docs/Installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,8 @@ When upgrading be sure to backup / dump your existing settings. Some firmware r

## Backup/Restore process

See the CLI section of the docs for details on how to backup and restore your configuration via the CLI.
The INAV Configurator (after version 9.0.x) automatically backs up your configuration before flashing and offers to restore it afterwards (when Full Chip Erase is enabled) — including automatic settings migration when upgrading across major versions.

For details on automatic and manual backup/restore, see [Backup and Restore](Backup%20and%20Restore.md).

For CLI-based backup and restore, see the [CLI documentation](Cli.md#backup-via-cli).
27 changes: 26 additions & 1 deletion docs/Rx.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ bind_msp_rx <port>

## MultiWii serial protocol (MSP RX)

Allows you to use MSP commands as the RC input. Up to 18 channels are supported.
Allows you to use MSP commands as the RC input. Up to 34 channels are supported.
Note:
* It is necessary to update `MSP_SET_RAW_RC` at 5Hz or faster.
* `MSP_SET_RAW_RC` uses the defined RC channel map
Expand All @@ -213,6 +213,31 @@ Note:

Enables the use of a joystick in the INAV SITL with a flight simulator. See the [SITL documentation](SITL/SITL.md).

## MSP Auxiliary RC Channel Overlay (MSP2_INAV_SET_AUX_RC)

Allows extending the available RC channel count beyond the native RC link capacity using `MSP2_INAV_SET_AUX_RC` (`0x2230`). This is a lightweight, bandwidth-efficient alternative to `MSP_SET_RAW_RC` for auxiliary channels only.

**Key properties:**
- Controls **CH13–CH32** only (CH1–CH12 are protected and rejected)
- Configurable resolution: 2-bit (3 positions), 4-bit (~71µs steps), 8-bit (~3.9µs steps), or 16-bit (raw PWM)
- Value `0` = skip (no update) — previous value persists indefinitely
- No flight mode or special configuration required — always active
- Does **not** affect failsafe detection
- Recommended to send with `MSP_FLAG_DONT_REPLY` (`flags=0x01`) on telemetry passthrough links

**Typical use case:** A Lua script on the radio sends `MSP2_INAV_SET_AUX_RC` via SmartPort/CRSF/ELRS telemetry passthrough to control auxiliary functions (lights, camera triggers, gimbal modes) on channels beyond the RC link's native capacity.

**Priority order** (last writer wins):
1. Primary RX (SBUS, CRSF, FPort, etc.)
2. MSP RC Override (if active)
3. **MSP AUX Overlay** (CH13–CH32)

**Important:** For serial RX protocols, the firmware cannot detect which channels the sender actively uses. If AUX_RC targets a channel that the RX link also sends, AUX_RC will override it. Configure the start channel above your RC link's active channel range.

When MSP is the primary RX provider (`receiver_type = MSP`), channels covered by `MSP_SET_RAW_RC` are automatically protected. Channels in the `msp_override_channels` bitmask are also protected when MSP RC Override mode is active.

See the [MSP documentation](development/msp/README.md) for the full message format.

## Configuration

The receiver type can be set from the configurator or CLI.
Expand Down
2 changes: 1 addition & 1 deletion docs/Settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -5624,7 +5624,7 @@ Defines rotation rate on PITCH axis that UAV will try to archive on max. stick d

### pitot_hardware

Selection of pitot hardware.
Selection of pitot hardware. VIRTUAL only works if a GPS is enabled.

| Default | Min | Max |
| --- | --- | --- |
Expand Down
2 changes: 1 addition & 1 deletion docs/Telemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -413,4 +413,4 @@ It runs at a fixed baud rate of 100000, so it needs a hardware uart capable of i
\_______/ \-------------/
```

For more information and sensor slot numbering, refer to [SBUS2 Documentation](SBUS2_telemetry.md)
For more information and sensor slot numbering, refer to [SBUS2 Documentation](SBUS2_Telemetry.md)
Loading
Loading