48889 Commits

Author SHA1 Message Date
Mathieu Bresciani
1a0b7dae9d
fix(ekf2): remove heading corrections from gravity fusion (#26694) 2026-03-09 11:31:44 -08:00
PX4BuildBot
0640cc9e35 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-09 19:04:33 +00:00
Eric Katzfey
6fd3c88bb0 voxl_esc: Add VOXL_ESC_T_ON param for MAVLink turtle mode button mapping
Add a new parameter to map a MAVLink MANUAL_CONTROL button to turtle
mode activation. When the manual control data source is a MAVLink
instance, the driver uses the buttons field directly instead of aux
channels. When the source is RC, the existing aux channel behavior
via VOXL_ESC_MODE is preserved. Set to -1 (default) to disable.
2026-03-09 11:56:33 -07:00
PX4BuildBot
cdacb01f55 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-09 16:18:36 +00:00
Balduin
029edb50b3 refactor(control_allocation): Clarify and enforce that motors are in matrix 0 2026-03-09 17:10:32 +01:00
Balduin
b6164107d1 refactor(control_allocation): Make type alias for actuator bitmask 2026-03-09 17:10:32 +01:00
Balduin
af3cfaea25 fix(control_allocator): Apply stopped motors before slew
So transitions between stopped/not stopped respect the slew rate.

 - Remove previous stopped motor handling in publish_actuator_controls
 - Replace with handle_stopped_motors, called in Run() before slew
 - Introduce ApplyNanToActuators in ControlAllocation to stop
 - Refactor ice shedding slightly to fit new structure
2026-03-09 17:10:32 +01:00
Balduin
44b2d8f845 feat(control_allocation): Handle NaN correctly in slew rate 2026-03-09 17:10:32 +01:00
Balduin
ee636a0e3d refactor(control_allocator): Remove slew rate from ice shedding
Will be unified with main output slew rate in commit just after
2026-03-09 17:10:32 +01:00
PX4BuildBot
a631716265 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-09 15:34:51 +00:00
ttechnick
1dadd92a86 refactor(mavlink): reword mission transfer timeout 2026-03-09 16:26:41 +01:00
PX4BuildBot
339882c6ad docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-09 14:46:51 +00:00
Marco Hauswirth
3e396f65e5
fix(navigator): fix alt setpoint after home-alt reset (#26662)
fix(navigator): skip mission alt update for non-position items
2026-03-09 15:39:21 +01:00
PX4BuildBot
3aa499dfce docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-07 01:58:35 +00:00
Ramon Roche
4da97eb4fd ci(workflows): add commit message and PR title quality checks
Add CI enforcement of conventional commit format for PR titles and
commit messages. Includes three Python scripts under Tools/ci/:

- conventional_commits.py: shared parsing/validation library
- check_pr_title.py: validates PR title format, suggests fixes
- check_commit_messages.py: checks commits for blocking errors
  (fixup/squash/WIP leftovers) and advisory warnings (review-response,
  formatter-only commits)

The workflow (.github/workflows/commit_checks.yml) posts concise
GitHub PR comments with actionable suggestions and auto-removes them
once issues are resolved.

Also updates CONTRIBUTING.md and docs with the conventional commits
convention.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
2026-03-06 17:51:54 -08:00
Jacob Dahl
343fd01e19
fix(tools): prevent command injection in px_mkfw.py (#26678)
* fix(tools): prevent command injection in px_mkfw.py

* copilot review: only capture stdout
2026-03-06 14:23:20 -09:00
PX4BuildBot
ec56d2d83b docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-06 19:48:45 +00:00
Jacob Dahl
26969c25ff
fix(uavcan): close directory before processing files in migrateFWFromRoot (#26676)
migrateFWFromRoot held the SD root directory open via opendir/readdir
while performing heavy file I/O (getFileInfo, copyFw, unlink) inside the
loop. Between readdir calls the FAT semaphore is released, allowing
other tasks (e.g. logger) to dirty the shared FAT sector cache. When
the next FAT operation needed a different sector, fat_fscacheflush
would write the dirty data followed by an immediate read — triggering
a write-busy to read transition in the SDMMC WRCOMPLETE path that
kills the SD card on STM32H7.

Split into two phases: first collect .bin filenames with the directory
open, then close it before doing any file I/O. This also fixes a
missing closedir on the mkdir error path and avoids modifying directory
entries (via unlink) while iterating them with readdir.
2026-03-06 12:32:57 -07:00
PX4BuildBot
4429c53f93 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-06 19:23:12 +00:00
Jeff Katz
5cdf5ac482
fix(commander): calibration CPU starvation on linux (#26608)
On Linux targets with high-rate external sensor data (>1000Hz), all
sensor calibrations (gyro, accel, mag) can freeze PX4 by starving
other threads of CPU. Normal flight is unaffected — only calibration
triggers the problem.

Two compounding issues in the calibration worker threads:

1. calibrate_cancel_check() creates a new uORB::Subscription on every
   call, which triggers getDeviceNodeLocked() — an O(n) linear strcmp
   scan through all uORB nodes. In gyro/mag calibration this was called
   on every sensor sample, consuming the majority of CPU in strcmp alone.

2. SubscriptionBlocking::updatedBlocking() returns immediately when data
   is already available (it only blocks when no data is pending). With
   continuous high-rate sensor data, the calibration loops never yield,
   spinning at 100% CPU.

These problems are addressed with this patch as follows:

- Throttle calibrate_cancel_check() to once per 200ms in gyro
  and mag calibration loops.

- Add 1ms px4_usleep() yield before updatedBlocking()/updateBlocking()
  in all calibration loops (gyro, accel, mag, orientation detection).
  This caps the effective loop rate at ~1000Hz — still far above what
  calibration needs (250-750 samples).

- Force Commander main loop to sleep during calibration so it does not
  compete with calibration worker threads for CPU.

Tested under Linux (x64, aarch64) both with RT and non-RT scheduling,
with sensor data arriving at ~3600Hz. Calibration completes normally
and no longer results in a deadlocked process.
2026-03-06 10:11:24 -09:00
PX4BuildBot
7ee02968ac docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-06 08:09:02 +00:00
Nick
ce828af85c
actuators: remove function from center param (#26517)
* fix center parameter metadata

* revert module_schema

---------

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2026-03-06 09:00:52 +01:00
PX4BuildBot
b5deafdc92 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-06 02:42:38 +00:00
Luka Filipovic
6558928069
zenoh: fix default config topic type to use actual uORB topic name (#26564) 2026-03-05 17:32:14 -09:00
PX4BuildBot
c85b3cdd61 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 21:34:45 +00:00
Hamish Willee
8340415962
docs: Removed orphaned images and fix some broken links (#26661)
* Removed orphaned docs and ttempt to fix some broken links

* Fix up _sidebar
2026-03-06 08:23:18 +11:00
PX4BuildBot
1a67c3d50a docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 20:00:49 +00:00
Jacob Dahl
5500ebb1d0
uavcan: gnss: do not require RTK fix for heading validity (#26649) 2026-03-05 10:22:44 -09:00
ZOU Hetai
52203a6bb7
boards: hkust/nxt-dual: fix TIM3 channel order in timer config (#26667)
Signed-off-by: ZOU Hetai <33616271+JXNCTED@users.noreply.github.com>
2026-03-05 09:24:25 -09:00
PX4BuildBot
844ba41a28 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 14:39:20 +00:00
Phil-Engljaehringer
010f6dcbae
Refactor PCA9685 (#26379)
* refactor: use parseDefaultArguments

* style: reverted changes to docs (should be auto-generated)

* refactor: use parseDefaultArguments

* style: reverted changes to docs (should be auto-generated)
2026-03-05 15:31:12 +01:00
PX4BuildBot
61d2173524 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 09:33:37 +00:00
Balduin
16d938cda9
Ice shedding: fix docs rendering (#26616)
In the CA_ICE_PERIOD param description, a '>' was at the start of a
line. This is interpredeted by markdown as a quotation type indented
block which applies not only to that line, but to all following ones.
Changing the line breaks to only occur after full stops fixes it.
2026-03-05 20:25:40 +11:00
Hamish Willee
7c4c773858
Docs beginner tutorials update (#26639)
* docs: module_template.md accuracy fix

* Modernise and Fix up Hello sky example

* Corrections

* Apply suggestions from code review

* Apply suggestions from code review

* Fix up indentation
2026-03-05 20:18:57 +11:00
PX4BuildBot
19b5292dff docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 08:01:29 +00:00
Balduin
fa2d1c3662
SIH Simulator: Add wind (#26467)
* SIH: explicitly use local velocity for all aerodynamic calculations

no functional change

* SIH: add param & vars for wind and apparent vel

no functional change

* SIH: replace all relevant vels with apparent vel

Only places where _v_E is remaining:
 - ecefToNed to calculate _v_N
 - generate_rover_ackermann_dynamics
 - equations_of_motion
 - parameters_updated, init_variables
and _v_N:
 - ecefToNed
 - print_status
 - publish_ground_truth
 - generate_rover_ackermann_dynamics
 - equations_of_motion
 - parameters_updated, init_variables

which are all not relevant for aerodynamics.

* sih: wind review suggestions

* sih wind: switch direction to global wind source direction convention

* SIH: clean up variable declarations

* SIH: rename variables for consistency

* docs: SIH: document new wind parameters

* Release notes: note for SIH wind settings

---------

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2026-03-05 08:53:39 +01:00
PX4BuildBot
7f3e0e9679 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 07:28:53 +00:00
CUAV Chen
9228dca9bd
drivers: imu: Add in ADIS16607 IMU Device (#26301)
* drivers: Add  in ADIS16607 IMU Device

* formatting and style, adjust debug output

* Change variable types of accel_x/y/z and gyro_x/y/z.

* Remove periodic register check

---------

Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2026-03-04 22:15:39 -09:00
PX4BuildBot
40133e0b2c docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 04:20:17 +00:00
Jacob Dahl
c677cb75df
fix(heater): don't turn heater on when controller time is zero (#26659)
When the PI controller computed zero on-time (e.g. temperature already
above target), the heater was still momentarily turned on every cycle
before being immediately turned off. Skip the on/off toggle entirely
when the computed on-time is zero.
2026-03-04 21:12:13 -07:00
PX4BuildBot
b79ed50615 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 03:09:36 +00:00
PX4 Build Bot
94c3765712
New Crowdin translations - ko (#26551)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-03-05 14:01:52 +11:00
PX4 Build Bot
30b6938f5e
New Crowdin translations - uk (#26552)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-03-05 14:01:38 +11:00
PX4 Build Bot
62d0620eff
New Crowdin translations - zh-CN (#26553)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-03-05 14:00:49 +11:00
Matthias Grob
102b64f604
ubuntu: help people running the install script on Ubuntu 25.10 (#26627)
OSRF provides no gazebo binary for 25.10, attempting to install leads to apt update errors
2026-03-04 17:03:47 -09:00
PX4BuildBot
41b40e34fa docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 01:59:04 +00:00
Hamish Willee
b37733459d
docs: Codespell check on English sources + swd fixes (#26657) 2026-03-05 12:50:59 +11:00
PX4BuildBot
5528ebec64 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 01:22:28 +00:00
Jacob Dahl
b4d5eca3c0
fix(dataman_client): fail fast when dataman is unavailable (#26652)
* fix(dataman_client): fail fast when dataman is unavailable

Check client_id before every DatamanClient operation to avoid waiting
for a response timeout when dataman was never running.

- Adds CLIENT_ID_NOT_SET guard to all sync and async methods
- Avoids cross-module linkage between dataman_client lib and dataman module

Supersedes #26128

* better init
2026-03-04 16:13:11 -09:00
PX4BuildBot
9fcb6bcc0a docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-03-05 00:47:51 +00:00