Skip to content

Commit e7d5cce

Browse files
Merge pull request #11622 from iNavFlight/release/9.1
Release/9.1 to master
2 parents c497d4f + 48829a5 commit e7d5cce

74 files changed

Lines changed: 2470 additions & 773 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ else()
5252
endif()
5353

5454

55-
project(INAV VERSION 9.0.1)
55+
project(INAV VERSION 9.1.0)
5656

5757

5858
enable_language(ASM)

cmake/pg_struct_sizes.reference.db

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,4 @@ telemetryConfig_t 58 8
4747
timeConfig_t 4 1
4848
vtxConfig_t 55 4
4949
vtxSettingsConfig_t 12 2
50+
pinioBoxConfig_t 4 1

cmake/stm32.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ function(target_stm32)
285285
cmake_parse_arguments(
286286
args
287287
# Boolean arguments
288-
"DISABLE_MSC;BOOTLOADER"
288+
"DISABLE_MSC;BOOTLOADER;NO_BOOTLOADER"
289289
# Single value arguments
290290
"HSE_MHZ;LINKER_SCRIPT;NAME;OPENOCD_TARGET;OPTIMIZATION;STARTUP;SVD"
291291
# Multi-value arguments
@@ -377,7 +377,7 @@ function(target_stm32)
377377

378378
setup_firmware_target(${main_target_name} ${name} ${ARGN})
379379

380-
if(args_BOOTLOADER)
380+
if(args_BOOTLOADER AND NOT args_NO_BOOTLOADER)
381381
# Bootloader for the target
382382
set(bl_suffix _bl)
383383
add_stm32_executable(

docs/ADSB.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ All ADSB receivers which can send Mavlink [ADSB_VEHICLE](https://mavlink.io/en/m
3434
* [PINGRX](https://uavionix.com/product/pingrx-pro/) (not tested)
3535
* [TT-SC1](https://www.aerobits.pl/product/aero/) (tested)
3636
* [ADSBee1090](https://pantsforbirds.com/adsbee-1090/) (tested)
37+
* [SoftRF](https://github.com/lyusupov/SoftRF/wiki/Nano-Edition) (tested)
3738

3839
## TT-SC1 settings
3940
* download software for ADSB TT-SC1 from https://www.aerobits.pl/product/aero/ , file Micro_ADSB_App-vX.XX.X_win_setup.zip and install it
@@ -63,3 +64,48 @@ AT+SETTINGS=SAVE
6364
* in INAV configurator ports TAB set telemetry MAVLINK, and baudrate 115200
6465
* https://pantsforbirds.com/adsbee-1090/quick-start/
6566

67+
## SoftRF settings
68+
SoftRF supports only MAVLink version 1.
69+
```
70+
set mavlink_version = 1
71+
save
72+
```
73+
The baud rate for SoftRF is 57600. INAV provides minimal support for SoftRF and supports only
74+
the mandatory MAVLink messages: `MAVLINK_MSG_ID_HEARTBEAT`, `MAVLINK_MSG_ID_SYSTEM_TIME`, and `MAVLINK_MSG_ID_GPS_RAW_INT`.
75+
76+
The following messages are not supported: `MAVLINK_MSG_ID_SYS_STATUS`, `MAVLINK_MSG_ID_VFR_HUD`, and `MAVLINK_MSG_ID_ATTITUDE`.
77+
78+
## Alert and Warning
79+
The ADS-B warning/alert system supports two operating modes, controlled by the parameter osd_adsb_calculation_use_cpa (ON or OFF).
80+
81+
---
82+
83+
### ADS-B Warning and Alert Messages (CPA Mode OFF)
84+
The ADS-B warning/alert system supports two operating modes, controlled by the parameter **osd_adsb_calculation_use_cpa** (ON or OFF).
85+
86+
When **osd_adsb_calculation_use_cpa = OFF**, the system evaluates only the **current distance between the aircraft and the UAV**. The aircraft with the **shortest distance** is always selected for monitoring.
87+
88+
- If the aircraft enters the **warning zone** (`adsb_distance_warning`), the corresponding **OSD element is displayed**.
89+
- If the aircraft enters the **alert zone** (`adsb_distance_alert`), the **OSD element starts blinking**, indicating a higher-priority alert.
90+
91+
This mode therefore provides a simple proximity-based warning determined purely by real-time distance.
92+
93+
---
94+
95+
### ADS-B Warning and Alert Messages (CPA Mode ON)
96+
97+
When **osd_adsb_calculation_use_cpa = ON**, the system evaluates aircraft using the **Closest Point of Approach (CPA)** and predicted trajectories, not only the current distance.
98+
99+
1. **Aircraft already inside the alert zone**
100+
If one or more aircraft are currently inside the **alert zone** (`adsb_distance_alert`), the **closest aircraft** to the UAV is selected and the **OSD element blinks**.
101+
102+
2. **Aircraft in the warning zone, none predicted to enter the alert zone**
103+
If aircraft are present in the **warning zone** (`adsb_distance_warning`), but none of them are predicted to enter the **alert zone** (their CPA distance is greater than `adsb_distance_alert`), the **closest aircraft to the UAV** is selected and the **OSD element remains steady** (no blinking).
104+
105+
3. **Aircraft in the warning zone, one predicted to enter the alert zone**
106+
If at least one aircraft in the **warning zone** is predicted to enter the **alert zone**, that aircraft is selected and the **OSD element blinks**.
107+
108+
4. **Aircraft in the warning zone, multiple predicted to enter the alert zone**
109+
If multiple aircraft are predicted to enter the **alert zone**, the system selects the aircraft that will **reach the alert zone first**, and the **OSD element blinks**.
110+
111+
![ADSB CPA_ON](assets/images/adsb-CPA-on.png)

docs/Display.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ Links to displays:
4444

4545
The banggood.com display is the cheapest at the time of writing and will correctly send I2C ACK signals.
4646

47+
### SSD1315 OLED displays
48+
49+
SSD1315 is newer generation drop in replacement for SSD1306. Tested and working unit is bought from https://www.aliexpress.com/item/1005006901360788.html
50+
4751
#### Crius CO-16
4852

4953
This display is best avoided but will work if you modify it.

docs/Mixer.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Each servo mixing rule has the following parameters:
8282
| 26 | Stabilized PITCH- | Clipped between -1000 and 0 |
8383
| 27 | Stabilized YAW+ | Clipped between 0 and 1000 |
8484
| 28 | Stabilized YAW- | Clipped between -1000 and 0 |
85-
| 29 | MAX | Constant value of 500 |
85+
| 29 | FIXED-VALUE (MAX) | Fixed percentage of total range |
8686

8787
The `smix reset` command removes all the existing motor mixing rules.
8888

@@ -103,4 +103,4 @@ Other usages can be:
103103
* automatic parachute deployment
104104
* VTOL and especially tail-sitters that require change in mixings during flight mode transition
105105
* crowbar airbrakes
106-
* any kind of servo mixings that should be changed during flight
106+
* any kind of servo mixings that should be changed during flight

docs/SITL/SITL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ INAV SITL communicates for sensor data and control directly with the correspondi
1818

1919
AS SITL is still an inav software, but running on PC, it is possible to use HITL interface for communication.
2020

21-
INAV-X-Plane-HITL plugin https://github.com/RomanLut/INAV-X-Plane-HITL can be used with SITL.
21+
[INAV-X-Plane-HITL](https://github.com/RomanLut/INAV-X-Plane-HITL) or [INAV-X-Plane-XITL](https://github.com/Scavanger/INAV-X-Plane-XITL) plugin can be used with SITL.
2222

2323
## Sensors
2424
The following sensors are emulated:

docs/SITL/X-Plane.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ X-Plane is not a model flight simulator, but is based on real world data and is
77
## Aircraft
88
It is recommended to use the "AR Wing" of the INAV HITL project: https://github.com/RomanLut/INAV-X-Plane-HITL
99

10+
## INAV Plugin
11+
For advanced SITL features (like OSD, virtual RX, simulated hardware failures, power train simulation) you can use the [INAV-X-Plane-XITL plugin](https://github.com/Scavanger/INAV-X-Plane-XITL)
12+
1013
## General settings
1114
In Settings / Network select "Accept incoming connections".
1215
The port can be found under "UDP PORTS", "Port we receive on". If no connection is established, the port can be changed.

docs/Settings.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6052,16 +6052,6 @@ When feature SERIALRX is enabled, this allows connection to several receivers wh
60526052

60536053
---
60546054

6055-
### servo_autotrim_iterm_rate_limit
6056-
6057-
Maximum I-term rate of change (units/sec) for autotrim to be applied. Prevents trim updates during maneuver transitions when I-term is changing rapidly. Only applies when using `feature FW_AUTOTRIM`.
6058-
6059-
| Default | Min | Max |
6060-
| --- | --- | --- |
6061-
| 2 | 0 | 50 |
6062-
6063-
---
6064-
60656055
### servo_autotrim_rotation_limit
60666056

60676057
Servo midpoints are only updated when total aircraft rotation is less than this threshold [deg/s]. Only applies when using `feature FW_AUTOTRIM`.

docs/VTOL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ save
133133
134134
![Alt text](Screenshots/mixerprofile_fw_mixer.png)
135135
136-
You must also assign the tilting servos values using the MAX values. If you don't do this the motors will point in the direction assigned by the transition mode.
136+
You must also assign the tilting servos values using the Fixed Value values (formerly called "MAX"). If you don't do this the motors will point in the direction assigned by the transition mode.
137137
138138
# STEP 2: Configuring as a Multi-Copter in Profile 2
139139
@@ -149,7 +149,7 @@ You must also assign the tilting servos values using the MAX values. If you don
149149
150150
2. **Configure the Multicopter/tricopter:**
151151
- Set up your multi-copter/fixed-wing as usual, this time for mixer_profile 2 and control_profile 2.
152-
- Utilize the 'MAX' input in the servo mixer to tilt the motors without altering the servo midpoint.
152+
- Utilize the Fixed Value values (formerly called "MAX") input in the servo mixer to tilt the motors without altering the servo midpoint.
153153
- At this stage, focus on configuring profile-specific settings. You can streamline this process by copying and pasting the default PID settings.
154154
- you can set -1 in motor mixer throttle as a place holder: this will disable that motor but will load following the motor rules
155155
- compass is required to enable navigation modes for multi-rotor profile.
@@ -199,7 +199,7 @@ The steps below describe how you can fine-tune the tilting servos to obtian the
199199
2. **Switch to Multicopter/Tricopter:**
200200
- Assuming that you have set up your mixer similar to STEP1 and STEP2, you can now switch to the tricopter/multicopter mode and your servos should be tilting the motors upwards. If this is not the case, reverse the servo(s) in the Outputs tab such that the servo(s) is/are pointed upwards.
201201
- It is OK for the servos not to point exactly 90 degrees upwards, but they should be as close as possible to that position.
202-
- Also, ensure that your MAX values in the Mixer tab are at 100 and -100, so that your servo will move to the maximum position, as shown in the screenshots in STEP1 and STEP2.
202+
- Also, ensure that your Fixed Value values (formerly called "MAX") values in the Mixer tab are at 100 and -100, so that your servo will move to the maximum position, as shown in the screenshots in STEP1 and STEP2.
203203
204204
3. **Adjust the maximum throws for the Multicopter/Tricopter mode:**
205205
- While in tricopter mode, navigate to the Outputs tab and adjust the MIN and MAX endpoint values to position the motors slightly backward.
@@ -214,7 +214,7 @@ The steps below describe how you can fine-tune the tilting servos to obtian the
214214
215215
5. **Adjsut the vertival position of the tilt servos:**
216216
- Switch back to multicopter/tricopter mode and open the Mixer tab.
217-
- Start adjusting the `MAX` mixer lines from STEP2 such that the servos are pointed exactly upwards. In other words, start reducing the values of 100 and -100 to something like 80 and -80 until the motors are are pointed exaxctly upwards.
217+
- Start adjusting the `Fixed Value` mixer lines from STEP2 such that the servos are pointed exactly upwards. In other words, start reducing the values of 100 and -100 to something like 80 and -80 until the motors are are pointed exaxctly upwards.
218218
- You will have to `Save & reboot` for adjustement for the changes to take effect, so be patient, take your time and don't forget to `Save & reboot`.
219219
- Move the YAW stick to either extreme position and ensure that the servos are tilting the motors both forwards and backwards.
220220
- NOTE: When yawing fully left, the left motor should tilt backwards and the right motor should tilt forwards.

0 commit comments

Comments
 (0)