Commit Graph

50172 Commits

Author SHA1 Message Date
PX4BuildBot
3e4977903f docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-23 21:44:20 +00:00
M3nglin
8c532db6b3 orbit: fix roll stick control inversion problem.
Co-authored-by: lqs66 <liuqiaosen666@163.com>
2026-06-23 14:38:57 -07:00
onelittlechildawa
d88af50767 fix(commander): gate checks on topic advertisement
Signed-off-by: onelittlechildawa <onelittlechild@outlook.com>
2026-06-23 14:37:45 -07:00
Silvan
d5b966c37b fix(sih): fix velocity in body direction
Signed-off-by: Silvan <silvan@auterion.com>
2026-06-23 14:34:46 -07:00
Wang Jiayue
150e03cec3 fix(fw_att_control): only persist q_d from attitude setpoint 2026-06-23 14:32:20 -07:00
Wang Jiayue
d61ee886db fix(fw_att_control): clear stale data in stabilized setpoint
Clear stale thrust_body and yaw_sp_move_rate before publishing FW stabilized attitude setpoints.
2026-06-23 14:32:20 -07:00
Jacob Dahl
4edb7d49e2 feat(tools): add DroneCAN sensor latency calibration scripts
Cross-correlation scripts to measure CAN transport delay from flight
logs. Compares CAN sensor signals against the FC's directly-connected
IMU to estimate the total pipeline latency.

- range_sensor_latency.py: cross-correlates range rate with IMU-derived
  vertical velocity
- flow_sensor_latency.py: cross-correlates flow sensor gyro with FC gyro
2026-06-23 14:27:11 -07:00
Baardrw
9864a58fb7 chore: typos 2026-06-23 14:25:46 -07:00
Baardrw
f28516a456 fix: removed ignoring sticks for arming and disarming gesture.
- Arm disarm gesture isnt relevant during flight and should thus be interpreted as commands during flight
2026-06-23 14:25:46 -07:00
Baardrw
86f475704e feat: disable sticks during gestures 2026-06-23 14:25:46 -07:00
Wang Jiayue
32bd1adea2 fix: reset StickYaw setpoint when unaided yaw recovers 2026-06-23 14:23:37 -07:00
Wang Jiayue
f59a9dbcc4 Revert "rename failsafe test"
This reverts commit 94928e90e5.
2026-06-23 14:18:21 -07:00
Wang Jiayue
20dc818de9 rename failsafe test 2026-06-23 14:18:21 -07:00
Wang Jiayue
72be5d3eae fix(commander): ignore none failsafe actions
Skip Action::None entries when selecting failsafe policy so a no-action
condition cannot restrict user takeover for another active failsafe.
2026-06-23 14:18:21 -07:00
Wang Jiayue
4d3a53a8e2 commander: temporarily reject unsupported altitude changes 2026-06-23 14:13:17 -07:00
Wang Jiayue
0de218ee20 fix(navigator): gate DO_CHANGE_ALTITUDE setpoint updates by mode 2026-06-23 14:13:17 -07:00
Jukka Laitinen
3042f906ab feat(uORB): Add an own type, orb_sub_t, for subscription handles (#27457)
* platforms/common/uORB/uORB.h: Add definition for orb_sub_t and handle check functions

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>

* uORB: Change subscriber id:s from int to orb_sub_t

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>

* uxrce_dds_client: Change polling of transport device from px4_poll to poll

Use posix poll directly, there is no need to use px4_poll unless uORBs are
being polled.

The one used here is a normal filesystem/device poll, so we can use normal "poll",
this is the common pattern in the codebase.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>

* Fix linking for protected build

This fixes errors for memalign not linking on some configurations.
Memalign exists in nuttx kernel-side mm library and it may fail in configurations
where kernel and userspace are separated. This has no effect on other than
"CONFIG_BUILD_PROTECTED" or "CONFIG_BUILD_KERNEL" NuttX builds.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>

---------

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
Co-authored-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2026-06-23 09:13:51 -06: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
bresch
d0286481c5 feat(fw-mission): do not return to line when large position reset occurs 2026-06-23 15:15:10 +02:00
Marco Hauswirth
6f5be87b4c switch AGP state to "stopped" after disabling fusion (#27714) 2026-06-22 16:40:13 +02: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
Jaeyoung Lim
580d2a21de Make IMU and Mag subscription optional for gz_bridge (#27708) 2026-06-21 17:38:43 -07:00
PX4 Build Bot
c133e03b92 docs(i18n): PX4 guide translations (Crowdin) - zh-CN (#27703)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-22 09:05:28 +10:00
PX4 Build Bot
f0f4e67804 docs(i18n): PX4 guide translations (Crowdin) - uk (#27702)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-22 09:05:19 +10:00
PX4 Build Bot
0a1c99117b docs(i18n): PX4 guide translations (Crowdin) - ko (#27701)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-22 09:05:09 +10: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
Mahima Yoga
45cd19bcff feat(Commander): add COM_FLTMODE_BOOT parameter for configurable flight mode on boot (#27641)
* feat(Commander): add COM_FLTMODE_BOOT parameter for configurable flight mode on boot

This adds COM_FLTMODE_BOOT, an enum parameter (Altitude/Position/Hold/Stabilized, default Hold) that controls the nav_state set on boot, before any user mode command is received.

The navStateFromParam() translation function (previously a ManualControl method) has been moved to mode_util::navStateFromFlightModeParam() in ModeUtil/conversions.hpp so COM_FLTMODE_BOOT can follow the same enumeration as COM_FLTMODE* params.

* chore(commander): use nav_state for mode mapping

* feat(commander): extend list of modes available

* chore: fix style

* refactor(commander): simplify COM_FLTMODE_BOOT boot mode initialization

Apply the configured boot flight mode directly in the Commander
constructor.

Also removes the stick-presence-based mode logic (everHadModeChange
check in manualControlCheck), and changes the default to Position (NAVIGATION_STATE_POSCTL).

* chore: remove accidental whitespace

* chore: set default COM_FLTMODE_BOOT to Hold (nav_state 4)

* feat: add Takeoff state to COM_FLTMODE_BOOT
2026-06-18 18:37:23 +02:00
alexcekay
e9e13a4537 feat(nuttx): add littlefs block_size_factor option 2026-06-18 18:34:47 +02:00
Silvan
b1a7541cb2 fix: enums: add missing mode 7 (course) to navigation_mode_groups enum
Signed-off-by: Silvan <silvan@auterion.com>
2026-06-18 18:06:20 +02:00
Silvan
6edee63467 fix: enums: add missing modes to navigation_mode_group_t
Signed-off-by: Silvan <silvan@auterion.com>
2026-06-18 18:06:20 +02:00
Silvan
b52fc4c554 fix: px4_custom_mode: move GUIDED_COURSE to end of enum
This fixes the issue that the External mdoes were all shifted down by one,
causing issues on the ground station with identifying the correct mode.

Signed-off-by: Silvan <silvan@auterion.com>
2026-06-18 18:06:20 +02: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
Phil-Engljaehringer
cce372573f uxrce_dds: add vtx and input_rc to DDS publications
Both Vtx.msg and InputRc.msg exist upstream but were never wired up
as DDS topics. The VTX driver (added in c0c265cd) publishes vtx status
and InputRc has existed since 2015. Expose them over DDS so companion
computers and ROS2 nodes can monitor VTX state and raw RC input.

Signed-off-by: Phil-Engljaehringer <philipp.engljahringer@auterion.com>
2026-06-18 13:35:21 +02:00
Eurus
9e370600c5 fix(mavlink): reject unsupported CONDITION_DISTANCE missions (#27648) 2026-06-18 16:20:35 +10:00
PX4 Build Bot
bbb02bb161 docs(i18n): PX4 guide translations (Crowdin) - zh-CN (#27666)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-18 16:08:45 +10:00
PX4 Build Bot
7ae09fc3e8 docs(i18n): PX4 guide translations (Crowdin) - ko (#27664)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-18 16:03:56 +10:00
PX4 Build Bot
9e813e0717 docs(i18n): PX4 guide translations (Crowdin) - uk (#27665)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-18 16:03:28 +10: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
msl-dev
c9b13827d9 feat(build): support firmware upload from WSL2 (#27674)
Signed-off-by: msli-dev <747640013@qq.com>
2026-06-18 10:49:53 +12: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
elisaaferraraa
2d74cfb2c1 feat(commander): add companion computer temperature warning check (#27637)
* feat(commander) add companion computer temperature warning check

* refactor(commander): improve wording

* Apply suggestions from code review

Co-authored-by: Silvan Fuhrer <silvan@auterion.com>

---------

Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2026-06-17 18:23:44 +02:00
Gennaro Guidone
143b518528 fix(rcS): FMU output pins not working when serial passthrough is not compiled for a board (#27682)
#27605 gated the dshot/pwm_out start on `param compare -s PASSTHRU_EN 0`.
PASSTHRU_EN is registered only when the serialpassthrough driver is
compiled in, which is not the case on most boards (e.g. fmu-v5x). There
param_find() fails, `param compare` returns "no match", the else branch
runs, and the FMU outputs never start: the PWM_AUX group disappears from
the Actuators screen and motors wired to those pins won't arm. SITL uses a
separate init.d-posix rcS and is unaffected, so CI did not catch it.

Use the start-unless-explicitly-enabled idiom already used elsewhere in
rcS (`param greater -s`): only skip the outputs when PASSTHRU_EN is
explicitly > 0. A missing or zero parameter starts the outputs as before.
2026-06-17 16:37:50 +02:00
Eurus
1b322ff74a fix(navigator): fix FW takeoff loiter with negative coordinates (#27656)
* fix(navigator): fix FW takeoff loiter with negative coordinates

* fix(navigator): reject zero takeoff loiter coords
2026-06-17 13:46:41 +02: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
Balduin
5162251e91 fix(fw_latlon_control): do not reset alt err time constant on every param update (#27678)
* fix(fw_latlon_control): do not reset alt err time constant on every param update

https://github.com/PX4/PX4-Autopilot/pull/23519 introduced this reset
using setForcedValue in the constructor of FixedwingPositionControl

https://github.com/PX4/PX4-Autopilot/pull/24056 accidentally moved it
from the constructor to the parameters_update

This means that now the time constant is reset to the tighter
low-altitude value (intended for use below FW_T_THR_LOW_HGT by
https://github.com/PX4/PX4-Autopilot/pull/23519) even though we could be
arbitrarily high.

Fix: Move both slew rate (given by a static constexpr) and initial reset
to constructor.

* style(fw_latlon_control): remove superficial newline
2026-06-16 18:09:06 +02:00