Commit Graph

924 Commits

Author SHA1 Message Date
PX4BuildBot
a86306a146 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-07-01 22:17:34 +00:00
PX4BuildBot
f0c127e5f7 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-07-01 13:06:45 +00:00
Gennaro Guidone
b8c5f66af0 feat(manual_control): replace stick override threshold with double-flick gesture (#27041)
* feat(manual_control): trigger RC override on stick velocity

COM_RC_STICK_OV is now a velocity threshold (1/s) instead of a deflection percentage.
Default 3.0, range [1.0, 10.0]. A stick held statically cannot trigger override.

* docs(manual_control): update COM_RC_STICK_OV description for velocity-based override

* feat(manual_control): gate RC override with sign-consistency check

* fix(ManualControl): lower threshold and filter constant for RC override, add tests for MovingDiff

* refactor(commander): merge RC override params into COM_RC_OVR_SPEED

Replace the COM_RC_OVERRIDE bitmask + COM_RC_STICK_OV threshold with a
single float COM_RC_OVR_SPEED (stick override velocity, 0 = disabled).
Override now applies uniformly in auto and offboard modes.

- ManualControl: rename param, treat 0 as disabled (FLT_EPSILON guard)
- Commander: drop the per-mode bitmask gate and the RcOverrideBits enum
- param_translation: migrate COM_RC_OVERRIDE on import (enabled -> 1.0,
  disabled -> 0.0) and drop the unit-incompatible COM_RC_STICK_OV value
- docs: collapse the two params into one across the mode pages

* fix(manual_override): Move configuration to manual_control module

with MAN_OVERRIDE_SPD parameter and a negative value disabling the feature. All other logic stays in Commander.

* docs(releases): add release note for RC override rework (MAN_OVERRIDE_SPD)

---------

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2026-07-01 14:59:52 +02:00
PX4BuildBot
515d0f6f17 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-07-01 08:48:44 +00:00
Alireza Ghaderi
b885c2d7e9 feat(sim): add X-Plane SITL airframes (#22493) 2026-07-01 18:42:33 +10:00
Hamish Willee
a7a6f4c4d7 docs(docs): Typo in CAN three to there (#27780) 2026-07-01 17:01:37 +10:00
PX4BuildBot
0b47f41d7c docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-30 13:41:37 +00:00
Claudio Chies
f937bd5818 refactor(failure_injection): centralize MAV_CMD_INJECT_FAILURE behind a manager module (#27572)
* feat(failure_injection): add failure_injection topic and helper library

* feat(failure_injection): add failure injection manager module

* refactor(commander): route motor failure injection through the manager

* refactor(simulation): route sensor sim failure injection through the manager

* refactor(simulation): route SimulatorMavlink failure injection through the manager

* feat(failure_injection): start the manager in the SITL startup

* docs(failure_injection): document per-simulator failure support

* feat(failure_injection): enhance failure injection management and configuration

* fix(rebase): baro failure injectionb

* refactor(failure_injection): simplify FailureInjectionManager and FailureTable implementations

* refactor(failure_injection): replace Subscriber with Config in various modules and add update method

* update(uorb): FailureInjection.msg to docs standard

* docs(docs): subedit

* fix(failure_injection): correct comment formatting in FailureInjection.msg

* feat(failure_injection): add failure injection manager support across multiple boards and modules

* feat(mavlink): implement failure injection functionality

---------

Co-authored-by: Claudio Chies <chiesc@chies.com>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-30 15:33:39 +02:00
PX4BuildBot
1ed3860991 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-30 09:45:20 +00:00
Hamish Willee
d2df0a73e9 docs(docs): Subscription handle is orb_sub_t type in example 2026-06-29 19:34:17 -07:00
CUAV Chen
73c51abfe3 feat(boards): cuav/x25-mega board support (#26664)
---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-29 19:04:51 -07:00
Ramon Roche
d8a2aeb4ae docs(hardware): expand USB VID/PID options in board support guide (#27771)
List the VID/PID sourcing options in order of preference: buy your own
from USB-IF, obtain a free pair from a community registry or chip-vendor
program, or use the Dronecode VID. Add a note clarifying that Dronecode
membership is not required to get a board supported in PX4.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
2026-06-30 08:42:13 +10:00
PX4BuildBot
27bdea32b5 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-29 22:05:40 +00:00
PX4BuildBot
9138ab7452 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-29 21:43:07 +00:00
Vincello
9ef2131d3b feat(boards): add corvon_v5 flight controller (#26286)
* add files

* add corvon_V5 docs

docs: fix connectors image path

* docs: address Copilot formatting suggestions

* Subedit

* docs: add radio control wiring details for corvon_V5

* Update docs/en/flight_controller/corvon_V5.md

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

* boards/corvon: rename V5 subdirectory to v5

This renames the corvon_V5 board to corvon_v5 to conform to PX4 lowercase naming conventions as requested by @mrpollo. Renames target files, docs, and assets accordingly.

* Apply suggestion from @hamishwillee

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

* docs: add DSU7 debug port pinout and warnings for corvon_v5

This addresses reviewer feedback to include debug port information, placed immediately after the Radio Control section as requested.

* Apply suggestion from @hamishwillee

* fix(boards/corvon_v5): remove unused heater and temperature_compensation

- heater: board has no IMU heater; fixes build after #26325 (requires HEATER_NUM)
- temperature_compensation: modern IMU doesn't need it, follow #27015

Signed-off-by: holydust <holydust@live.ca>

* docs(update): Subedit. Add pwm outputs and gps

* Update docs/en/flight_controller/corvon_v5.md

* Update docs/en/flight_controller/corvon_v5.md

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

* docs(corvon_v5): add UART flow control, power details, fix broken links

* docs(corvon_v5): fix UART table typo

* fix(boards/corvon_v5): remove unused PX4IO macros. Board has no PX4IO co-processor

Signed-off-by: holydust <holydust@live.ca>

* Apply suggestions from code review

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

* docs(corvon_v5): update board images

Signed-off-by: holydust <holydust@live.ca>

* fix(corvon_v5): drop unused dshot, fix can3 and adc comments

- Remove CONFIG_DRIVERS_DSHOT=y from default.px4board: DShot is not
  supported on this board (no IO timer is DShot-configured) and the
  docs already state it as unsupported.
- Fix ADC1_IN8 GPIO list comment from PB8 to PB0 (PB0 is the correct
  pin on STM32F765; matches GPIO_RSSI_IN definition below).
- Clarify CAN3 comment in nuttx-config board.h: the pins are unused
  on CORVON_V5 (no transceiver populated). manifest.c already marks
  CAN3 as not present.
- Update corvon_v5_pinout.xlsx 'All Pinouts' sheet so PA7 (HEATER)
  and PA8/PA15/PH4 (CAN3 RX/TX/SILENT) read 'Unused', matching the
  actual hardware.

Signed-off-by: holydust <holydust@live.ca>

* fix(corvon_v5): use MCS Electronics USB VID/PID

Set VID/PID to 0x16D0/0x152A (MCS Electronics) in the app defconfig
and regenerate the bootloader binary, replacing the 3DR FMUv5 IDs
inherited from the reference config.

Signed-off-by: holydust <holydust@live.ca>

---------

Signed-off-by: holydust <holydust@live.ca>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-29 14:37:40 -07:00
Sean Hickey
a1d8a605e8 feat(drivers): add Sony AS-DT1 distance sensor driver (#27769)
* Add Sony AS-DT1 Distance Sensor and Documentation

* Ensuring Rotation Parameter works

* Sony ASDT1 Sensor and Documentaiton

* Fixed formatting and added additional comments

* Forgot to stage 1 formatting issue

* fix(drivers): use AS-DT1 parameters consistently

remove the Sony-ASDT1 -R command line rotation, as well as some other small fixes. Updated the docs to reflect this as well.

* refactor(drivers): clarify Sony AS-DT1 variable names

---------

Co-authored-by: Sean Hickey <sean@ascendengineer.com>
Co-authored-by: Andrew Brahim <35986980+dirksavage88@users.noreply.github.com>
2026-06-29 14:33:20 -07:00
PX4BuildBot
5413e039ff docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-29 19:41:04 +00:00
Hyunduk Shin
2bc9774170 feat(airframes): add generic airship 2026-06-29 12:34:55 -07:00
PX4BuildBot
efc10f0a20 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-26 20:50:04 +00:00
PX4BuildBot
8184116c7f docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-26 09:04:11 +00:00
Gennaro Guidone
2a0e048171 feat(mc_att_control): feedforward filtered q_d derivative on rate sp (#27255)
Add a 2nd-order critically-damped attitude reference model whose angular-velocity output is fed forward onto the rate setpoint, removing the steady-state ramp-tracking lag of the pure-P attitude law. The model uses an exact closed-form discretisation, so it is unconditionally stable.

Parameters:
- MC_REF_W_N     reference-model bandwidth [rad/s]
- MC_REF_FF      feedforward gain [0..1]; 0 disables the anticipation
- MC_REF_FF_MAX  per-axis feedforward saturation [deg/s]

The commanded yaw rate is always fed forward at unity (it is a setpoint, not a model prediction), so MC_REF_FF scales only the error-driven anticipation and MC_REF_FF=0 is the exact legacy pure-P law. Shipped disabled by default to avoid changing behaviour on existing platforms; enable per-airframe. Includes docs and the updated controller diagram.
2026-06-26 10:57:48 +02:00
PX4BuildBot
b885ad65a0 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-25 22:57:55 +00:00
Davide Iafrate
6ddf60c7b4 feat(sim): add RotorPy simulator support (#27116)
* Add rotorpy simulator and integrate with main simulator script

* docs: add rotorpy simulator instructions

* docs(update): subedit

* docs: address RotorPy review comments

---------

Co-authored-by: Davide Iafrate <dvde.iafrate98@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-25 15:51:55 -07:00
Phil-Engljaehringer
dc3636eed0 docs(docs): serial passthrough (#27654)
* feat: added docs

* feat: some more documentation

* fix: worked on docs again

* fix: added doc to summary.md

* fix: adjusted docs to requests

* docs(docs): Subedit

* feat: added release notes to 1.18.md

* docs(docs): subedit

---------

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-24 17:20:46 +10:00
PX4BuildBot
28b0d415cd docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-24 06:22:01 +00:00
Beniamino Pozzan
4c3b41d43e docs(uxrce): add support for DDS v3, ROS 2 lyrical and humble (#27705) 2026-06-24 16:16:00 +10:00
PX4BuildBot
d31c692347 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-24 05:46:21 +00:00
Valentin Bugrov
29a2315dc9 docs(update): InertialLabs fixes (#27662) 2026-06-24 15:40:57 +10:00
Aditya Bidwai
0861ba0088 fix(docs): invert vectorized diagram SVGs in dark mode (#27574)
* fix(docs): invert vectorized diagram SVGs in dark mode

* docs(docs): Apply fix as a class

* Add yarn lock to fix CI

---------

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-24 14:20:57 +10:00
Hamish Willee
41c6dcaf70 Update Ubuntu EOL/LTS (#27728) 2026-06-24 11:03:48 +10:00
PX4BuildBot
e24cda2fd9 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-23 13:21:52 +00:00
PX4BuildBot
115754d0a7 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-22 00:44:37 +00:00
msl-dev
605e82136d docs(update): WSL2 firmware upload instructions (#27693) 2026-06-19 09:12:08 +10:00
PX4BuildBot
b8c53d18be docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-18 16:44:23 +00:00
PX4BuildBot
dc9d0a0659 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-18 15:30:36 +00:00
Michael Fritsche
3dde9826d8 feat(gimbal): add a fixed mode to the gimbal module (#27649)
Option to keep a gimbal pointing at a fixed attitude, not linked to any user input.
Roll and Yaw angle setpoints are 0, Pitch can be set in separate parameter.
2026-06-18 17:21:00 +02:00
Alexis Guijarro
e91f5af898 docs(boards/3dr/ctrl-n1): add 3DR Control N1 flight controller documentation (#27406) 2026-06-18 14:49:40 +10:00
PX4BuildBot
04eeac5526 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-17 16:33:28 +00:00
Ramon Roche
19d669e542 docs(hardware): rewrite manufacturer board support guide (#27675)
* docs(hardware): rewrite board support guide around real process

The board support guide described a theoretical category-first process that
no longer matches how board support actually happens. Manufacturers were
left unsure of the concrete steps, leading to repeated email requests for
guidance.

Restructure the guide around the actual GitHub-driven flow: build your own
firmware target, reserve a board ID via a PX4-Bootloader PR, provide a
unique USB VID/PID, demonstrate flight with logs, and open the PR. Keep the
support categories as a reference section that explains support
responsibility rather than process.

Spell out that QGroundControl uses the USB VID/PID to identify hardware, and
warn that reusing another vendor's pair causes misidentification. Promote
the ArduPilot board-ID alignment note and point it at the current hwdef
location. Demote VER/REV ID to a clearly-deprecated edge case: explain the
resistor/EEPROM mechanism and its original cross-vendor baseboard/FMU intent,
note the ecosystem has deviated from it, and that Dronecode no longer offers
standards validation. Update the Discord link to chat.dronecode.org.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* docs(hardware): align porting guide with board support guide

The porting guide's 'Officially Supported Hardware' section restated the
board support process and contradicted the rewritten board support guide.
It also told manufacturers to ship hardware to the dev team for port
validation, a service Dronecode no longer offers.

Replace that section with a short pointer to the board support guide, which
is now the single source of truth for the support process, and keep only the
high-level support benefits and maintenance expectations. The technical
porting content (architecture, file layout, host OS config, RC UART wiring)
is unchanged.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* docs(hardware): make board support guide discoverable for manufacturers

The board support guide was only reachable by navigating into the hardware
integration section. A manufacturer browsing the user-facing autopilot pages,
the exact audience, had no path to it, and one of those pages still stated
the obsolete 4-month compatibility commitment.

Add 'how to get your board supported' pointers from the manufacturer-supported
and experimental autopilot pages, the flight controller index, and the
development landing page. Remove the stale 4-month rule from the
manufacturer-supported page. Strengthen the guide's opening paragraph so the
phrases manufacturers actually search appear up front.

Word the links to avoid conflating the guide (how to get a board supported)
with the 'Manufacturer Supported' category (one of several support levels).

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* docs(docs): Minor tweaks

---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-17 18:11:37 +10:00
Hamish Willee
4b808ca42e docs(fc): Minor typo Narinc 2026-06-16 13:11:02 -07:00
Ramon Roche
ed9bbf3470 docs(narinfc/h7): fix broken RC_INPUT link
Remove broken anchor link to modules_driver.md#rc-input which does not
exist. Use inline code formatting instead.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
2026-06-16 13:11:02 -07:00
Ramon Roche
ea22f5479e docs(narinfc/h7): add flight controller documentation
Add hardware documentation for the VOLOLAND NarinFC-H7 flight controller
including pinouts, serial port mapping, PWM output groups, and analog
inputs. Fix version badge to v1.17 and clarify RC_IN is wired directly
to FMU via RC_INPUT driver.

Based on work by @vololand and @hamishwillee from PR #26542.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
2026-06-16 13:11:02 -07:00
PX4BuildBot
0f9f26cf17 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-16 15:13:46 +00:00
ghohl-30
5a0082b6ed fix(fw_mode_manager): honor DO_CHANGE_SPEED in manual airspeed modes (#27494)
* fix(fw_mode_manager): honor DO_CHANGE_SPEED in manual airspeed modes

Re-anchor the throttle-stick airspeed interpolation on the last
MAV_CMD_DO_CHANGE_SPEED value (falling back to FW_AIRSPD_TRIM if none).
Previously, _commanded_manual_airspeed_setpoint was stored but never
read when FW_POS_STK_CONF bit 1 was set (the default), so
DO_CHANGE_SPEED had no effect in Position/Altitude.

With this change:
- Stick centered = commanded cruise speed (= FW_AIRSPD_TRIM if no command).
- Stick deflection deviates from cruise between FW_AIRSPD_MIN/MAX.
- Disconnecting the controller collapses the interpolation to the cruise
  (Sticks zeroes the throttle channel on manual_control_signal_lost).
- No setpoint jump when a controller is plugged in with stick centered.
- No behavior change for users who never send DO_CHANGE_SPEED.

* fix(fw_mode_manager): clear DO_CHANGE_SPEED override on mode change

Reset _commanded_manual_airspeed_setpoint to NaN when entering a
manual airspeed mode from outside the manual airspeed pair, so a
prior MAV_CMD_DO_CHANGE_SPEED does not silently anchor the manual
airspeed setpoint after the pilot has left and re-entered manual
airspeed control. Toggling between Position and Altitude preserves
the commanded value since both modes share the same airspeed mechanic.

Also fold in a make-format whitespace fix in get_manual_airspeed_setpoint.

* docs(flight_modes_fw): document DO_CHANGE_SPEED in manual airspeed modes

Describe how MAV_CMD_DO_CHANGE_SPEED re-anchors the throttle-stick cruise
airspeed in Position and Altitude mode, matching the new behavior in the
fw_mode_manager. Covers the centered-stick anchor, deflection scaling
between FW_AIRSPD_MIN/MAX, the shared setpoint across both modes, and the
reset to trim when entering from any other mode.

Signed-off-by: Gregor Hohl <gregor.hohl@auterion.com>

* Subedit

* fix(fw_mode_manager): reset DO_CHANGE_SPEED override on any mode change

Reset _commanded_manual_airspeed_setpoint to NaN whenever the position
control mode changes, instead of only when entering manual airspeed
control from outside the Position/Altitude pair. This makes the manual
airspeed setpoint revert to FW_AIRSPD_TRIM on every mode change,
including toggling between Position and Altitude, for predictable
behavior.

Signed-off-by: Gregor Hohl <gregor.hohl@auterion.com>

* docs(flight_modes_fw): note manual airspeed resets on mode change

Clarify that the commanded airspeed defaults to FW_AIRSPD_TRIM when no
airspeed has been commanded, and document that the commanded airspeed
resets on every flight mode change.

Signed-off-by: Gregor Hohl <gregor.hohl@auterion.com>

* docs(flight_modes_fw): clarify DO_CHANGE_SPEED param1/param2 handling

Signed-off-by: Gregor Hohl <gregor.hohl@auterion.com>

---------

Signed-off-by: Gregor Hohl <gregor.hohl@auterion.com>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-16 16:43:08 +02:00
PX4BuildBot
7b21e2c15f docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-14 22:29:42 +00:00
PX4BuildBot
920297e20b docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-12 16:33:41 +00:00
PX4BuildBot
f3f546cdd5 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-12 02:13:30 +00:00
Sijia
d018063b19 docs(failsafe): clarify Offboard proof-of-life and COM_OBL_RC_ACT docs (#27636) 2026-06-11 15:15:37 +10:00
Matthias Grob
0e51d24686 docs(releases): add list of removed parameters with notes (#27616)
* docs(releases): add list of removed parameters with notes

* Minor subedit

---------

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-10 17:09:23 +02:00
Sijia
d5f5c50330 docs(navigator): clarify multicopter Return behavior (#27610) 2026-06-10 14:28:43 +10:00