Hello and welcome to INAV 2.6.0 Release Candidate 2!
Please carefully read all of this document for the best possible experience and safety.
Get in touch with other pilots, share experiences, suggestions and ask for help on:
INAV Official on Telegram | |
INAV Official on Facebook |
Please continue to support developers, for free, by checking out from the following stores after having clicked on the following links:
Support us on Banggood |
Your contribution from the past month has been very welcome! Thanks!
Tested and suggested hardware can be found here
Important Notes
Compass has to be recalibrated. Do not import from previous INAV releases
Do not migrate Multirotor PID and filter settings from previous releases of INAV. Use Multirotor default preset (3"-7") instead and make required changes on top of that
F3 Deprecation
STM32 F3 flight controllers like Omnibus F3 or SP Racing F3 are deprecated and soon they will reach the end of support in INAV. If you are still using F3 boards, please migrate to F4 or F7.
INAV 2.6 will be the last release that supports F3-based boards. The supporting code will be retained for a few more releases, but will not be maintained and is not guarantee to build or work properly in future releases.
Safehome replaces RTH offset distance and direction
A new feature safehome
(see below) replaces nav_rth_home_offset_distance
and nav_rth_home_offset_direction
, offering a safer and much more flexible function. If you were using the nav_rth_home_offset_*
settings, please migrate to safehome
as these settings are removed.
Upgrading from 2.5
- Download and install the new configurator
- Save to a file the current diff all from the CLI.
- Upgrade to INAV 2.6 using the Full Erase option in the configurator.
- Upload your OSD font of choice from the OSD tab.
- Go the CLI again and paste the contents on the file you previously create and write save , press ENTER and done!
- You should be ready, explore new 2.6 features and enjoy!
Upgrading from 2.4 or older version
Please follow the instructions on this page.
New targets:
- IFLIGHTF4_SUCCEXD (@digitalentity)
- FLYWOOF411, FLYWOOF7DUAL (@digitalentity)
- KAKUTEF7MINIV3
- MATEKF722WPX
CLI:
New commands
Command | Description |
---|---|
safehome
| List of home locations, see Safehomes.md and summary |
bind_rx
| Initiate binding for RX_SPI or SRXL2 receivers |
Changed Settings
Setting | Description |
---|---|
mag_hardware
| New option added MSP
|
baro_hardware
| New options added DPS310 and MSP
|
pitot_hardware
| New options added MSP
|
serialrx_provider
| New options added FPORT2 and SRXL2
|
gps_provider
| New options added MSP
|
debug_mode
| New options added CD , KALMAN_GAIN , PID_MEASUREMENT , SPM_CELLS , SPM_VS600 , SPM_VARIO , PCF8574
|
airmode_type
| New option added STICK_CENTER_ONCE
|
nav_overrides_motor_stop
| Modified values OFF , AUTO_ONLY , ALL_NAV . When set OFF the navigation system will not take over the control of the motor if the throttle is low (motor will stop). When set to AUTO_ONLY the navigation system will only take over the control of the throttle in autonomous navigation modes (NAV WP and NAV RTH). When set to ALL_NAV (default) the navigation system will take over the control of the motor completely and never allow the motor to stop even when the throttle is low. This setting only has an effect combined with MOTOR_STOP and is likely to cause a stall if fw_min_throttle_down_pitch isn't set correctly or the pitch estimation is wrong for fixed wing models when not set to ALL_NAV.
|
New Settings
Setting | Description |
---|---|
gyro_notch_hz
| Replaces gyro_notch1_hz and gyro_notch2_hz
|
gyro_notch_cutoff
| Replaces gyro_notch1_cutoff and gyro_notch2_cutoff
|
maggain_x , maggain_y , maggain_z
| Calibrated values replacing fixed values. Compass re-calibration is required. |
srxl2_unit_id
| Values 0 - 15, default 1 |
srxl2_baud_fast
| Values OFF , ON , default ON
|
mc_cd_pitch
| Multicopter Control Derivative gain for PITCH, values 0 - 200, default 60 |
mc_cd_roll
| Multicopter Control Derivative gain for ROLL, values 0 - 200, default 60 |
mc_cd_yaw
| Multicopter Control Derivative gain for YAW, values 0 - 200, default 60 |
fw_turn_assist_pitch_gain
| Gain required to keep constant pitch angle during coordinated turns (in TURN_ASSIST mode). Value significantly different from 1.0 indicates a problem with the airspeed calibration (if present) or value of fw_reference_airspeed parameter. Values 0 - 2, default 1
|
nav_mc_vel_xy_dterm_attenuation
| Maximum D-term attenution percentage for horizontal velocity PID controller (Multirotor). It allows to smooth the PosHold CRUISE, WP and RTH when Multirotor is traveling at full speed. Dterm is not attenuated at low speeds, breaking and accelerating. Values 0 - 100, default 90 |
nav_mc_vel_xy_dterm_attenuation_start
| A point (in percent of both target and current horizontal velocity) where nav_mc_vel_xy_dterm_attenuation begins. Values 0 - 100, default 10
|
nav_mc_vel_xy_dterm_attenuation_end
| A point (in percent of both target and current horizontal velocity) where nav_mc_vel_xy_dterm _attenuation reaches maximum. Values 0-100, default 60
|
mc_cd_lpf_hz
| Cutoff frequency for Control Derivative. Lower value smoother reaction on fast stick movements. With higher values, response will be more aggressive and jerky. Values 0 - 200, default 30 |
setpoint_kalman_enabled
| Enable Kalman filter on the PID controller setpoint. Values OFF , ON , default OFF
|
setpoint_kalman_q
| Quality factor of the setpoint Kalman filter. Higher values means less filtering and lower phase delay. On 3-7 inch multirotors can be usually increased to 200-300 or even higher on clean builds. Values 1 - 16000, default 100 |
setpoint_kalman_w
| Window size for the setpoint Kalman filter. Wider the window, more samples are used to compute variance. In general, wider window results in smoother filter response. Values 1 - 40, default 4 |
setpoint_kalman_sharpness
| Dynamic factor for the setpoint Kalman filter. In general, the higher the value, the more dynamic Kalman filter gets. Values 1 - 16000, default 100 |
inav_use_gps_no_baro
| Values OFF , ON , default OFF
|
nav_fw_pitch2thr_smoothing
| How smoothly the autopilot makes pitch to throttle correction inside a deadband defined by nav_fw_pitch2thr_threshold . Values 0 - 9, default 0
|
nav_fw_pitch2thr_threshold
| Threshold from average pitch where momentary pitch_to_throttle correction kicks in. [decidegrees]. Values 0 - 900, default 0 |
nav_fw_launch_end_time
| Time for the transition of throttle and pitch angle, between the launch state and the subsequent flight mode [ms]. Values 0 - 5000, default 2000 |
mavlink_extra3_rate
| Values 0 - 255, default 1 |
osd_snr_alarm
| Value below which Crossfire SNR Alarm pops-up. (dB). Values -12 - 8, default 4 |
osd_link_quality_alarm
| LQ % indicator blinks below this value. For Crossfire use 70%, for Tracer use 50%". Values 0 - 100, default 70 |
osd_crsf_lq_format
| OSD display format for CRSF LQ. Values TYPE1 or TYPE2
|
osd_force_grid
| Force OSD to work in grid mode even if the OSD device supports pixel level access (mainly used for development). Default OFF
|
osd_ahi_bordered
| Shows a border/corners around the AHI region (pixel OSD only). Default OFF
|
osd_ahi_width
| AHI width in pixels (pixel OSD only). Values 0 - 255, default 132 |
osd_ahi_height
| AHI width in pixels (pixel OSD only). Values 0 - 255, default 162 |
osd_ahi_vertical_offset
| AHI vertical offset from center (pixel OSD only). Values -128 - 127, default 0 |
osd_sidebar_horizontal_offset
| Sidebar horizontal offset from default position. Positive values move the sidebars closer to the edges. Values -128 - 127, default 0 |
osd_left_sidebar_scroll_step
| How many units each sidebar step represents. 0 means the default value for the scroll type. Values 0 - 255, default 0 |
osd_right_sidebar_scroll_step
| How many units each sidebar step represents. 0 means the default value for the scroll type. Values 0 - 255, default 0 |
smartport_master_halfduplex
| Values OFF , ON , default ON
|
smartport_master_inverted
| Values OFF , ON , default OFF
|
dji_esc_temp_source
| Re-purpose the ESC temperature field for IMU/BARO temperature. Values ESC , IMU , BARO , default ESC
|
dji_workarounds
| Enables workarounds for different versions of MSP protocol used. Values 0 - 255, default 1. May be set to 0 for non-DJI rigs, otherwise leave at default. |
dji_use_name_for_messages
| Re-purpose the craft name field for messages. Replace craft name with :WTSED for Warnings, Throttle, Speed, Efficiency, Trip distance. Values OFF , ON , default ON
|
Removed settings
Setting | Description |
---|---|
nav_rth_home_offset_distance
| Replaced by safehome
|
nav_rth_home_offset_direction
| Replaced by safehome
|
gyro_notch1_hz and gyro_notch2_hz
| Replaced by gyro_notch_hz
|
gyro_notch1_cutoff and gyro_notch2_cutoff
| Replaced by gyro_notch_cutoff
|
use_dterm_fir_filter
| |
dterm_setpoint_weight
| |
dterm_notch_hz
| |
dterm_notch_cutoff
| |
mc_iterm_relax_type
|
New drivers and protocols
- DPS310 barometer (@digitalentity)
New waypoint types support: SET_HEAD and SET_POI (@stronnag)
The SET_POI
WP type defines a location for a point of interest (POI). The craft will fly the mission (until a SET_HEAD) with the nose pointing at the POI, which might be useful for aerial photography. Note that the craft does NOT fly to the POI. Wiki description and example.
The SET_HEAD
type sets the craft's heading (where it 'looks', not the direction of travel). This may be useful for useful for aerial photography. A value of -1
causing the heading to be 'straight ahead', i.e. the direction of travel. Thus, SET_POI
-1
may used to cancel a previous valid SET_HEAD
or SET_POI
. A SET_HEAD
remains in force until cancelled by SET_HEAD
with p1
of -1
, or modified by a subsequent SET_HEAD
or SET_POI
. Wiki description and example.
For now, this new waypoint types works only for multirotors, as this type of aircraft can fly "looking" to a different direction than it's flying. Different of an airplane, which can only fly forward and thus can only look forward when flying.
Safehome (@tonyyng)
Safehome replaces the nav_rth_home_offset_*
settings, and allows the pilot to define up to 8 alternative home locations as absolute positions (lat, lon as decimal degress * 10,000,000). If a safehome
is within 200m of the arming point, it will be used as the home location for RTH etc. Please see the separate document Safehomes.md.
Improvements to RTH/WP handling (@digitalentity).
WP mode activation with no mission loaded previously kept the current flight mode which may be counter-intuitive to the pilot. OSD will show that the mode is kept, however WP missions are generally not FPV. This PR creates a fallback in such case and will execute RTH instead which is safer than let the drone drift away. Also fixes a bug when RTH procedure may get interrupted in case of a brief sensor loss and switch out to ANGLE, ACRO or MANUAL instead of EMERGENCY. On airplanes with a certain RTH settings a brief GPS loss is tolerated in the navigation state machine, while the RTH activation bug would still bail out. This PR fixes this by making RTH procedure sticky, similar to other navigation flight modes.
cmake Development environment (@fiam)
inav 2.6 updates the build environment to use cmake
as the build management tool. The developer build documentation has been updated for all platforms (MacOS, Linux, Windows, FreeBSD). Please see the platform specific documentation.
extend DJI OSD elements through craft_name
inav 2.6 can populate warnings and multiple (by DJI unsupported) OSD elements into the craft_name field.
Enable the feature via set dji_use_name_for_messages = ON
and configure the elements through the name
, considering:
- name must starts with ":" to enable workaround
- each configurable elements is represented by 1 capital letter like:
- (W)arnings, trip (D)istance, 3D (S)peed, (T)hrottle, (E)fficiency
- example:
set name = :WDSTE
- to use warnings, W must be the first character (although warnings are still optional)
- each non-warning element will iterate for 3 seconds
- invalid characters will be handled and shown as UNKOWN_ELEM
- if warnings are present, other elements will be overriden
- warning elements are shortend due to character limitation of the craft_name in DJI
Small improvements
- New Azimuth OSD element (@danarrib) - Shows the direction of the aircraft from home. It's useful to keep the aircraft flying on the correct path in front of a high gain directional antenna.
- Automatic CLI documentation (@nmaggioni) - Now the CLI.md document is auto-generated based on actual source code. It means that now this documentation is much more accurate and always updated.
- Removed "AIR" flight mode on the OSD (@MrD-RC) - Airmode is not a flight mode itself, it's just ACRO.
Main features
- SRXL2 RX protocol
- Improved compass calibration
- Smoother autonomous flight on Multirotors: CRUISE, WP, RTH
- Allow Multirotor baro-less operations
- SET_HEAD and SET_POI WP types
- Removed gyro notch 2
- Multirotor Control Derivative - an equivalent of Betaflight FeedForward - Dterm is always computed from measurement
- Gyro Kalman Filter aka Unicorn Filter
- Safehomes
- F.port2
- Global Functions and Logic Conditions unification
- IO expander based on PCF8574 support see here for details
- Change OSD layout with Logic Conditions
- Logic Conditions sin, cos, tan and range scaling
- Improved airplane airmode handling
- OneShot125 is now a default ESC protocol
- Iterm Relax simplification
- Improved OSD CMS PID mechanics filters
- Improved Crossfire support: SNR, LQ and alarms
- Blackbox is not allowed to log faster than 1kHz
- Allow smoother smooth transition of throttle and pitch angle between the launch climb and the subsequent flight mode
- Allow smoother throttle change in flight modes that maintain altitude
- Add ESC/IMU/BARO temperature to DJI OSD
- Update flight modes map to match Arduplane/Arducopter MAVLink telemetry for compatibility with OpenHD
- Support UBLOX M9N GPS and more GPS baud rates #6182, #6269
- Additional TURN_ASSIST pitch gain for coordinated turns - allowing smoother turns in automated modes on tailless airplanes
- Support for additional MSP-based GPS, BARO, COMPASS and PITOT sensors based on AP_Periph or custom firmwares