Commit Graph

50177 Commits

Author SHA1 Message Date
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
Jacob Dahl
6cc16ff251 fix(i2c_spi): prevent use-after-free when stopping driver instances (#27723)
* fix(i2c_spi): prevent use-after-free when stopping driver instances

module_stop() deleted each instance before unlinking it from the global
i2c_spi_module_instances list. The instance *is* the intrusive list node,
so removeInstance()/List::remove() then dereferenced the freed node to fix
up the links. If another thread reused that heap block in the window, the
list got corrupted, sporadically leaving instances linked (a later start
reports "already running") or hard-faulting. This regressed in the 2020
array->linked-list refactor: the old array version only nulled an array
slot after delete, which was safe.

Unlink each instance before freeing it. Also only delete/unlink when the
task actually exited: if request_stop_and_wait() times out the work queue
may still reference the object, so leave it allocated and listed rather
than freeing it. module_stop() now returns -1 when an instance failed to
stop.

Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com>

* Update platforms/common/i2c_spi_buses.cpp

* Update platforms/common/i2c_spi_buses.cpp

---------

Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2026-06-23 17:24:06 -06:00
PX4BuildBot
1fbceac99f docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-23 22:06:15 +00:00
Eurus
2082caa6c9 fix(commander): failsafe prevent manual fallback without RC (#27408)
* failsafe: prevent manual fallback without RC

* fix(commander): consolidate manual fallback RC loss handling

Use NAV_RCL_ACT from a single post-cascade check for manual fallback modes,
and add coverage for non-default NAV_RCL_ACT behavior.
2026-06-23 14:59:25 -07:00
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