Skip to content

Releases: iNavFlight/inav

INAV 1.7.3 (beta)

10 Sep 10:53
Compare
Choose a tag to compare

This is a BETA release - it didn't go through public release-candidate testing, but developers believe it's safe to use. Please test everything before taking off!

Please read the release notes carefully and upgrade INAV Configurator available at Chrome Store. You can also use Configurator built as a native MacOS or Windows application.

INAV is and will remain open-source and free, but you are more than welcome to support the development.

This release was supported by our awesome sponsors CarbonBird.com, Airbot and ADPM Drones.

Known bugs

  • OSD blinking doesn't work [#2088]
  • No I2C available on Matek F405-OSD [#2047]

EOL announcement

This release is the last release featuring F1-based boards (NAZE, CC3D, AirHero32). They don't have enough memory and CPU power to make use of new code. Support is not removed from source tree, DIY-ers are welcome to build their own setups.

Bugs that are related to limited memory and/or CPU power on those boards won't be fixed. Functionality issues will only be fixed if they would be reproducible on more powerful F3/F4/F7 targets.

CLI parameter renaming / new parameters

New parameters have been introduced. Some CLI parameters were renamed to support new features or to better reflect their meaning:

Old name New name(s)
i2c_overclock i2c_speed
- cpu_underclock
- smartport_fuel_percent

I2C bus speed selection

Some sensors (especially cloned barometer/compass sensors) are reported to work unreliably on default 400kHz speed. New i2c_speed setting allows to reduce I2C clock rate to 200kHz and 100kHz to allow these picky sensors to function properly. Overclocking to 800kHz is also possible but not recommended.

If on your board compass/baro sensor is not recognized or hangs (usually indicated by rapidly increasing I2C error count) please try setting i2c_speed to 200KHZ before reporting a bug.

Underclocking for F1/F3 targets

F1/F3 boards are working on 72MHz clock which may interfere with 433MHz long range RC control systems. A new CLI option (cpu_underclock) for F1 and F3-based targets allows user to select between 72MHz (default) and 48MHz CPU clock. Should theoretically reduce interference to 433MHz LRS systems.

Other clock speeds are not possible because native USB will only function with 72/48MHz system clock speed.

Use caution - lower CPU speed means that you'll probably have to slow down looptime as well to keep CPU usage within sane limits.

New boards

New features

  • Support for MTK GPS automatic configuration
  • New experimental DIY sonar-to-I2C converter support (https://github.com/iNavFlight/INAV-Rangefinder-I2C-interface)
  • MatekF405 boards now support common I2C baro/compass sensors. Note that MatekF405 OSD board doesn't have I2C outputs so only MatekF405 AIO board can benefit from the change
  • Add airspeed indication to OSD
  • Add analog pitot sensor support for all F3/F4 targets
  • Support for VL53L0X laser rangefinder (short range)
  • Add RunCam Split control via RC radio
  • MSPv2 protocol
  • AIRMODE now available as a feature to have it always enabled (recommended for airplanes)
  • QMC5883 compass support (pin-to-pin compatible to HMC5883L sensor, used in some Chinese GPS modules)
  • Multiple Smartport telemetry improvements
  • Add support for UK mode units in the OSD (Show the speed in mp/h while using metric for other values)
  • Speed up blackbox downloading. Now downloading full 8Mb dataflash takes mere minutes.

Bugs fixed

  • MatekF405 board made functional
  • Fix ledstrip on Omnibus target
  • Fix HEX6X mixer
  • Fix OSD crosshair blinking
  • Fix OSD ghost AHI
  • Fix feature bits being reset when exiting CMS
  • Fix bug with UK units in OSD
  • Fix horizon drift bug on some boards with OSD
  • Fix altitude control not working under 5m altitude on airplanes
  • Fix swapped values for frsky_unit in CLI. Dumps from previous versions should be modified to change IMPERIAL to METRIC and viceversa before restoring them on INAV >= 1.7.3.
  • Fix auto re-arm after landing issue when using switch-arming and landing with zero throttle in RTH & auto-disarm
  • Fix BlueJayF4 gyro not detected

Development environment

If you build your own firmware, the development infrastructure requirements have changed. A ruby interpreter is required. See the iNav development documentation for your platform.

Kudos

@martinbudden, @stronnag, @fiam, @DzikuVx, @oleost, @Schalonsus, @adtinnis, @sambas, @teckel12

INAV 1.7.2

21 Jul 05:13
Compare
Choose a tag to compare

Please read the release notes carefully and upgrade INAV Configurator available at Chrome Store.

INAV is and will remain open-source and free, but you are more than welcome to support the development.

This release was supported by our awesome sponsors CarbonBird.com, Airbot and ADPM Drones.

Known bugs

  • CRITICAL: Motors don't work on MatekF405 target, not usable yet (binary removed)
  • HEX6X mixer not available

CLI parameter renaming / new parameters

New parameters have been introduced. Some CLI parameters were renamed to support new features or to better reflect their meaning:

Old name New name(s)
inav_max_sonar_altitude inav_max_surface_altitude
inav_w_z_sonar_p inav_w_z_surface_p
inav_w_z_sonar_v inav_w_z_surface_v
- vbat_adc_channel
- rssi_adc_channel
- current_adc_channel
- airspeed_adc_channel
- acc_notch_hz
- acc_notch_cutoff
- nav_fw_land_dive_angle
- eleres_freq
- eleres_telemetry_en
- eleres_telemetry_power
- eleres_loc_en
- eleres_loc_power
- eleres_loc_delay
- eleres_signature
- stats
- stats_total_time
- stats_total_dist

Changed servo mixer output scaling

Servo speed now works as expected (defined in pwm_us per second). Servo mixer now does actual scaling between min/max values which allows asymmetric servo travel (useful on airplanes).

WARNING: Previous PID tuning may be irrelevant now on some airplane setups (especially flying wings). Use caution and verify that tuning is good.

CLI smix command new syntax

New syntax for smix command is:

smix n SERVO_ID SIGNAL_SOURCE RATE SPEED

MIN and MAX were removed as they were indeed ignored.

If you are using custom mixer you will need to change it to fit new synax

ADC channel assignment

Most modern boards have several analog inputs - usually used for VBAT sensing, Current sensing and RSSI. Until now these pins assigned their functions by board designer and firmware developer - if ADC pin was designated as "RSSI input" it was impossible to use it for something else.

This release changes the rules - now ADC inputs are called "channels" and their functionality is defined by a set of CLI variables vbat_adc_channel, rssi_adc_channel, current_adc_channel, airspeed_adc_channel. It's now up to user how analog inputs are used.

ADC airspeed sensor support

This release finaly adds support for an inexpensive analog airspeed sensor based on MPXV7002DP chips. This sensor is widely available as an "APM Airspeed Sensor". Using one of available analog inputs as airspeed sensor input (by assigning a channel to airspeed_adc_channel variable) it's possible to use this sensor in INAV. While airspeed isn't currently used for anything but logging, future releases will change that.

New boards

  • MATEKF405 board
  • SPRACINGF3 NEO board - not well tested, use caution
  • BEEROTORF4 target - not well tested, use cation
  • OMNIBUSF4V3 target - suited for both v3 and v4 hardware revisions
  • Alienflight F7 board

New features

  • Improved landing procedure for airplanes. Still acts more like a controlled crash, but does the touchdown in a much more gentle way now.
  • eLeReS support for KFC board
  • Enable GPS on LUX target
  • Flight statistics (odometer) - a feature to accumulate total flight hours and distance
  • Added support for baro-less ANYFC F7 board
  • Add servo support for LUX and COLIBRI_RACE targets
  • User-definable ADC channel mapping to ADC functions
  • Improved airspeed calculations to be usable for PID correction (changed to IAS instead of CAS/TAS)
  • Adds sdcard_detect_inverted setting to make detection configurable
  • Servo mixer rework to allow real output scaling
  • Accelerometer notch filter (disabled by default)
  • Add compass calibration start beep
  • Support for analog airspeed sensor, enabled on more targets now
  • Added craft name to CLI dump

Bugs fixed

  • Fixed altitude icon on OSD
  • Bug with bounce-back when doing slow yaw corrections with HEADING_HOLD enabled
  • More eavenly spread the CPU load of OSD update to make horizon drift issue less evident
  • Fix timer mapping for OMNIBUSF4PRO target - now usable on airplane
  • Fix PPM input on ANYFC F7
  • Better default configuration for FALCORE drone
  • Fix a bug with PPM IN incompatible with OS125 and above
  • Fix CC3D motor pwm rate bound to 400hz

INAV 1.7.1

03 Jun 17:24
Compare
Choose a tag to compare

Please read the release notes carefully and upgrade INAV Configurator available at Chrome Store.

INAV is and will remain open-source and free, but you are more than welcome to support the development.

This release was supported by our awesome sponsors CarbonBird.com, Airbot and ADPM Drones.

Known bugs

  • bug

CLI parameter renaming / new parameters

New parameters have been introduced. Some CLI parameters were renamed to support new features or to better reflect their meaning:

Old name New name(s)
new parameter fw_turn_assist_yaw_gain

New boards

New features

  • On airplanes force PASSTHOUGH mode until sensors are fully calibrated - give pilot ability to manually recover the plane after a brown-out
  • Enable IIR on BMP280 baro - could make baro readings more stable
  • Refactor ADC code - allow all analog inputs to be used on F3 boards
  • Allow analog airspeed input on AIRHEROF3 board
  • Add yaw gain for TURN_ASSIST mode
  • New MSP parameters for airplane and RTH settings
  • New UBLOX7 protocol for genuine Ublox Neo7 and Neo8 modules (may be supported on cloned GPS units as well - use at own risk)

Bugs fixed

  • Fixed display of negative longitudes on OSD
  • Fix board hangup when flooded with MSP requests
  • Fix incorrect type for fw_reference_airspeed parameter
  • Remove navDebug from blackbox
  • Refactor and fix hangup when using HoTT telemetry
  • Fix uncontrolled descent on airplane when doing RTH landing
  • Fix incorrect OSD indications for speed

INAV 1.7.0

04 May 12:57
Compare
Choose a tag to compare

This version has some significant differences from 1.6.x, please read the release notes carefully and upgrade INAV Configurator available at Chrome Store.

INAV is and will remain open-source and free, but you are more than welcome to support the development.

This release was supported by our awesome sponsors CarbonBird.com, Airbot and ADPM Drones.

Known bugs

  • RTH descent might not work at all, be too slow or too aggressive and don't respect the landing speed on a fixed wing

CLI parameter renaming

Some CLI parameters are renamed to support new features or to better reflect their meaning:

Old name New name(s)
mag_hold_rate_limit heading_hold_rate_limit
nav_max_speed nav_auto_speed
nav_max_climb_rate nav_auto_climb_rate

And nav_fw_roll2pitch is removed due to no longer necessary. GPS modes for fixedwing now uses Turn Assist mode.

Servo mixer parser changed (Very important step for fixed winger)

Angle at min / max has been removed due to it was newer used.

So the servo mixer no longer have does defined, and if you try to copy paste from 1.6.1 release it will not work!

If you copy and paste old value like this you will get parse error:

# servo 3 1070 1950 1500 90 90 -80 -1

Parse error

You will need to remove 90 90 So it looks like this:
servo 3 1070 1950 1500 -80 -1

Please, verify your servo movement after updating to INAV 1.7

Airplane turn assistant

This release features new TURN ASSIST mode for airplanes. In this mode INAV will automatically do a coordinated balanced turn with ailerons, elevator and rudder. Until we have pitot airspeed sensor support this feature requires that your set cruize airspeed via fw_reference_airspeed CLI setting.

Airplane autotune

AUTOTUNE mode is a flight mode that acts on top of normal ANGLE/HORIZON/ACRO mode and uses changes in flight attitude input by the pilot to learn the tuning values for roll, pitch and yaw tuning. Please read the AUTOTUNE manual carefully before proceeding.

WARNING: You may find the plane is quite sluggish when you first enter AUTOTUNE. You will find that as the tune progresses this will get better. Make sure your flight area has plenty of room for slow large-radius turns.

Heading Hold flight mode

This flight mode replaces MAG and HEADING LOCK modes. It affects only yaw axis and can be enabled together with any other flight mode. It helps to maintain current heading without pilots input and can be used with and without magnetometer support. When yaw stick is neutral position, Heading Hold mode tries to keep heading (azimuth if compass sensor is available) at a defined direction. When pilot moves yaw stick, Heading Hold is temporary disabled and is waiting for a new setpoint.

Heading hold only uses yaw control (rudder) so it won't work on a flying wing which has no rudder.

New boards

  • KROOZX board
  • BEEROTORF4 board
  • ANYFCF7 board

New features

  • Sonar is back enabled with proper hardware detection. Not recommended to be used for flight yet.
  • Support for MS5607 baro sensor
  • Support for Spansion S25FL116 SPI memory chip
  • Flaperon support moved to mixer code. Can be configured for custom airplane mix as separate flaps now
  • Enable airplane setups for Sparky board
  • Rename MAG mode to Heading Hold mode and allow to operate without compass
  • Fixed-wing autotune
  • Preliminary support for analog airspeed sensor. No boards support this currently.
  • MAVLink made bidirectional. Limited subset of waypoints is supported via QGroundControl and similar software
  • Add support for more baud rates (1200 to 921600)
  • Add noreboot option to defaults CLI command. defaults noreboot will reset board to defaults but won't reboot the board to allow you to apply configuration right away.
  • Remove failsafe channel fallback. Now receiver channel values are always received, but in case of signal loss - not used.
  • Enable SoftSerial feature for AIRHEROF3
  • HoTT telemetry refactoring
  • BLHeli 4wif catch up with Betaflight
  • Log last disarm reason to blackbox, report via LTM
  • Improve run-time calibration to be faster and more accurate
  • Initial cut on coordinated turn code for airplanes. TURN ASSIST flight mode will automatically apply rudder and elevator when commanding an aileron-only banked turn.
  • Barometer glitch detection and cancellation
  • Improve climb-out logic for airplanes. Use bigger margin for error if possible.
  • OMNIBUSF4 target now supports tricopter setup
  • Some F7 fixes and performance improvements
  • Log hardware health status to blackbox

Bugs fixed

  • Fix incorrect handling of beeper -ON_USB
  • Fixed speed limitation by nav_max_speed enforced even in manual flying
  • Fix HMC5883L detection and initialisation in presence of magnetic fields
  • Fix broken MPU6500 detection and init
  • Fix a bug with falling out of the sky when loosing GPS in FAILSAFE RTH. Now will use SET-THR (landing) as a backup in case RTH is aborted during failsafe.
  • Make LTM send X-Frame even for targets w/o GPS
  • Allow FAILSAFE to override PASSTHROUGH mode. Fix a bug with failsafe not engaging when plane is in PASSTHROUGH.
  • Fix a bug with FAILSAFE locking pilot out of control when board is disarmed by timeout.
  • Fix non-working IBUS receiver w/o telemetry
  • Fix option to use more motor outputs than are physically available (might cause board to crash)
  • Limit RC command processing rate. Fix a bug with stick combos being processed at extreme rate on some receivers
  • Custom current metter scale for OmnibusF4 Pro. Fix a bug with incorrect current sensor readings.
  • Avoid target clash between PPM and motor output on REVO target. Fix a bug with OneShot125 and PPM being incompatible.
  • Fix a bug when airplane althold was not working w/o GPS (baro only)
  • Fix incorrect units on OSD when OSD_UNIT_IMPERIAL is selected
  • Fixed gyro alignment for BeeRotor F4

INAV 1.7.0-RC1

19 Apr 11:17
Compare
Choose a tag to compare
INAV 1.7.0-RC1 Pre-release
Pre-release

This version has some significant differences from 1.6.x, please read the release notes carefully and upgrade INAV Configurator available at Chrome Store.

INAV is and will remain open-source and free, but you are more than welcome to support the development.

This release was supported by our awesome sponsors CarbonBird.com, Airbot and ADPM Drones.

Known bugs

  • RTH descent might be too aggressive and don't respect the landing speed on a fixed wing

CLI parameter renaming

Some CLI parameters are renamed to support new features or to better reflect their meaning:

Old name New name(s)
mag_hold_rate_limit heading_hold_rate_limit
nav_max_speed nav_auto_speed
nav_max_climb_rate nav_auto_climb_rate

And nav_fw_roll2pitch is removed due to no longer necessary. GPS modes for fixedwing now uses Turn Assist mode.

Servo mixer parser changed (Very important step for fixed winger)

Angle at min / max has been removed due to it was newer used.

So the servo mixer no longer have does defined, and if you try to copy paste from 1.6.1 release it will not work!

If you copy and paste old value like this you will get parse error:

# servo 3 1070 1950 1500 90 90 -80 -1

Parse error

You will need to remove 90 90 So it looks like this:
servo 3 1070 1950 1500 -80 -1

Please, verify your servo movement after updating to INAV 1.7

Airplane autotune

AUTOTUNE mode is a flight mode that acts on top of normal ANGLE/HORIZON/ACRO mode and uses changes in flight attitude input by the pilot to learn the tuning values for roll, pitch and yaw tuning. Please read the AUTOTUNE manual carefully before proceeding.

WARNING: You may find the plane is quite sluggish when you first enter AUTOTUNE. You will find that as the tune progresses this will get better. Make sure your flight area has plenty of room for slow large-radius turns.

Heading Hold flight mode

This flight mode replaces MAG and HEADING LOCK modes. It affects only yaw axis and can be enabled together with any other flight mode. It helps to maintain current heading without pilots input and can be used with and without magnetometer support. When yaw stick is neutral position, Heading Hold mode tries to keep heading (azimuth if compass sensor is available) at a defined direction. When pilot moves yaw stick, Heading Hold is temporary disabled and is waiting for a new setpoint.

Heading hold only uses yaw control (rudder) so it won't work on a flying wing which has no rudder.

New boards

  • KROOZX board
  • BEEROTORF4 board
  • ANYFCF7 board

New features

  • Sonar is back enabled with proper hardware detection. Not recommended to be used for flight yet.
  • Support for MS5607 baro sensor
  • Support for Spansion S25FL116 SPI memory chip
  • Flaperon support moved to mixer code. Can be configured for custom airplane mix as separate flaps now
  • Enable airplane setups for Sparky board
  • Rename MAG mode to Heading Hold mode and allow to operate without compass
  • Fixed-wing autotune
  • Preliminary support for analog airspeed sensor. No boards support this currently.
  • MAVLink made bidirectional. Limited subset of waypoints is supported via QGroundControl and similar software
  • Add support for more baud rates (1200 to 921600)
  • Add noreboot option to defaults CLI command. defaults noreboot will reset board to defaults but won't reboot the board to allow you to apply configuration right away.
  • Remove failsafe channel fallback. Now receiver channel values are always received, but in case of signal loss - not used.
  • Enable SoftSerial feature for AIRHEROF3
  • HoTT telemetry refactoring
  • BLHeli 4wif catch up with Betaflight
  • Log last disarm reason to blackbox, report via LTM
  • Improve run-time calibration to be faster and more accurate
  • Initial cut on coordinated turn code for airplanes. TURN ASSIST flight mode will automatically apply rudder and elevator when commanding an aileron-only banked turn.

Bugs fixed

  • Fix incorrect handling of beeper -ON_USB
  • Fixed speed limitation by nav_max_speed enforced even in manual flying
  • Fix HMC5883L detection and initialisation in presence of magnetic fields
  • Fix broken MPU6500 detection and init
  • Fix a bug with falling out of the sky when loosing GPS in FAILSAFE RTH. Now will use SET-THR (landing) as a backup in case RTH is aborted during failsafe.
  • Make LTM send X-Frame even for targets w/o GPS
  • Allow FAILSAFE to override PASSTHROUGH mode. Fix a bug with failsafe not engaging when plane is in PASSTHROUGH.
  • Fix a bug with FAILSAFE locking pilot out of control when board is disarmed by timeout.
  • Fix non-working IBUS receiver w/o telemetry
  • Fix option to use more motor outputs than are physically available (might cause board to crash)
  • Limit RC command processing rate. Fix a bug with stick combos being processed at extreme rate on some receivers
  • Custom current metter scale for OmnibusF4 Pro. Fix a bug with incorrect current sensor readings.
  • Avoid target clash between PPM and motor output on REVO target. Fix a bug with OneShot125 and PPM being incompatible.
  • Fix a bug when airplane althold was not working w/o GPS (baro only)

INAV 1.6.1

09 Mar 08:13
Compare
Choose a tag to compare

This is the bugfix release for INAV 1.6. Please have a read on release notes for version 1.6.

Known bugs

  • Failsafe Stage 2 doesn't show as enabled in Configurator (it is always enabled, it's only UI bug)

New features

  • Faster and more accurate baro calibration

Bugs fixed

  • Airplane launch mode failure
  • Multiple fixes to documentation

INAV 1.6

28 Feb 14:26
Compare
Choose a tag to compare

This version has some significant differences from 1.5.1, please read the release notes carefully and upgrade INAV Configurator available at Chrome Store.

INAV is and will remain open-source and free, but if you are more than welcome to support the development.

This release was supported by our awesome sponsors CarbonBird.com, Airbot and ADPM Drones.

Known bugs

  • Fixed wing launch mode may fail
  • Failsafe Stage 2 doesn't show as enabled in Configurator (it is always enabled, it's only UI bug)

CLI parameter renaming

Some CLI parameters are renamed to support new features or to better reflect their meaning:

Old name New name(s)
inav_gps_min_sats gps_min_sats
nav_alt_p nav_mc_pos_z_p, nav_fw_pos_z_p
nav_alt_i nav_mc_pos_z_i, nav_fw_pos_z_i
nav_alt_d nav_mc_pos_z_d, nav_fw_pos_z_d
nav_vel_p nav_mc_vel_z_p
nav_vel_i nav_mc_vel_z_i
nav_vel_d nav_mc_vel_z_d
nav_pos_p nav_mc_pos_xy_p
nav_pos_i nav_mc_pos_xy_i
nav_pos_d nav_mc_pos_xy_d
nav_posr_p nav_mc_vel_xy_p
nav_posr_i nav_mc_vel_xy_i
nav_posr_d nav_mc_vel_xy_d
nav_navr_p nav_fw_pos_xy_p
nav_navr_i nav_fw_pos_xy_i
nav_navr_d nav_fw_pos_xy_d
servo_lowpass_freq servo_lpf_hz
servo_lowpass_enable Removed. To disable filtering set servo_lpf_hz to zero
acc_soft_lpf_hz acc_lpf_hz
gyro_soft_lpf_hz gyro_lpf_hz
gyro_lpf gyro_hardware_lpf
rssi_ppm_invert rssi_invert
Non-Nav Paramters (for PIFF)
p_pitch mc_p_pitch, fw_p_pitch
i_pitch mc_i_pitch, fw_i_pitch
d_pitch mc_d_pitch, fw_ff_pitch
p_roll mc_p_roll, fw_p_roll
i_roll mc_i_roll, fw_i_roll
d_roll mc_d_roll, fw_ff_roll
p_yaw mc_p_yaw, fw_p_yaw
i_yaw mc_i_yaw, fw_i_yaw
d_yaw mc_d_yaw, fw_ff_yaw
p_level mc_p_level, fw_p_level
i_level mc_i_level, fw_i_level
d_level mc_d_level, fw_d_level

Non-volatile storage for waypoint missions

As requested a lot - you now have possibility to create and upload a waypoint mission at home, go to the field, plug in the battery and fly the mission without the need to re-upload it.

Until GCS support is done you have two stick combos to do this:

Function Throttle Yaw Pitch Roll
Save current waypoint mission LOW CENTER HIGH LOW
Load current waypoint mission LOW CENTER HIGH HIGH

Mission is saved in Configuration memory and only one mission at a time can be saved. Feature is only available on F3+ targets due to lack of space on F1.

New failsafe system

Failsafe Stage 1 is completely gone now, rxfail command is deprecated. Everything that is called "FAILSAFE" is now related to actual failsafe procedure. Failsafe FEATURE is deprecated - failsafe system is always functional and ready to catch you.

New "NONE" failsafe procedure is introduced to allow completely ignoring RC link loss. Be warned that you are no longer protected from flying out of range when using this feature.

A bunch of new parameters allow "LAND" procedure to work on fixed-wing aircraft as well. Failsafe will now command a slight dive, bank and yaw to bring the airplane down nicely in case of link loss. Previous behavior was to maintain level flight and fly-away.

New parameter rx_nosignal_throttle defines how throttle channel will behave in case of link loss. Options are DROP and HOLD. Roll, Pitch and Yaw channels are centered and this behavior can't be changed anymore. This behavior is only applied for a small amount of time before FAILSAFE kicks in and starts doing something smart.

New parameter failsafe_stick_threshold will allow you to keep FAILSAFE active even if the RC link is restored. You will have to move your sticks more than failsafe_stick_threshold to regain control. This is done to allow nice return-to-home in case of signal loss. Enabled by default so in case of failsafe your craft will continue to execute failsafe procedure until you move the sticks.

New PIFF controller for fixed-wing aircraft

Introducing new Proportional + Integral + Feed Forward controller for airplanes. It's more suitable for airplanes due to the nature of control they are using. It also puts less stress on servos. D-term in Configurator will now control Feed-Forward gain which passes angular rate target directly to servos bypassing closed loop gyroscope stabilisation. Use caution - too high Feed-Forward gain may cause violent oscillations in ANGLE mode. See this article about how it is different from PID and why it is better for airplanes.

If you want direct migration from INAV 1.5 to 1.6 without using the new FF part of the controller you need to do:
Keep P-Gain as it was
Divide I-Gain by 3.5
Zero out D-Gain / FF-gain. ( So you will loose the D-gain, but this was never recommended to use. )

Airplane launch mode improvements

It's now possible to specify idle throttle for pre-launch (nav_fw_launch_idle_thr) and time to gradually increase throttle after launch is detected (nav_fw_launch_spinup_time). This allows to have motor spinning even when using MOTOR_STOP feature and will put less stress on ESCs by allowing them to spin up the motor to launch throttle gradually instead of requesting an instantenious throttle change.

Waypoint mission pre-arming check

Navigation safety checks will now include check for waypoint mission sanity. If you have a mission uploaded to FC pre-arming check will verify that first (starting) waypoint is within nav_wp_safe_distance [cm](default 10000cm = 100m) from current UAV position. If starting waypoint is too far - machine won't allow you to arm. This check can also be bypassed with nav_extra_arming_safety setting.

RTH sanity checking

Misconfigured or malfunctioning compass can confuse the firmware in such a way that it won't realize where North direction is. This may cause the machine to fly in wrong direction when i.e. doing an RTH and fly away instead of returning to home.

Another case is flying in extremely strong wind which machine is unable to fight. In such case RTH will attempt to bring machine home but will never succeed and UAV will be blown away.

RTH sanity checking feature will notice if distance to home is increasing during RTH and once amount of increase exceeds a certain threshold defined by nav_rth_abort_threshold CLI parameter instead of continuing RTH machine will enter emergency landing, self-level and go down safely. Default threshold is set to 500m which is safe enough for both multirotor machines and airplanes.

New RTH configuration options

First option is nav_rth_allow_landing (default to ON). If it's set to ON UAV will land as the last stage of RTH. Landing will function on both multirotors and airplanes (the latter will gradually descent with motors running).

Second option is nav_rth_climb_ignore_emerg (default OFF). When this option is OFF (default) and when you initiate RTH without GPS fix - aircraft will initiate emergency descent and go down. If you set this option to ON - aircraft will reach the RTH target altitude before initiating emergency descent. This is done for cases where GPS coverage is poor (i.e. in the mountains) - allowing UAV to climb up might improve GPS coverage and allow safe return instead of landing in a place where UAV might be impossible to recover.

New navigation-specific OSD indications

Now board with build-in OSD (Omnibus FC) will have indications that make it suitable for navigation:

  • GPS coordinates
  • Home distance and direction
  • Current heading
  • Climb rate (vario)

New boards

  • NAZE target is split to actual NAZE and AIRHERO32 for MWC AirHero32 board
  • PIXRACER board initial support. Experimental - many features are not yet functional
  • OMNIBUS F4 PRO target
  • F4BY target

New features

  • Initial support for STM32F7 boards. More CPU power for better performance
  • Full support of SoftSerial ports on F4-based boards
  • Gyro/D-term notch filter and D-term setpoint weight (as in Betaflight)
  • TBS Crossfire native radio protocol and telemetry (CRSF)
  • Firmware support for better UI for 6-point calibration
  • Make max total PID output configurable, default limit reduced to 500 for better stability
  • Inversion control for S.Bus - now it's possible to have non-inverted S.Bus (for OpenLRS compatibility)
  • Airplane mixers defaults to use two motor outputs now
  • PASSTHRU mode will now allow to mix sticks into motors for differential thrust support
  • More authority for Altitude Hold PIDs. Please revisit ALT and VEL PIDs if aircraft misbehaves.
  • Two banks of PIDs for Fixed-wing and Multirotor crafts. A small step towards VTOL support
  • Configurable timeout for compass calibration (instead of hard-coded 30 seconds)
  • When using new Configurator the Altitude graph in Sensor tab will now show both estimated altitude and raw BARO readings
  • Extremely long flights are now possible on F3/F4/F7 targets. On F1 the system time will overflow at 1 hour, 11 minutes, 35 seconds and may cause some systems to malfunction (failsafe is one of suspects). Use caution when testing this feature.
  • Option to control when relative altitude is zeroed (never, on first arming, on each arming)
  • New rssi_invert setting replaces rssi_ppm_invert and now also affects analog RSSI
  • Blackbox logging at rates dow...
Read more

INAV 1.6-RC2

20 Feb 10:55
Compare
Choose a tag to compare
INAV 1.6-RC2 Pre-release
Pre-release

This version has some significant differences from 1.5.1, please read the release notes carefully and upgrade INAV Configurator available at Chrome Store.

INAV is and will remain open-source and free, but if you are more than welcome to support the development.

This release was supported by our awesome sponsors CarbonBird.com, Airbot and ADPM Drones.

CLI parameter renaming

Some CLI parameters are renamed to support new features or to better reflect their meaning:

Old name New name(s)
inav_gps_min_sats gps_min_sats
nav_alt_p nav_mc_pos_z_p, nav_fw_pos_z_p
nav_alt_i nav_mc_pos_z_i, nav_fw_pos_z_i
nav_alt_d nav_mc_pos_z_d, nav_fw_pos_z_d
nav_vel_p nav_mc_vel_z_p
nav_vel_i nav_mc_vel_z_i
nav_vel_d nav_mc_vel_z_d
nav_pos_p nav_mc_pos_xy_p
nav_pos_i nav_mc_pos_xy_i
nav_pos_d nav_mc_pos_xy_d
nav_posr_p nav_mc_vel_xy_p
nav_posr_i nav_mc_vel_xy_i
nav_posr_d nav_mc_vel_xy_d
nav_navr_p nav_fw_pos_xy_p
nav_navr_i nav_fw_pos_xy_i
nav_navr_d nav_fw_pos_xy_d
servo_lowpass_freq servo_lpf_hz
servo_lowpass_enable Removed. To disable filtering set servo_lpf_hz to zero
acc_soft_lpf_hz acc_lpf_hz
gyro_soft_lpf_hz gyro_lpf_hz
gyro_lpf gyro_hardware_lpf
rssi_ppm_invert rssi_invert
Non-Nav Paramters (for PIFF)
p_pitch mc_p_pitch, fw_p_pitch
i_pitch mc_i_pitch, fw_i_pitch
d_pitch mc_d_pitch, fw_ff_pitch
p_roll mc_p_roll, fw_p_roll
i_roll mc_i_roll, fw_i_roll
d_roll mc_d_roll, fw_ff_roll
p_yaw mc_p_yaw, fw_p_yaw
i_yaw mc_i_yaw, fw_i_yaw
d_yaw mc_d_yaw, fw_ff_yaw
p_level mc_p_level, fw_p_level
i_level mc_i_level, fw_i_level
d_level mc_d_level, fw_d_level

Non-volatile storage for waypoint missions

As requested a lot - you now have possibility to create and upload a waypoint mission at home, go to the field, plug in the battery and fly the mission without the need to re-upload it.

Until GCS support is done you have two stick combos to do this:

Function Throttle Yaw Pitch Roll
Save current waypoint mission LOW CENTER HIGH LOW
Load current waypoint mission LOW CENTER HIGH HIGH

Mission is saved in Configuration memory and only one mission at a time can be saved. Feature is only available on F3+ targets due to lack of space on F1.

New failsafe system

Failsafe Stage 1 is completely gone now, rxfail command is deprecated. Everything that is called "FAILSAFE" is now related to actual failsafe procedure. Failsafe FEATURE is deprecated - failsafe system is always functional and ready to catch you.

New "NONE" failsafe procedure is introduced to allow completely ignoring RC link loss. Be warned that you are no longer protected from flying out of range when using this feature.

A bunch of new parameters allow "LAND" procedure to work on fixed-wing aircraft as well. Failsafe will now command a slight dive, bank and yaw to bring the airplane down nicely in case of link loss. Previous behavior was to maintain level flight and fly-away.

New parameter rx_nosignal_throttle defines how throttle channel will behave in case of link loss. Options are DROP and HOLD. Roll, Pitch and Yaw channels are centered and this behavior can't be changed anymore. This behavior is only applied for a small amount of time before FAILSAFE kicks in and starts doing something smart.

New parameter failsafe_stick_threshold will allow you to keep FAILSAFE active even if the RC link is restored. You will have to move your sticks more than failsafe_stick_threshold to regain control. This is done to allow nice return-to-home in case of signal loss. Enabled by default so in case of failsafe your craft will continue to execute failsafe procedure until you move the sticks.

New PIFF controller for fixed-wing aircraft

Introducing new Proportional + Integral + Feed Forward controller for airplanes. It's more suitable for airplanes due to the nature of control they are using. It also puts less stress on servos. D-term in Configurator will now control Feed-Forward gain which passes angular rate target directly to servos bypassing closed loop gyroscope stabilisation. Use caution - too high Feed-Forward gain may cause violent oscillations in ANGLE mode. See this article about how it is different from PID and why it is better for airplanes.

Airplane launch mode improvements

It's now possible to specify idle throttle for pre-launch (nav_fw_launch_idle_thr) and time to gradually increase throttle after launch is detected (nav_fw_launch_spinup_time). This allows to have motor spinning even when using MOTOR_STOP feature and will put less stress on ESCs by allowing them to spin up the motor to launch throttle gradually instead of requesting an instantenious throttle change.

Waypoint mission pre-arming check

Navigation safety checks will now include check for waypoint mission sanity. If you have a mission uploaded to FC pre-arming check will verify that first (starting) waypoint is within nav_wp_safe_distance [cm](default 10000cm = 100m) from current UAV position. If starting waypoint is too far - machine won't allow you to arm. This check can also be bypassed with nav_extra_arming_safety setting.

RTH sanity checking

Misconfigured or malfunctioning compass can confuse the firmware in such a way that it won't realize where North direction is. This may cause the machine to fly in wrong direction when i.e. doing an RTH and fly away instead of returning to home.

Another case is flying in extremely strong wind which machine is unable to fight. In such case RTH will attempt to bring machine home but will never succeed and UAV will be blown away.

RTH sanity checking feature will notice if distance to home is increasing during RTH and once amount of increase exceeds a certain threshold defined by nav_rth_abort_threshold CLI parameter instead of continuing RTH machine will enter emergency landing, self-level and go down safely. Default threshold is set to 500m which is safe enough for both multirotor machines and airplanes.

New RTH configuration options

First option is nav_rth_allow_landing (default to ON). If it's set to ON UAV will land as the last stage of RTH. Landing will function on both multirotors and airplanes (the latter will gradually descent with motors running).

Second option is nav_rth_climb_ignore_emerg (default OFF). When this option is OFF (default) and when you initiate RTH without GPS fix - aircraft will initiate emergency descent and go down. If you set this option to ON - aircraft will reach the RTH target altitude before initiating emergency descent. This is done for cases where GPS coverage is poor (i.e. in the mountains) - allowing UAV to climb up might improve GPS coverage and allow safe return instead of landing in a place where UAV might be impossible to recover.

New navigation-specific OSD indications

Now board with build-in OSD (Omnibus FC) will have indications that make it suitable for navigation:

  • GPS coordinates
  • Home distance and direction
  • Current heading
  • Climb rate (vario)

New boards

  • NAZE target is split to actual NAZE and AIRHERO32 for MWC AirHero32 board
  • PIXRACER board initial support. Experimental - many features are not yet functional
  • OMNIBUS F4 PRO target
  • F4BY target

New features

  • Initial support for STM32F7 boards. More CPU power for better performance
  • Full support of SoftSerial ports on F4-based boards
  • Gyro/D-term notch filter and D-term setpoint weight (as in Betaflight)
  • TBS Crossfire native radio protocol and telemetry (CRSF)
  • Firmware support for better UI for 6-point calibration
  • Make max total PID output configurable, default limit reduced to 500 for better stability
  • Inversion control for S.Bus - now it's possible to have non-inverted S.Bus (for OpenLRS compatibility)
  • Airplane mixers defaults to use two motor outputs now
  • PASSTHRU mode will now allow to mix sticks into motors for differential thrust support
  • More authority for Altitude Hold PIDs. Please revisit ALT and VEL PIDs if aircraft misbehaves.
  • Two banks of PIDs for Fixed-wing and Multirotor crafts. A small step towards VTOL support
  • Configurable timeout for compass calibration (instead of hard-coded 30 seconds)
  • When using new Configurator the Altitude graph in Sensor tab will now show both estimated altitude and raw BARO readings
  • Extremely long flights are now possible on F3/F4/F7 targets. On F1 the system time will overflow at 1 hour, 11 minutes, 35 seconds and may cause some systems to malfunction (failsafe is one of suspects). Use caution when testing this feature.
  • Option to control when relative altitude is zeroed (never, on first arming, on each arming)
  • New rssi_invert setting replaces rssi_ppm_invert and now also affects analog RSSI
  • Blackbox logging at rates down to 1/255 is now possible for logging long flights to onboard memory

Bugs fixed

  • Telemetry and MSP data corruption on F1 (UART1 only) and F4 (all UARTs) targets
  • Motor 6 output on REVO is now functional
  • Occasional reboot of the board when bluetooth module is disconnected
  • Rare complete stall of attitude/navigation system due to invalid gyro/acceleration data
  • LED STRIP was blinking out one extra satellite when signalling GPS fix
  • 3d_deadband_throttle setting was handled incorrectly by MSP which caused corruption
  • iBUS telemetry not...
Read more

INAV 1.6-RC1

15 Feb 12:12
Compare
Choose a tag to compare
INAV 1.6-RC1 Pre-release
Pre-release

This version has some significant differences from 1.5.1, please read the release notes carefully and upgrade INAV Configurator available at Chrome Store.

INAV is and will remain open-source and free, but if you are more than welcome to support the development.

This release was supported by our awesome sponsors CarbonBird.com, Airbot and ADPM Drones.

CLI parameter renaming

Some CLI parameters are renamed to support new features or to better reflect their meaning:

Old name New name(s)
inav_gps_min_sats gps_min_sats
nav_alt_p nav_mc_pos_z_p, nav_fw_pos_z_p
nav_alt_i nav_mc_pos_z_i, nav_fw_pos_z_i
nav_alt_d nav_mc_pos_z_d, nav_fw_pos_z_d
nav_vel_p nav_mc_vel_z_p
nav_vel_i nav_mc_vel_z_i
nav_vel_d nav_mc_vel_z_d
nav_pos_p nav_mc_pos_xy_p
nav_pos_i nav_mc_pos_xy_i
nav_pos_d nav_mc_pos_xy_d
nav_posr_p nav_mc_vel_xy_p
nav_posr_i nav_mc_vel_xy_i
nav_posr_d nav_mc_vel_xy_d
nav_navr_p nav_fw_pos_xy_p
nav_navr_i nav_fw_pos_xy_i
nav_navr_d nav_fw_pos_xy_d
servo_lowpass_freq servo_lpf_hz
servo_lowpass_enable Removed. To disable filtering set servo_lpf_hz to zero
acc_soft_lpf_hz acc_lpf_hz
gyro_soft_lpf_hz gyro_lpf_hz
gyro_lpf gyro_hardware_lpf
rssi_ppm_invert rssi_invert
Non-Nav Paramters (for PIFF)
p_pitch mc_p_pitch, fw_p_pitch
i_pitch mc_i_pitch, fw_i_pitch
d_pitch mc_d_pitch, fw_ff_pitch
p_roll mc_p_roll, fw_p_roll
i_roll mc_i_roll, fw_i_roll
d_roll mc_d_roll, fw_ff_roll
p_yaw mc_p_yaw, fw_p_yaw
i_yaw mc_i_yaw, fw_i_yaw
d_yaw mc_d_yaw, fw_ff_yaw
p_level mc_p_level, fw_p_level
i_level mc_i_level, fw_i_level
d_level mc_d_level, fw_d_level

Non-volatile storage for waypoint missions

As requested a lot - you now have possibility to create and upload a waypoint mission at home, go to the field, plug in the battery and fly the mission without the need to re-upload it.

This function is available in the mwp CGS, otherwise you have two stick combos to do this:

Function Throttle Yaw Pitch Roll
Save current waypoint mission LOW CENTER HIGH LOW
Load current waypoint mission LOW CENTER HIGH HIGH

Mission is saved in Configuration memory and only one mission at a time can be saved. Feature is only available on F3+ targets due to lack of space on F1.

New failsafe system

Failsafe Stage 1 is completely gone now, rxfail command is deprecated. Everything that is called "FAILSAFE" is now related to actual failsafe procedure. Failsafe FEATURE is deprecated - failsafe system is always functional and ready to catch you.

New "NONE" failsafe procedure is introduced to allow completely ignoring RC link loss. Be warned that you are no longer protected from flying out of range when using this feature.

A bunch of new parameters allow "LAND" procedure to work on fixed-wing aircraft as well. Failsafe will now command a slight dive, bank and yaw to bring the airplane down nicely in case of link loss. Previous behavior was to maintain level flight and fly-away.

New parameter rx_nosignal_throttle defines how throttle channel will behave in case of link loss. Options are DROP and HOLD. Roll, Pitch and Yaw channels are centered and this behavior can't be changed anymore. This behavior is only applied for a small amount of time before FAILSAFE kicks in and starts doing something smart.

New parameter failsafe_stick_threshold will allow you to keep FAILSAFE active even if the RC link is restored. You will have to move your sticks more than failsafe_stick_threshold to regain control. This is done to allow nice return-to-home in case of signal loss. Enabled by default so in case of failsafe your craft will continue to execute failsafe procedure until you move the sticks.

New PIFF controller for fixed-wing aircraft

Introducing new Proportional + Integral + Feed Forward controller for airplanes. It's more suitable for airplanes due to the nature of control they are using. It also puts less stress on servos. D-term in Configurator will now control Feed-Forward gain which passes angular rate target directly to servos bypassing closed loop gyroscope stabilisation. Use caution - too high Feed-Forward gain may cause violent oscillations in ANGLE mode. See this article about how it is different from PID and why it is better for airplanes.

Airplane launch mode improvements

It's now possible to specify idle throttle for pre-launch (nav_fw_launch_idle_thr) and time to gradually increase throttle after launch is detected (nav_fw_launch_spinup_time). This allows to have motor spinning even when using MOTOR_STOP feature and will put less stress on ESCs by allowing them to spin up the motor to launch throttle gradually instead of requesting an instantenious throttle change.

Waypoint mission pre-arming check

Navigation safety checks will now include check for waypoint mission sanity. If you have a mission uploaded to FC pre-arming check will verify that first (starting) waypoint is within nav_wp_safe_distance [cm](default 10000cm = 100m) from current UAV position. If starting waypoint is too far - machine won't allow you to arm. This check can also be bypassed with nav_extra_arming_safety setting.

RTH sanity checking

Misconfigured or malfunctioning compass can confuse the firmware in such a way that it won't realize where North direction is. This may cause the machine to fly in wrong direction when i.e. doing an RTH and fly away instead of returning to home.

Another case is flying in extremely strong wind which machine is unable to fight. In such case RTH will attempt to bring machine home but will never succeed and UAV will be blown away.

RTH sanity checking feature will notice if distance to home is increasing during RTH and once amount of increase exceeds a certain threshold defined by nav_rth_abort_threshold CLI parameter instead of continuing RTH machine will enter emergency landing, self-level and go down safely. Default threshold is set to 500m which is safe enough for both multirotor machines and airplanes.

New RTH configuration options

First option is nav_rth_allow_landing (default to ON). If it's set to ON UAV will land as the last stage of RTH. Landing will function on both multirotors and airplanes (the latter will gradually descent with motors running).

Second option is nav_rth_climb_ignore_emerg (default OFF). When this option is OFF (default) and when you initiate RTH without GPS fix - aircraft will initiate emergency descent and go down. If you set this option to ON - aircraft will reach the RTH target altitude before initiating emergency descent. This is done for cases where GPS coverage is poor (i.e. in the mountains) - allowing UAV to climb up might improve GPS coverage and allow safe return instead of landing in a place where UAV might be impossible to recover.

New boards

  • NAZE target is split to actual NAZE and AIRHERO32 for MWC AirHero32 board
  • PIXRACER board initial support. Experimental - many features are not yet functional
  • OMNIBUS F4 PRO target
  • F4BY target

New features

  • Initial support for STM32F7 boards. More CPU power for better performance
  • Full support of SoftSerial ports on F4-based boards
  • Gyro/D-term notch filter and D-term setpoint weight (as in Betaflight)
  • TBS Crossfire native radio protocol and telemetry (CRSF)
  • Firmware support for better UI for 6-point calibration
  • Make max total PID output configurable, default limit reduced to 500 for better stability
  • Inversion control for S.Bus - now it's possible to have non-inverted S.Bus (for OpenLRS compatibility)
  • Airplane mixers defaults to use two motor outputs now
  • PASSTHRU mode will now allow to mix sticks into motors for differential thrust support
  • More authority for Altitude Hold PIDs. Please revisit ALT and VEL PIDs if aircraft misbehaves.
  • Two banks of PIDs for Fixed-wing and Multirotor crafts. A small step towards VTOL support
  • Configurable timeout for compass calibration (instead of hard-coded 30 seconds)
  • When using new Configurator the Altitude graph in Sensor tab will now show both estimated altitude and raw BARO readings
  • Extremely long flights are now possible on F3/F4/F7 targets. On F1 the system time will overflow at 1 hour, 11 minutes, 35 seconds and may cause some systems to malfunction (failsafe is one of suspects). Use caution when testing this feature.
  • Option to control when relative altitude is zeroed (never, on first arming, on each arming)
  • New rssi_invert setting replaces rssi_ppm_invert and now also affects analog RSSI
  • Blackbox logging at rates down to 1/255 is now possible for logging long flights to onboard memory
  • More indications on OSD for supported targets - GPS coordinates, distance and direction to home
  • 'pseudo' RSSI for Spektrum satellites (from fade count, as Betaflight)
  • Profiles in the CLI are now numbered 1-3 for compatibility with the configurator; be aware if restoring settings from CLI dump.

Bugs fixed

  • Telemetry and MSP data corruption on F1 (UART1 only) and F4 (all UARTs) targets
  • Motor 6 output on REVO is now functional
  • Occasional reboot of the board when bluetooth module is disconnected
  • Rare complete stall of attitude/navigation system due to invalid gyro/acceleration data
  • LED STRIP was blinking...
Read more

INAV 1.6-ALPHA2

05 Feb 11:52
Compare
Choose a tag to compare
INAV 1.6-ALPHA2 Pre-release
Pre-release

This is an ALPHA release. Use caution!

This version has some significant differences from 1.5.1, please read the release notes carefully and upgrade INAV Configurator available at Chrome Store.

CLI parameter renaming

Some CLI parameters are renamed to support new features or to better reflect their meaning:

Old name New name(s)
inav_gps_min_sats gps_min_sats
nav_alt_p nav_mc_pos_z_p, nav_fw_pos_z_p
nav_alt_i nav_mc_pos_z_i, nav_fw_pos_z_i
nav_alt_d nav_mc_pos_z_d, nav_fw_pos_z_d
nav_vel_p nav_mc_vel_z_p
nav_vel_i nav_mc_vel_z_i
nav_vel_d nav_mc_vel_z_d
nav_pos_p nav_mc_pos_xy_p
nav_pos_i nav_mc_pos_xy_i
nav_pos_d nav_mc_pos_xy_d
nav_posr_p nav_mc_vel_xy_p
nav_posr_i nav_mc_vel_xy_i
nav_posr_d nav_mc_vel_xy_d
nav_navr_p nav_fw_pos_xy_p
nav_navr_i nav_fw_pos_xy_i
nav_navr_d nav_fw_pos_xy_d
servo_lowpass_freq servo_lpf_hz
servo_lowpass_enable Removed. To disable filtering set servo_lpf_hz to zero
acc_soft_lpf_hz acc_lpf_hz
gyro_soft_lpf_hz gyro_lpf_hz
gyro_lpf gyro_hardware_lpf
rssi_ppm_invert rssi_invert
Non-Nav Paramters (for PIFF)
p_pitch mc_p_pitch, fw_p_pitch
i_pitch mc_i_pitch, fw_i_pitch
d_pitch mc_d_pitch, fw_d_pitch
p_roll mc_p_roll, fw_p_roll
i_roll mc_i_roll, fw_i_roll
d_roll mc_d_roll, fw_d_roll
p_yaw mc_p_yaw, fw_p_yaw
i_yaw mc_i_yaw, fw_i_yaw
d_yaw mc_d_yaw, fw_d_yaw
p_level mc_p_level, fw_p_level
i_level mc_i_level, fw_i_level
d_level mc_d_level, fw_d_level

New failsafe system

Failsafe Stage 1 is completely gone now, rxfail command is deprecated. Everything that is called "FAILSAFE" is now related to actual failsafe procedure. Failsafe FEATURE is deprecated - failsafe system is always functional and ready to catch you.

New "NONE" failsafe procedure is introduced to allow completely ignoring RC link loss. Be warned that you are no longer protected from flying out of range when using this feature.

A bunch of new parameters allow "LAND" procedure to work on fixed-wing aircraft as well. Failsafe will now command a slight dive, bank and yaw to bring the airplane down nicely in case of link loss. Previous behavior was to maintain level flight and fly-away.

New parameter rx_nosignal_throttle defines how throttle channel will behave in case of link loss. Options are DROP and HOLD. Roll, Pitch and Yaw channels are centered and this behavior can't be changed anymore. This behavior is only applied for a small amount of time before FAILSAFE kicks in and starts doing something smart.

New parameter failsafe_stick_threshold will allow you to keep FAILSAFE active even if the RC link is restored. You will have to move your sticks more than failsafe_stick_threshold to regain control. This is done to allow nice return-to-home in case of signal loss.

New PIFF controller for fixed-wing aircraft

Introducing new Proportional + Integral + Feed Forward controller for airplanes. It's more suitable for airplanes due to the nature of control they are using. It also puts less stress on servos. D-term in Configurator will now control Feed-Forward gain which passes angular rate target directly to servos bypassing closed loop gyroscope stabilisation. Use caution - too high Feed-Forward gain may cause violent oscillations in ANGLE mode.

Airplane launch mode improvements

It's now possible to specify idle throttle for pre-launch (nav_fw_launch_idle_thr) and time to gradually increase throttle after launch is detected (nav_fw_launch_spinup_time). This allows to have motor spinning even when using MOTOR_STOP feature and will put less stress on ESCs by allowing them to spin up the motor to launch throttle gradually instead of requesting an instantenious throttle change.

Waypoint mission pre-arming check

Navigation safety checks will now include check for waypoint mission sanity. If you have a mission uploaded to FC pre-arming check will verify that first (starting) waypoint is within nav_wp_safe_distance [cm](default 10000cm = 100m) from current UAV position. If starting waypoint is too far - machine won't allow you to arm. This check can also be bypassed with nav_extra_arming_safety setting.

RTH sanity checking

Misconfigured or malfunctioning compass can confuse the firmware in such a way that it won't realize where North direction is. This may cause the machine to fly in wrong direction when i.e. doing an RTH and fly away instead of returning to home.

Another case is flying in extremely strong wind which machine is unable to fight. In such case RTH will attempt to bring machine home but will never succeed and UAV will be blown away.

RTH sanity checking feature will notice if distance to home is increasing during RTH and once amount of increase exceeds a certain threshold defined by nav_rth_abort_threshold CLI parameter instead of continuing RTH machine will enter emergency landing, self-level and go down safely. Default threshold is set to 500m which is safe enough for both multirotor machines and airplanes.

New RTH configuration options

First option is nav_rth_allow_landing (default to ON). If it's set to ON UAV will land as the last stage of RTH. Landing will function on both multirotors and airplanes (the latter will gradually descent with motors running).

Second option is nav_rth_climb_ignore_emerg (default OFF). When this option is OFF (default) and when you initiate RTH without GPS fix - aircraft will initiate emergency descent and go down. If you set this option to ON - aircraft will reach the RTH target altitude before initiating emergency descent. This is done for cases where GPS coverage is poor (i.e. in the mountains) - allowing UAV to climb up might improve GPS coverage and allow safe return instead of landing in a place where UAV might be impossible to recover.

New boards

  • NAZE target is split to actual NAZE and AIRHERO32 for MWC AirHero32 board
  • PIXRACER board initial support. Experimental - many features are not yet functional
  • OMNIBUS F4 SD target
  • F4BY target

New features

  • Initial support for STM32F7 boards. More CPU power for better performance
  • Full support of SoftSerial ports on F4-based boards
  • Gyro/D-term notch filter and D-term setpoint weight (as in Betaflight)
  • TBS Crossfire native radio protocol and telemetry (CRSF)
  • Firmware support for better UI for 6-point calibration
  • Make max total PID output configurable, default limit reduced to 500 for better stability
  • Inversion control for S.Bus - now it's possible to have non-inverted S.Bus (for OpenLRS compatibility)
  • Airplane mixers defaults to use two motor outputs now
  • PASSTHRU mode will now allow to mix sticks into motors for differential thrust support
  • More authority for Altitude Hold PIDs. Please revisit ALT and VEL PIDs if aircraft misbehaves.
  • Two banks of PIDs for Fixed-wing and Multirotor crafts. A small step towards VTOL support
  • Configurable timeout for compass calibration (instead of hard-coded 30 seconds)
  • When using new Configurator the Altitude graph in Sensor tab will now show both estimated altitude and raw BARO readings
  • Extremely long flights are now possible on F3/F4/F7 targets. On F1 the system time will overflow at 1 hour, 11 minutes, 35 seconds and may cause some systems to malfunction (failsafe is one of suspects). Use caution when testing this feature.
  • Option to control when relative altitude is zeroed (never, on first arming, on each arming)
  • New rssi_invert setting replaces rssi_ppm_invert and now also affects analog RSSI

Bugs fixed

  • Telemetry and MSP data corruption on F1 (UART1 only) and F4 (all UARTs) targets
  • Motor 6 output on REVO is now functional
  • Occasional reboot of the board when bluetooth module is disconnected
  • Rare complete stall of attitude/navigation system due to invalid gyro/acceleration data
  • LED STRIP was blinking out one extra satellite when signalling GPS fix
  • 3d_deadband_throttle setting was handled incorrectly by MSP which caused corruption
  • iBUS telemetry not functional bug
  • Temporary fix for a Sparky 2 compass bug