Releases: iNavFlight/inav
INAV 1.7.3 (beta)
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
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 changeIMPERIAL
toMETRIC
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
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
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
- FALCORE drone
- ALIENFLIGHTF4
- KFC32F3 board
- ANYFCM7 board
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
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 todefaults
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
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 todefaults
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
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
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
andAIRHERO32
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 replacesrssi_ppm_invert
and now also affects analog RSSI - Blackbox logging at rates dow...
INAV 1.6-RC2
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
andAIRHERO32
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 replacesrssi_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...
INAV 1.6-RC1
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
andAIRHERO32
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 replacesrssi_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...
INAV 1.6-ALPHA2
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
andAIRHERO32
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 replacesrssi_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