Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
d691333
Add airspeed TPA support
shota3527 Sep 26, 2025
6bc321b
minor fix
shota3527 Sep 27, 2025
e14ba5d
VANTAC_RF007: Add new target FrSky/Rotorflight Vantac RF007
functionpointer Oct 25, 2025
0c6b4fd
VANTAC_RF007: combine targets
functionpointer Nov 1, 2025
c1e2112
airspeed tpa
shota3527 Nov 6, 2025
4c44d5f
Initialize pidGainsUpdateRequired to true for proper PID gain updates
shota3527 Nov 6, 2025
9603361
raise pitot_lpf_milli_hz
shota3527 Nov 6, 2025
00c9db0
enhance tpa with pitch angle aware
shota3527 Nov 16, 2025
54f437a
Merge remote-tracking branch 'origin/master' into sh_airspeed_tpa
shota3527 Nov 16, 2025
95a9795
VANTAC_RF007: Fix UART3/I2C2 resource conflict on port C
functionpointer Nov 22, 2025
0c52ff0
VANTAC_RF007: USE_DSHOT_DMAR, modify defaults
functionpointer Nov 23, 2025
7390501
added msp set gvar
xznhj8129 Nov 29, 2025
e672d23
Add GitHub Action to suggest maintenance branches for PRs targeting m…
sensei-hacker Nov 30, 2025
15fc53a
Update .github/workflows/pr-branch-suggestion.yml
sensei-hacker Nov 30, 2025
3e4efe1
Merge pull request #11148 from sensei-hacker/github-action-pr-branch-…
sensei-hacker Nov 30, 2025
82021b5
Github action change pull_request to pull_request_target event
sensei-hacker Nov 30, 2025
557c35d
Add release creation guide to developer documentation
sensei-hacker Nov 30, 2025
50736c1
Fix missing magnetometer support on NEXUSX target
sensei-hacker Dec 3, 2025
0fca2e4
VANTAC_RF007: Add MAG support
functionpointer Dec 3, 2025
f28f725
Update LedStrip.md
Barnabasek Dec 3, 2025
ad011e8
Merge pull request #11159 from Barnabasek/patch-1
sensei-hacker Dec 4, 2025
ad8d8c2
Fix NEXUSX magnetometer to use accessible I2C2 bus
sensei-hacker Dec 6, 2025
5c3f1be
Add support for Puya PY25Q128HA flash chip
sensei-hacker Dec 6, 2025
29215e0
Update docs/development/release-create.md
sensei-hacker Dec 6, 2025
96b9501
Update docs/development/release-create.md
sensei-hacker Dec 6, 2025
b8cfd7c
Update docs/development/release-create.md
sensei-hacker Dec 6, 2025
4f56b90
Merge pull request #11152 from sensei-hacker/docs-release-creation-guide
sensei-hacker Dec 6, 2025
34e3e4b
Merge pull request #11146 from xznhj8129/msp_set_gvar
sensei-hacker Dec 6, 2025
edf5029
Merge pull request #11157 from sensei-hacker/fix-nexusx-magnetometer-…
sensei-hacker Dec 6, 2025
68546a2
Merge pull request #11167 from iNavFlight/maintenance-9.x
sensei-hacker Dec 7, 2025
11ca236
Add MSP2_INAV_LOGIC_CONDITIONS_CONFIGURED command
sensei-hacker Dec 8, 2025
2257be3
Merge pull request #11171 from sensei-hacker/feature/logic-conditions…
sensei-hacker Dec 8, 2025
111894c
Fix cppcheck critical bugs: integer overflow and buffer overrun
sensei-hacker Dec 9, 2025
cdca77e
Fix CRSF buffer overflow and dashboard sizeof bug
sensei-hacker Dec 10, 2025
691996e
guard if max conditions is increased beyond 64
sensei-hacker Dec 10, 2025
89850d7
update on tpa
shota3527 Dec 10, 2025
4690775
update docs
shota3527 Dec 10, 2025
7f9da38
Merge remote-tracking branch 'origin/master' into sh_airspeed_tpa
shota3527 Dec 10, 2025
31a5cbe
minor fix on comments
shota3527 Dec 10, 2025
65fdd6a
Merge remote-tracking branch 'origin/master' into sh_airspeed_tpa
shota3527 Dec 10, 2025
253cd41
minor fix
shota3527 Dec 10, 2025
4d3ee07
fix: correct floating-point division in throttle adjustment calculation
shota3527 Dec 10, 2025
2152748
Merge pull request #11172 from sensei-hacker/fix/cppcheck-critical-bugs
sensei-hacker Dec 12, 2025
687314b
Update CMakeLists.txt
wchnflr Dec 15, 2025
296277f
Update CMakeLists.txt
wchnflr Dec 15, 2025
938a63c
Update target.h
wchnflr Dec 15, 2025
66efa02
Edit text on line 87.
wchnflr Dec 15, 2025
c54d150
Fix typo on Line 262
wchnflr Dec 15, 2025
bebd887
8226 deprecated, enum parse fix, enums json
xznhj8129 Dec 17, 2025
5012f3c
Docs: Add Power and Current Limiting documentation to Battery.md
sensei-hacker Dec 18, 2025
e4cc1df
Fix power limiting treating 0 (disabled) as less than continuous
sensei-hacker Dec 18, 2025
8eb2930
Fix formula divisor in power limit calibration tips
sensei-hacker Dec 18, 2025
ec65625
docs: Update Development.md with maintenance branch workflow
sensei-hacker Dec 19, 2025
6458e37
Docs: Update JavaScript Programming documentation to use namespaced s…
sensei-hacker Dec 21, 2025
b380985
Fix H743 USB MSC regression using standalone MSC mode
sensei-hacker Dec 21, 2025
146ff56
Fix H7 SDIO alignment issue and add retry logic
sensei-hacker Dec 21, 2025
0124916
Add timeout protection to USB MSC read/write loops
sensei-hacker Dec 21, 2025
24e7b88
Merge pull request #11194 from sensei-hacker/fix/h743-usb-msc-standal…
sensei-hacker Dec 21, 2025
535291b
docs: Add branch propagation section and simplify fork update
sensei-hacker Dec 21, 2025
f644fa2
Merge pull request #11191 from sensei-hacker/docs-update-branching-st…
sensei-hacker Dec 21, 2025
8ff1820
Merge pull request #11187 from sensei-hacker/docs-power-limiting-docu…
sensei-hacker Dec 21, 2025
fd9ca51
Docs: Add new JavaScript features (PID, flight modes, let/const, tern…
sensei-hacker Dec 21, 2025
58b4159
Merge pull request #11175 from sensei-hacker/docs/javascript-programm…
sensei-hacker Dec 21, 2025
3c4b8ff
Merge pull request #11173 from sensei-hacker/feature/logic-conditions…
sensei-hacker Dec 21, 2025
2747993
Merge pull request #11042 from shota3527/sh_airspeed_tpa
sensei-hacker Dec 21, 2025
1b7dcca
Merge pull request #11197 from iNavFlight/master
sensei-hacker Dec 22, 2025
880c89a
Merge pull request #11192 from wchnflr/omnibusf4v3_icm
sensei-hacker Dec 22, 2025
b7bfdee
BLUEBERRYF435WING: Disable dynamic notch filter by default
sensei-hacker Dec 23, 2025
e6306f8
Include cygwin1.dll in Windows SITL artifact
sensei-hacker Dec 24, 2025
b5da577
Merge pull request #11199 from sensei-hacker/fix-blueberry-disable-dy…
sensei-hacker Dec 24, 2025
8b58427
Merge pull request #11203 from sensei-hacker/ci-sitl-cygwin-dll
sensei-hacker Dec 24, 2025
2c9854d
Merge pull request #11166 from sensei-hacker/add-puya-py25q128ha-flas…
sensei-hacker Dec 24, 2025
d890dd1
Add maintenance-9.x to nightly build workflow
sensei-hacker Dec 24, 2025
ba2e800
Update OSD elements in documentation
MrD-RC Dec 28, 2025
c4bee56
Merge pull request #11213 from iNavFlight/MrD-RC-patch-1
sensei-hacker Dec 28, 2025
af58d2b
Merge pull request #11205 from iNavFlight/maintenance-9.x
sensei-hacker Dec 30, 2025
402c2d5
Fix blackbox MOTORS condition mismatch causing null byte padding
sensei-hacker Dec 31, 2025
4329d4f
Add prominent download links to README
sensei-hacker Dec 31, 2025
9ff9943
Add GPS-based pitot sensor validation with automatic fallback
sensei-hacker Jan 3, 2026
80ec5cd
Improve APA safety: reduce I-term scaling and maximum gain
sensei-hacker Jan 3, 2026
b3ac0f5
Add defensive airspeed clamping to prevent division issues
sensei-hacker Jan 3, 2026
65b9eb4
RADIOLINKF722: add w25q128 flash
chao11223344 Jan 8, 2026
7897f7f
Fix pitot validation to use virtual airspeed on failure
sensei-hacker Jan 9, 2026
933bbfc
Adjust TPA parameters for fixed-wing aircraft
sensei-hacker Jan 10, 2026
0633460
Merge pull request #11237 from sensei-hacker/implement-pitot-sensor-v…
sensei-hacker Jan 10, 2026
605d365
Fix Settings.md documentation to match settings.yaml
sensei-hacker Jan 10, 2026
85f4ebb
Merge pull request #11220 from sensei-hacker/fix-blackbox-motors-null…
sensei-hacker Jan 10, 2026
797d64c
Add optional DFU mode parameter to MSP_REBOOT command
sensei-hacker Jan 11, 2026
94420f5
Remove unused mspPostProcessFn parameter from mspFcProcessOutCommand
sensei-hacker Jan 11, 2026
4831376
Add payload size validation to MSP_REBOOT command
sensei-hacker Jan 11, 2026
c0f760b
Revert "Remove unused mspPostProcessFn parameter from mspFcProcessOut…
sensei-hacker Jan 11, 2026
220e90a
Improve blackbox DEBUG documentation
sensei-hacker Jan 11, 2026
c12fc84
Refactor MSP_REBOOT: eliminate global variable
sensei-hacker Jan 11, 2026
d4fac2c
Merge pull request #11238 from sensei-hacker/msp-reboot-dfu-mode
sensei-hacker Jan 11, 2026
a06dd93
Merge pull request #11222 from iNavFlight/implement-pitot-sensor-vali…
sensei-hacker Jan 11, 2026
97722c8
Merge pull request #11221 from sensei-hacker/easy-configurator-downlo…
sensei-hacker Jan 11, 2026
f67d0a0
Merge pull request #11239 from sensei-hacker/docs/blackbox-debug-impr…
sensei-hacker Jan 11, 2026
2db0601
Merge pull request #11185 from xznhj8129/msp_deprecated_8226
sensei-hacker Jan 13, 2026
8ba8d27
Merge pull request #11232 from radiolinkW/RADIOLINKF722
sensei-hacker Jan 13, 2026
8892021
Merge pull request #11204 from iNavFlight/add-maintenance-9x-to-nightly
sensei-hacker Jan 13, 2026
4001681
Merge pull request #11082 from functionpointer/vantac_rf007
sensei-hacker Jan 14, 2026
a7932b9
Merge pull request #11247 from iNavFlight/master
sensei-hacker Jan 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -256,11 +256,15 @@ jobs:
for f in ./build_SITL/*_SITL.exe; do
mv $f $(echo $f | sed -e 's/_[0-9]\+\.[0-9]\+\.[0-9]\+//')
done
- name: Copy cygwin1.dll
run: cp /bin/cygwin1.dll ./build_SITL/
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_NAME }}_SITL-WIN
path: ./build_SITL/*.exe
path: |
./build_SITL/*.exe
./build_SITL/cygwin1.dll

test:
#needs: [build]
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/nightly-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ name: Build pre-release
# Don't enable CI on push, just on PR. If you
# are working on the main repo and want to trigger
# a CI build submit a draft PR.
on:
on:
push:
branches:
- master
- maintenance-8.x.x
- maintenance-9.x
paths:
- 'src/**'
- '.github/**'
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/pr-branch-suggestion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: PR Branch Suggestion

on:
pull_request_target:
types: [opened]
branches:
- master

jobs:
suggest-branch:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Suggest maintenance branch
uses: actions/github-script@v7
with:
script: |
const comment = `### Branch Targeting Suggestion

You've targeted the \`master\` branch with this PR. Please consider if a version branch might be more appropriate:

- **\`maintenance-9.x\`** - If your change is backward-compatible and won't create compatibility issues between INAV firmware and Configurator 9.x versions. This will allow your PR to be included in the next 9.x release.

- **\`maintenance-10.x\`** - If your change introduces compatibility requirements between firmware and configurator that would break 9.x compatibility. This is for PRs which will be included in INAV 10.x

If \`master\` is the correct target for this change, no action is needed.

---
*This is an automated suggestion to help route contributions to the appropriate branch.*`;

try {
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
});
} catch (err) {
core.setFailed(`Failed to post suggestion comment: ${err}`);
}
149 changes: 149 additions & 0 deletions docs/Battery.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,155 @@ current_meter_scale = (reported_draw_mAh / charging_data_mAh) * old_current_mete
= 435
```

## Power and Current Limiting

INAV includes an advanced power and current limiting system to protect your battery and ESCs from excessive discharge rates. This feature automatically reduces throttle output when current or power draw exceeds configured limits.

### Why Use Power Limiting?

Power and current limiting helps:
- **Protect batteries** from exceeding their C-rating and getting damaged
- **Prevent voltage sag** and brown-outs during high-throttle maneuvers
- **Extend battery lifespan** by avoiding excessive discharge rates
- **Improve safety** by preventing ESC or battery overheating
- **Comply with regulations** that may limit power output

### How It Works

The power limiter uses a PI (Proportional-Integral) controller to smoothly reduce throttle when current or power exceeds limits. It supports two operating modes:

1. **Continuous Limit**: The sustained current/power that can be drawn indefinitely
2. **Burst Limit**: A higher current/power allowed for a short duration before falling back to the continuous limit

This burst mode allows brief high-power maneuvers (like punch-outs or quick climbs) while protecting the battery during sustained high-throttle flight.

### Configuration

Power limiting requires a current sensor (`CURRENT_METER` feature). Power-based limiting additionally requires voltage measurement (`VBAT` feature).

#### Basic Settings (per battery profile)

| Setting | Description | Unit | Range |
|---------|-------------|------|-------|
| `limit_cont_current` | Continuous current limit | dA (deci-amps) | 0-2000 (0-200A) |
| `limit_burst_current` | Burst current limit | dA | 0-2000 (0-200A) |
| `limit_burst_current_time` | Duration burst is allowed | ds (deci-seconds) | 0-600 (0-60s) |
| `limit_burst_current_falldown_time` | Ramp-down duration from burst to continuous | ds | 0-600 (0-60s) |
| `limit_cont_power` | Continuous power limit | dW (deci-watts) | 0-20000 (0-2000W) |
| `limit_burst_power` | Burst power limit | dW | 0-20000 (0-2000W) |
| `limit_burst_power_time` | Duration burst power is allowed | ds | 0-600 (0-60s) |
| `limit_burst_power_falldown_time` | Ramp-down duration for power | ds | 0-600 (0-60s) |

**Note**: Set any limit to `0` to disable that specific limiter.

#### Advanced Tuning Settings

| Setting | Description | Default | Range |
|---------|-------------|---------|-------|
| `limit_pi_p` | Proportional gain for PI controller | 100 | 10-500 |
| `limit_pi_i` | Integral gain for PI controller | 15 | 10-200 |
| `limit_attn_filter_cutoff` | Low-pass filter cutoff frequency | 50 Hz | 10-200 |

### Example Configurations

#### Example 1: Simple Current Limiting (50A continuous)

Protect a 1500mAh 4S 50C battery (75A max burst, 50A continuous safe):

```
battery_profile 1

set limit_cont_current = 500 # 50A continuous
set limit_burst_current = 750 # 75A burst
set limit_burst_current_time = 100 # 10 seconds
set limit_burst_current_falldown_time = 20 # 2 second ramp-down
```

#### Example 2: Power Limiting for Racing (500W limit)

Limit total system power for racing class restrictions:

```
battery_profile 1

set limit_cont_power = 4500 # 450W continuous
set limit_burst_power = 5000 # 500W burst
set limit_burst_power_time = 50 # 5 seconds
set limit_burst_power_falldown_time = 10 # 1 second ramp-down
```

#### Example 3: Combined Current and Power Limiting

Protect both battery (current) and ESCs (power):

```
battery_profile 1

# Current limits (battery protection)
set limit_cont_current = 600 # 60A continuous
set limit_burst_current = 800 # 80A burst
set limit_burst_current_time = 100 # 10 seconds

# Power limits (ESC protection)
set limit_cont_power = 8000 # 800W continuous
set limit_burst_power = 10000 # 1000W burst
set limit_burst_power_time = 100 # 10 seconds
```

### Understanding Burst Mode

When you exceed the continuous limit, the system uses "burst reserve" (like a capacitor):
- **Burst reserve** starts full and depletes when current/power exceeds the continuous limit
- When reserve is empty, the limit drops to the continuous value
- The `falldown_time` setting creates a smooth ramp-down instead of an abrupt drop
- Reserve recharges when current/power drops below the continuous limit

**Example timeline** (60A continuous, 80A burst, 10s burst time, 2s falldown):
```
Time Limit Reason
---- ----- ------
0s 80A Full burst reserve
5s 80A Still have reserve (using 5s of 10s)
10s 80A Reserve depleted
10-12s 80→60A Ramping down over 2 seconds
12s+ 60A Continuous limit active
```

### OSD Elements

Three OSD elements display power limiting status:

- **`OSD_PLIMIT_REMAINING_BURST_TIME`**: Shows remaining burst time in seconds
- **`OSD_PLIMIT_ACTIVE_CURRENT_LIMIT`**: Shows current limit being enforced (blinks when limiting)
- **`OSD_PLIMIT_ACTIVE_POWER_LIMIT`**: Shows power limit being enforced (blinks when limiting)

Enable these in the OSD tab to monitor limiting during flight.

### Calibration Tips

1. **Find your battery's limits**: Check manufacturer specifications for continuous and burst C-ratings
- Continuous limit = `battery_capacity_mAh × continuous_C_rating / 100` (in dA)
- Burst limit = `battery_capacity_mAh × burst_C_rating / 100` (in dA)

2. **Test incrementally**: Start with conservative limits and increase gradually

3. **Monitor in flight**: Use OSD elements to see when limiting activates

4. **Calibrate current sensor**: Accurate current readings are critical - see "Current Monitoring" section above

5. **Tune PI controller**: If limiting feels abrupt or causes oscillation, adjust `limit_pi_p` and `limit_pi_i`:
- Increase P for faster response (may cause oscillation)
- Increase I for better steady-state accuracy
- Decrease if throttle oscillates during limiting

### Notes

- Power limiting is part of the battery profile system - each profile can have different limits
- Both current and power limiting can be active simultaneously - the most restrictive applies
- Limiting is applied smoothly via PI controller to avoid abrupt throttle cuts
- The system uses instantaneous current/power readings for responsive limiting
- Set limits to `0` to disable a specific limiter while keeping others active

## Battery capacity monitoring

For the capacity monitoring to work you need a current sensor (`CURRENT_METER` feature). For monitoring energy in milliWatt hour you also need voltage measurement (`VBAT` feature). For best results the current and voltage readings have to be calibrated.
Expand Down
26 changes: 25 additions & 1 deletion docs/Blackbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ These chips are also supported:
* Winbond W25Q64 - 64 Mbit / 8 MByte
* Micron N25Q0128 - 128 Mbit / 16 MByte
* Winbond W25Q128 - 128 Mbit / 16 MByte
* Puya PY25Q128HA - 128 Mbit / 16 MByte
* Winbond W25N01 - 1 Gbit / 128 MByte
* Winbond W25N02 - 2 Gbit / 256 MByte

Expand Down Expand Up @@ -165,13 +166,36 @@ The CLI command `blackbox` allows setting which Blackbox fields are recorded to
* `PEAKS_R` - Roll axis noise peak
* `PEAKS_P` - Pitch axis noise peak
* `PEAKS_Y` - Yaw axis noise peak
* `SERVOS` - Servo outputs (for planes, tris, etc.)

Usage:

* `blackbox` currently enabled Blackbox fields
* `blackbox list` all available fields
* `blackbox -MOTORS` disable MOTORS logging
* `blackbox MOTOR` enable MOTORS logging
* `blackbox MOTORS` enable MOTORS logging

### Debug Mode Logging

In addition to the standard blackbox fields above, INAV supports logging debug values for troubleshooting and analysis via the `debug_mode` setting. When a debug mode is active, it populates 8 debug values (`debug[0]` through `debug[7]`) with mode-specific data that gets logged to the blackbox.

Available debug modes include:
- `FLOW_RAW` - Optical flow sensor raw data (useful for sensor alignment)
- `LANDING` - Landing mode debugging
- `POS_EST` - Position estimation debugging
- `GPS` - GPS debugging
- `ALTITUDE` - Altitude estimation debugging
- And 20+ other modes for specific subsystems

To use debug mode logging:
```
set debug_mode = FLOW_RAW # Enable a specific debug mode
set debug_mode = NONE # Disable debug mode (default)
```

You can view current debug values in the CLI with the `debug` command, or display them in real-time on your OSD using the `OSD_DEBUG` element.

For technical details on debug logging and blackbox internals, see the [Blackbox Internals](development/Blackbox%20Internals.md) documentation.

## Usage

Expand Down
4 changes: 2 additions & 2 deletions docs/LedStrip.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Enable the Led Strip feature via the GUI under setup.
Configure the leds from the Led Strip tab in the INAV GUI.
First setup how the led's are laid out so that you can visualize it later as you configure and so the flight controller knows how many led's there are available.

There is a step by step guide on how to use the GUI to configure the Led Strip feature using the GUI http://blog.oscarliang.net/setup-rgb-led-cleanflight/ which was published early 2015 by Oscar Liang which may or may not be up-to-date by the time you read this.
There is a step by step guide on how to use the GUI to configure the Led Strip feature using the GUI https://oscarliang.com/setup-led-betaflight/ which was published early 2015 by Oscar Liang which may or may not be up-to-date by the time you read this.

CLI:
Enable the `LED_STRIP` feature via the cli:
Expand Down Expand Up @@ -605,4 +605,4 @@ This also means that you can make sure that each R,G and B LED in each LED modul

After a short delay the LEDs will show the unarmed color sequence and or low-battery warning sequence.

Also check that the feature `LED_STRIP` was correctly enabled and that it does not conflict with other features, as above.
Also check that the feature `LED_STRIP` was correctly enabled and that it does not conflict with other features, as above.
1 change: 1 addition & 0 deletions docs/OSD.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ Here are the OSD Elements provided by INAV.
| 165 | OSD_V_DIST_TO_FENCE | 8.0.0 | |
| 166 | OSD_NAV_FW_ALT_CONTROL_RESPONSE | 8.0.0 | |
| 167 | OSD_NAV_MIN_GROUND_SPEED | 9.0.0 | |
| 168 | OSD_THROTTLE_GAUGE | 9.0.0 | |

# Pilot Logos

Expand Down
26 changes: 23 additions & 3 deletions docs/Settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,16 @@ Max Antigravity gain. `1` means Antigravity is disabled, `2` means Iterm is allo

---

### apa_pow

Use airspeed instead of throttle position for PID attenuation if airspeed is available on fixedwing. Scales P/D/FF with airspeed (I-term scaled less aggressively). Gains range from 30% (high speed) to 150% (low speed). Set to 0 to disable and use throttle-based attenuation. Recommended: 120 for aircraft with validated pitot sensor.

| Default | Min | Max |
| --- | --- | --- |
| 0 | 0 | 200 |

---

### applied_defaults

Internal (configurator) hint. Should not be changed manually
Expand Down Expand Up @@ -1468,7 +1478,7 @@ TPA smoothing and delay time constant to reflect non-instant speed/throttle resp

| Default | Min | Max |
| --- | --- | --- |
| 1500 | 0 | 5000 |
| 2000 | 0 | 5000 |

---

Expand Down Expand Up @@ -6442,13 +6452,23 @@ Throttle PID attenuation also reduces influence on YAW for multi-rotor, Should b

---

### tpa_pitch_compensation

Pitch angle based throttle compensation for fixed wing. Positive values will increase throttle when pitching up, and decrease throttle when pitching down.

| Default | Min | Max |
| --- | --- | --- |
| 8 | 0 | 20 |

---

### tpa_rate

Throttle PID attenuation reduces influence of PDFF on ROLL and PITCH of multi-rotor, PIDFF on ROLL,PITCH,YAW OF fixed_wing as throttle increases. For every 1% throttle after the TPA breakpoint, P is reduced by the TPA rate.
Throttle based PID attenuation(TPA) reduces influence of PDFF on ROLL and PITCH of multi-rotor, PIDFF on ROLL,PITCH,YAW OF fixed_wing as throttle increases. On multirotor, For every 1% throttle after the TPA breakpoint, P is reduced by the TPA rate. for fixedwing modifies PIDFF. See **PID Attenuation and scaling** Wiki for full details.

| Default | Min | Max |
| --- | --- | --- |
| 0 | 0 | 100 |
| 0 | 0 | 200 |

---

Expand Down
24 changes: 18 additions & 6 deletions docs/USB Flashing.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,26 @@ With the board connected and in bootloader mode (reset it by sending the charact

Put the device into DFU mode by **one** of the following:

* Use the hardware button on the board
* Send a single 'R' character to the serial device, e.g. on POSIX OS using `/dev/ttyACM0` at 115200 baudrate.
* **Hardware button:** Press and hold the DFU/BOOT button while plugging in USB

* **Serial CLI sequence:** Send `####\r\n`, wait for CLI prompt, then send `dfu\r\n`

```bash
# Enter CLI mode
echo -ne '####\r\n' > /dev/ttyACM0

# Wait for "CLI" prompt (important - don't skip!)
# Recommended: use a proper script that reads serial response

# Send DFU command
echo -ne 'dfu\r\n' > /dev/ttyACM0
```
stty 115200 < /dev/ttyACM0
echo -ne 'R' > /dev/ttyACM0
```
* Use the CLI command `dfu`

**Note:** The simple single 'R' character method shown in older documentation is unreliable. The above sequence is required for proper CLI entry.

* **CLI command:** If already connected to CLI via configurator or terminal: type `dfu`

* **MSP command:** Use MSP_REBOOT with DFU parameter (INAV 9.x+) - most reliable programmatic method

It is necessary to convert the `.hex` file into `Intel binary`. This can be done using the GCC `objcopy` command; e.g. for the notional `inav_x.y.z_NNNNNN.hex`.

Expand Down
Loading