9.1.0 Release Notes - iNavFlight/inav GitHub Wiki

! DRAFT !

Welcome to INAV 9.1.0

Please carefully read all of this document for the best possible experience and safety.

Contact other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Known Issues in 9.1.0

  • Attempts have been made to test as many changes as possible under different conditions. But if you do find any issues, please visit INAV Github to see if the matter has already been raised. If not, then open a new issue report.

Upgrading from a previous release

Upgrading from INAV 8.1 or 9.0.X versions

  1. Download and install the new INAV 9.1 Configurator
  2. Backup configuration with CLI diff all command or use the Diff All and Save to file buttons.
  3. Flash INAV 9.1 WITH Full Chip Erase option enabled.
  4. Load your 9.0.2 Diff settings in to the CLI.
  5. Make a copy of your 9.0.2 Diff text file and rename it 9.1. Then edit it by removing any incompatible settings you see marked in RED in the CLI.
  6. Once done, in the CLI type in Defaults then save.
  7. Return to the CLI and load your edited INAV 9.1 Diff text file.

Diff update tool

Rather than steps 4 and 5 above. You can try this diff update tool . This is a work in progress. Currently it will try to update version 8 or later diffs to version 9 or later. Just paste your full diff all (not dump) in to the tool. Select the INAV version you're upgrading to. Then press the button. It will create a new diff for you and give you warnings about anything you should check.

Note

INAV 9.1 Configurator also has a settings migration tool in the CLI for firmware upgrading and flashing. Please see the 9.1 configurator release for more details.

Upgrading from older versions

If you are updating from a much older versions of INAV. Please follow the instructions on this page.

Highlights

  • INAV 9.1 is primarily a maintenance build. It contains many fixes and code cleanups. With the goal of making INAV even more dependable.

GNSS constellations and update rate handling

Due to GNSS data processing losses than occur when gps_ublox_nav_hz is set higher. INAV now provides a more optimized update rate, depending on your hardware type (M8, M9 or M10) and the number of concurrent constellations you have selected.

In general, lower UBLOX update rates will allow your GNSS module to provide better position accuracy when more constellations are selected. But there is also a trade-off. The update positions will becoming more broadly spread-out at higher flight speeds.
Changes can be made in the Configurator GPS Tab to suit your hardware and flight requirements.

Read PR , Issue and GPS and Compass setup for more information on the topic if required.

Multicopter set magless heading

This allows pilots who choose to fly without a compass, to point the front of their MC or VTOL towards a known NORTH (0°) heading before takeoff; so you don't have to fly a short distance to acquire a GNSS course over ground heading before a navigation mode can be activated.
Please read here to gain a greater understanding of how to use this feature.

Position estimator improvements

Various changes have been made to improve multicopter position hold accuracy when the GNSS signal is poor or fluctuating. These changes have also added some small benefits to fixedwing navigation performance as well.
However keep in mind, position estimation will now rely more on the accelerometer weight. This means you should always ensure your multicopter or VTOL is as free from propeller and motor vibrations as possible. Read here for some useful setup tips.

Relevant commits - #11270 , #11322 , #11387

Warning

If you have increased nav_mc_pos_z_p or nav_mc_vel_z_p multicopter altitude controller gains above their default values since INAV 7.1. It is advisable to lower those gains or re-tune them, to avoid possible throttle oscillations in navigation modes that control altitude. Specifically WP, Cruise and RTH.

Poshold is generally less affected in a fixed hover. But if it's used for forward flight, it too can be affected.

OSD changes

  • The handling of the OSD STATS after disarming has been improved. CRSF RX data is now being displayed. As well as the Saving Setting and Disarmed by advisories are again working correctly on HD. link
  • System message updates and improvements have been added for Surface mode and Geozones. link
  • Simplification of the OSD Multifunction mode tools operation. With the addition of battery Voltage and Capacity, Pitot failure and Compass calibration.
  • If multicopter compass deviation occurs (toilet bowling) in Poshold, a system message warning is displayed until the mode is cancelled. link

Other changes

  • Adds I-term stability detection for fixedwing servo autotrim. link
  • Add Loiter to LED control mode. link
  • Reduce subsequent altitude error if multicopter is armed with a poor satellite fix. link
  • Support for SSD1315 OLED display.link

Prominent bug fixes

  • Fix a safety issue with reversed throttle servos. link
  • Fix 4 in 1 ESC random spin-up of motor 1 after disarming, when using BLheli_32 - 32.9 firmware and earlier. link
  • Fix RTH Trackback to prevent the flight controller locking up in some instances. link
  • Inhibits landing detection when Surface mode active unless AGL altitude Trusted and below 50cm. link
  • Timeout guards for SD card SPI and SDIO drivers when using problematic SD cards. link
  • Fix CRSF airspeed, rpm, and temperature telemetry from corrupting the data stream. link
  • Althold manual climb rate fix. Now allows the climb rate to correctly meet the target setpoint. link
  • Fix UBLOX polling block to improve accuracy. link
  • Better handling of virtual pitot if GPS hardware failure occurs. link
  • Fix AT32F43x LED toggle logic using correct register operations. link
  • Prevents overflow in blackbox acceleration and vibration fields. link
  • Reduce MSP over telemetry pass-through congestion. link
  • Prevents permanently blocking multi-frame MSP request assembly. link

Sensor addition

ICM45686 IMU support
MS5525DSO digital airspeed sensor

Flash storage support

XT25F128F
MX35LF2G

New targets

  • AIKONF4V2
  • BLADE_F4
  • BLUEBERRYH743
  • BLUEBERRYF405
  • Brahma H7
  • FlyDragon Pro
  • FLYWOOF405HD
  • FLYWOOF405PRO
  • FRSKYF405
  • HAKRCH743
  • NEXUS (original)
  • PAURCF405V2
  • SDMODELH7V2
  • SimplyFly H7
  • TBS_LUCID_H7_OEM
  • TBS_LUCID_H7_V3

Tip

Manufacturers. You can be alerted of changes that may affect your products by subscribing to the #technical-changes channel on the INAV Discord Server

What's Changed - Pull Requests

A big thanks to everyone who has contributed to INAV 9.1. And a special thanks to the project collaborators.

  • New target: FlyDragon Pro by @ functionpointer in #11126
  • Set altitude target functionality by @xznhj8129 in #11147
  • add HAKRCH743 target by @HAKRC8899 in #11182
  • Fix CRSF airspeed, rpm, and temperature telemetry corruption by @sensei-hacker in #11189
  • MSP: Add minimum power index to MSP_VTX_CONFIG by @sensei-hacker in #11190
  • Reduce CPU overhead by rate-limiting updateArmingStatus() to 200 Hz by @sensei-hacker in #11200
  • Verify frame length when handling CRSF_FRAMETYPE_MSP_REQ/CRSF_FRAMETYPE_MSP_WRITE by @VoodooChild99 in #11210
  • Add I-term stability check to servo autotrim by @sensei-hacker in #11215
  • FIX AT32 LED blink BUG by @sunyanmeng963 in #11228
  • Add optional DFU mode parameter to MSP_REBOOT command by @sensei-hacker in #11238
  • Fix SPI register masking in busWriteBuf by @sensei-hacker in #11242
  • Added support for switchable 9v BEC for FLYWOOF405HD and FLYWOOF405PRO by @radekdomin in #11251
  • Passthrough, USB Improvements by @jlpoltrack in #11256
  • Add GPS hardware version to MSP and optimize defaults for M8/M9/M10 by @sensei-hacker in #11262
  • MSP Bind Message, CLI Command by @jlpoltrack in #11267
  • Position estimator position and velocity corrections fix by @breadoven in #11270
  • Add target BLUEBERRYH743 by @sunyanmeng963 in #11279
  • Add target BLUEBERRYF405 by @sunyanmeng963 in #11280
  • Rename profile commands to control_profile by @MrD-RC in #11302
  • Multifunction add battery voltage warnings by @breadoven in #11308
  • Comment 16 MSP commands as deprecated (for removal in INAV 10 or 11) by @sensei-hacker in #11315
  • Fix servo throttle mix outputting wrong position when disarmed by @sensei-hacker in #11318
  • Fix SD card busy-wait loops that can lock up flight controller by @sensei-hacker in #11321
  • Position estimator sensor correction refactor by @breadoven in #11322
  • New target: SDMODELH7V2 (STM32H743) by @sensei-hacker in #11341
  • Position estimator GPS origin altitude improvement for poor initial GPS epv by @breadoven in #11355
  • Multicopter althold altitude adjustment manual climb rate fix by @breadoven in #11359
  • New target: FRSKYF405 by @sensei-hacker in #11366
  • Position estimator corrections improvement and estimated velocity filtering by @breadoven in #11387
  • Trackback flight controller lock up fix by @breadoven in #11393
  • Add AGENT.md rules by @DzikuVx in #11397
  • Brahma H7 Support by @DzikuVx in #11404
  • SimplyFly H7 target by @DzikuVx in #11413
  • Virtual pitot fixes by @breadoven in #11441
  • Blackbox acceleration/vibration fixes by @breadoven in #11447
  • Fix MSP-over-telemetry multi-frame request assembly by @b14ckyy in #11478
  • Fix MSP_RESULT_NO_REPLY ignored in MSP-over-telemetry passthrough by @b14ckyy in #11481
  • MSP2_INAV_SET_AUX_RC (0x2230) — Bandwidth-efficient auxiliary RC channel updates by @b14ckyy in #11482
  • Docs: add Backup and Restore documentation for Configurator auto-backup by @b14ckyy in #11494
  • Add MSP2 link stats message + fix missing msp-set-wp-index-and-altitude by @xznhj8129 in #11496
  • target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED: add LED strip support by @Leander-Vh in #11501
  • OSD stats fixes and code cleanup by @breadoven in #11506
  • Fix GPS capability poll blocking for 500ms every 5 seconds by @sensei-hacker in #11332
  • Power and Current Limiting fix and documentation by @sensei-hacker in #11187
  • Fix NEXUSX default IMU orientation by @sensei-hacker in #11338
  • docs: move NEXUSX board README to docs/boards by @sensei-hacker in #11363
  • NEW_HARDWARE_POLICY.md: Use Discord rather than email by @sensei-hacker in #11333
  • Remove legacy hdzero special case by @mmosca in #10540
  • CI: publish PR test builds to iNavFlight/pr-test-builds by @sensei-hacker in #11381
  • CI: fix YAML syntax error in pr-test-builds workflow by @sensei-hacker in #11384
  • Fix SPI GPIO alternate function assignment on STM32H7/F7 by @sensei-hacker in #11389
  • Fix USB VCP lockup on disconnect (issue #11348) by @sensei-hacker in #11351
  • Fix hard faults when handling large MSP responses over CRSF by @KeithCoreDumped in #11369
  • Add Loiter to LED control on mode flight by @john-Henrique in #11374
  • cmake/sitl: use CheckLinkerFlag instead of GCC version check for --no-warn-rwx-segments by @sensei-hacker in #11383
  • Use single-precision math to save ~17 KB of flash on F722 targets by @sensei-hacker in #11402
  • Master to maintenance-9 by @sensei-hacker in #11406
  • Bugfix: SDIO capacity shows incorrectly on F4 devices by @cluez0r in #11347
  • CI: build only affected target for single-target PRs by @sensei-hacker in #11450
  • added support of icm45686 sensor by @Yuri-Sharapov in #11418
  • fix lsm6dxx driver lack gyroAlign setting issue by @Ncerzzk in #11367
  • Fix bugs in ICM-45686 IMU driver (PR #11418) by @sensei-hacker in #11455
  • Add two new MSP2 commands for GCS-initiated flight control by @danarrib in #11462
  • Add NEXUS target for RadioMaster Nexus (Original) flight controller by @joshperry in #11324
  • imu: compute GPS 3D speed only on new GPS data by @sensei-hacker in #11356
  • optimize imuMahonyAHRSupdate() hot path (5 micro-opts) by @sensei-hacker in #11358
  • Add new target: PAURCF405V2 by @sensei-hacker in #11497
  • GPS: fix hwVersion field size from uint32_t to uint8_t by @sensei-hacker in #11510
  • Flash supports MX35LF2G model by @RunnyCow in #11505
  • BLUEBERRYF405: add missing PWM beeper timer entry for PB9 by @sensei-hacker in #11531
  • drivers: use NAND-standard opcodes for W25N register read/write by @sensei-hacker in #11533
  • lucid: add more baros, enable led strip, align gyro orientations by @bkleiner in #11534
  • Multifunction improvement by @breadoven in #11543
  • drivers: wait for DMA EN bit to clear before reconfiguring DShot DMA (F7/H7) by @sensei-hacker in #11390
  • pid/filter: FAST_CODE annotations and RC command caching by @sensei-hacker in #11357
  • Multifunction fixes by @breadoven in #11549
  • Allow yaw reset to north when disarmed - for multirotors with no compass by @breadoven in #11529
  • Multifunction refactor by @breadoven in #11552
  • osd: replace common tfp_sprintf patterns with direct formatting helpers by @sensei-hacker in #11405
  • OSD flight efficiency formatting fix by @breadoven in #11556
  • Add support for MS5525DSO digital airspeed sensor by @nventurino in #11467
  • added changes to max7456.c to add setting speed and removing spi_mod_0 flag with defines from target.h file by @DariaOrqa in #11396
  • Please test on FRSKYPILOT. Fix STM32F765xG linker scripts by @sensei-hacker in #11391
  • Fix HUMMINGBIRD FC305 baro by @LYNHQQ in #11469
  • Fix the issue where the default configuration parameters for the log by @yangbryant in #11493
  • fix: disable bootloader variants for targets without storage backend by @daijoubu in #11522
  • Needs testing: Issue #10830 Surface Mode Fixes by @breadoven in #11425
  • change BLUEBERRYH743 VBAT_SCALE_DEFAULT = 2100 by @sunyanmeng963 in #11579
  • docs: Document CMAKE_BUILD_TYPE=Release for production builds by @sensei-hacker in #11249
  • SSD1315 OLEDs also seem to work by @tonuonu in #10959
  • Multirotor toilet bowling detection by @breadoven in #10854
  • Reset free PIDs if coefficients are changed via CLI or MSP by @wimalopaan in #11431
  • add a new target BLADE_F4 by @hakrc1 in #9904
  • HITL/SITL X-Plane: Improvements by @Scavanger in #11253
  • HITL/SITL X-Plane fixes for merge #11253 by @sensei-hacker in #11566
  • Fix: Prioritize Airspeed over GPS for turn acceleration compensation by @shota3537 in #11312
  • Add TBS_LUCID_H7_OEM target by @bkleiner and @sensei-hacker in #11610
  • Add TBS_LUCID_H7_V3 target by @bkleiner and @sensei-hacker in #11609
  • Add support for XTX XT25F128F nor flash chip by @gaoyu2144287 in #11590

Full Changelog: https://github.com/iNavFlight/inav/compare/master...maintenance-9.x

⚠️ **GitHub.com Fallback** ⚠️