Commit Graph

50022 Commits

Author SHA1 Message Date
PX4BuildBot
d5a0ca1bbc docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-04 04:26:47 +00:00
Hamish Willee
1619b9c4e3 docs(docs): fix image rendering in zoom (#27558) 2026-06-04 14:06:06 +10:00
PX4BuildBot
f86540e60c docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-04 04:02:07 +00:00
Jonas Perolini
50c57be15f fix(navigator): rtl compute wind angle to select best land approach based on rally point location instead of home location (#27004) 2026-06-04 13:55:31 +10:00
Jacob Dahl
af2e16cd7e ci(labeler): remove auto-application of risk:safety-critical (#27567)
The path globs matched a large fraction of the tree (e.g.
src/modules/*_control/**, src/modules/sensors/**), so the label was
applied to many PRs that aren't meaningfully safety-critical. Remove the
rule so the label is applied manually during review instead.

Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2026-06-04 06:48:58 +03:00
PX4BuildBot
a0d1280dff docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-04 02:43:31 +00:00
PX4 Build Bot
bb53e9e757 docs(i18n): PX4 guide translations (Crowdin) - ko (#27449)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-04 12:36:29 +10:00
PX4BuildBot
0822348f52 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-03 22:02:24 +00:00
Andrii Anoshyn
ca39d83e2c fix(navigator): honor NAV_LAND mission item abort altitude (param1) (#27454)
* fix(navigator): honor NAV_LAND mission item abort altitude (param1)

A NAV_CMD_LAND mission item's param1 (minimum abort altitude above the
landing point) was parsed and dropped with a long-standing TODO, so an
aborted landing always climbed to the global MIS_LND_ABRT_ALT regardless
of the per-item value.

Carry param1 in the otherwise-unused time_inside field on upload, and in
do_abort_landing() use it as the climb-above-landing-point height when
set (> 0), falling back to MIS_LND_ABRT_ALT otherwise. The value also now
round-trips on mission download. Items without a specified abort altitude
(param1 = 0), including missions stored by older firmware, keep using the
parameter default.

Fixes #27290

Signed-off-by: Andrii Anoshyn <anoshyn.andrii@gmail.com>

* fix(navigator): clarify land abort altitude storage

---------

Signed-off-by: Andrii Anoshyn <anoshyn.andrii@gmail.com>
2026-06-03 15:54:32 -06:00
Wael Karman
fb069c82ed docs(docs): correct broken link (#27564)
Co-authored-by: Wael Karman <wael.karman@agile-robots.com>
2026-06-03 15:47:09 -06:00
PX4BuildBot
e7e643e14d docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-03 21:01:47 +00:00
Matthias Grob
0b36378e77 refactor(parachuteCheck): remove unnecessary namespace and newlines (#27561) 2026-06-03 14:53:38 -06:00
PX4BuildBot
96e6fd0a46 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-03 07:17:24 +00:00
Andrii Anoshyn
d21533886d fix(mavlink): execute CONDITION_DELAY mission items as NAV_DELAY (#27453)
MAV_CMD_CONDITION_DELAY was accepted on upload but mapped to a nav_cmd
(112) that no navigator code recognizes, so the mission feasibility check
rejected it ("unsupported cmd") and its delay was never executed. PX4
already implements an identical seconds-hold via NAV_CMD_DELAY, whose
duration comes from param1 (params[0], aliasing time_inside). Map
CONDITION_DELAY to NAV_CMD_DELAY at parse time so the requested hold is
honored, reusing the existing, tested delay execution and feasibility
logic.

Fixes #27289

Signed-off-by: Andrii Anoshyn <anoshyn.andrii@gmail.com>
2026-06-03 17:09:35 +10:00
PX4BuildBot
b6ac6b0dcc docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-03 04:59:26 +00:00
PX4 Build Bot
06c73b8100 docs(i18n): PX4 guide translations (Crowdin) - zh-CN (#27529)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-03 14:51:36 +10:00
PX4 Build Bot
aacd8b571c docs(i18n): PX4 guide translations (Crowdin) - uk (#27528)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-03 14:51:25 +10:00
PX4BuildBot
84bd956e6a docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-02 21:44:24 +00:00
Eurus
4b13bd6392 fix(mavlink): fix autotune param handle check (#27545) 2026-06-02 15:35:55 -06:00
PX4BuildBot
8363b7a67e docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-02 19:14:32 +00:00
Julian Oes
39ee0f5d18 feat(boards): add support for AEDROXH7 flight controller (#27226)
* feat(boards): add support for AEDROXH7 flight controller

STM32H743-based FPV / racing flight controller from AEDROX.

Brings up:
- ICM-42688-P IMU on SPI2
- DPS310 baro on internal I2C2
- W25N NAND flash on SPI3 with littlefs at /fs/flash
- MAX7456 analog OSD on SPI1
- 8 motor outputs (TIM1 + TIM8) all bidirectional-DShot capable
- CAN1
- External I2C1 connector for compass / sensors
- 6 UARTs (TEL1, GPS1, RC, TEL2, ESC telemetry, debug console on UART8),
- Two user GPIOs on the M5-M8 connector, VTX power and camera-switch GPIOs,
buzzer on PA7 (active-buzzer transistor low-side switch), battery V/I sensing
via ADC1.

Board ID 1198 shared with ArduPilot's AP_HW_AEDROXH7 entry.
USB enumerates as 0x16D0:0x14FE with VENDORSTR "AEDROX".

Signed-off-by: Julian Oes <julian@oes.ch>

* docs(docs): Minor subedit

---------

Signed-off-by: Julian Oes <julian@oes.ch>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-06-03 06:54:43 +12:00
PX4BuildBot
9fcdf51415 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-02 18:49:34 +00:00
Julian Oes
f94aedf1f0 feat(boards): add CBUnmanned H753-SOM flight controller (#27234)
* feat(boards): add CBUnmanned H753-Stamp flight controller

* Update board_id to 1302

* docs: update CBUnmanned H753-Stamp board docs

Apply review feedback: correct the I2C bus count (add internal bus),
clarify SPI (IMUs on a dedicated internal bus), note the debug console
alongside the user UARTs, and describe how the board is powered from an
external 5 V supply with separate battery voltage sensing.

Add the pinout image and a PWM Outputs section.

Signed-off-by: Julian Oes <julian@oes.ch>

* refactor(boards): rename CBUnmanned H753-Stamp to H753-SOM

Rename the board directory, build target (cbunmanned_h753-som), USB
product strings, docs page, asset directory and pinout image, and the
bundled bootloader binary from -Stamp to -SOM. The hardware is a
System-on-Module, so SOM is the accurate name.

Signed-off-by: Julian Oes <julian@oes.ch>

---------

Signed-off-by: Julian Oes <julian@oes.ch>
2026-06-03 06:40:19 +12:00
PX4BuildBot
7bbab4acf6 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-02 17:51:16 +00:00
Jukka Laitinen
839b7a470f fix(CI): Prerequisites for nuttx update (#27509)
* src/drivers/cdcacm_autostart: Include posix.h for px4_close

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

* platforms/nuttx/CMakeLists.txt: Fix linking of nuttx libaries for memalign

This fixes memalign not found in linking step for some boards

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

* Add "flock" to macos.sh setup script

"flock" is not standard on macOS, and a dependency was missing from the
macOS setup path.

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

* Fix clang-tidy errors in Bitset.hpp and in src/lib/matrix

Fix the "bugprone-dynamic-static-initializers" linter errors.

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

* systemlib/hardfault_log: Fix clang-diagnostics error

Fix for
"[error] clang-diagnostic-error [error]
 use of undeclared identifier XCPTCONTEXT_REGS".

XCPTCONTEXT_REGS is defined in nuttx irq.h, so include that.

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

* uORB: Fix clang-tidy error "bugprone-dynamic-static-initializers"

Fix the clang-tidy error appearing on uORBManager _Instance variable by
adding a getter for the reference to the _Instance and using that instead.

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

* CI: Add default ubuntu mirrors as fallback

In case of specified aws mirror doesn't have the package idicated by the
metadata, a the default ubuntu mirror as a backup.

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

---------

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-06-02 11:27:50 -06:00
PX4BuildBot
fe077b6c58 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-02 17:24:31 +00:00
Jukka Laitinen
4c7bd978c2 Localize math::expo_deadzone usage in Sticks.cpp to save flash (#27546)
math::expo_deadzone generates ~240bytes of code for 32-bit arm
platform, and it gets currently inlined several times.

Localizing the function in Sticks.cpp saves ~2KB of flash, measured
on px4_fmu-v5_default target.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-06-02 11:16:00 -06:00
Peter van der Perk
db8557e96d fix(bootloader): Fix V6X-RT bootloader on GCC13 and above
GCC13 does aggresive optimizations that causes a RWW violation.
Causing the bootloader to crash while updating.
Add compiler arguements to reduce optimizations fixing the issue.
2026-06-02 17:38:06 +02:00
PX4BuildBot
5332d2b13f docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-02 07:46:26 +00:00
Jacob Dahl
d4f39b194d fix(mavlink): add DO_REPOSITION to the command_has_location() list (#27543) 2026-06-02 19:39:24 +12:00
PX4BuildBot
b1e33bc61e docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-02 05:32:45 +00:00
Eurus
4c4d5ed1d9 fix(mavlink): validate GPS UTC timestamps (#27507)
* fix(mavlink): validate GPS UTC timestamps

Handle unavailable GPS UTC time in OpenDroneID system and uAvionix
ADSB dynamic messages. Use the protocol-defined unknown values instead
of deriving invalid timestamps.

* Apply suggestion from @dakejahl

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>

* Apply suggestion from @dakejahl

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>

* Apply suggestion from @dakejahl

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>

---------

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2026-06-01 23:25:59 -06:00
PX4BuildBot
4b015fbdeb docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-02 03:58:51 +00:00
Julian Oes
cc6473bdb9 feat(mavlink): support FTP ListDirectoryWithTime (#27542)
Add support for the MAVLink FTP ListDirectoryWithTime command (opcode 16),
which returns directory listings with each file's last-modification time
appended as decimal seconds since the UNIX epoch (0 if unknown).

This lets a GCS retrieve file timestamps without downloading the files,
which is useful for log download. The plain ListDirectory output is
unchanged, and clients fall back to it when the server NAKs with
UnknownCommand.

Signed-off-by: Julian Oes <julian@oes.ch>
2026-06-01 21:51:47 -06:00
Julian Oes
bb914860ea fix(bootloader): only handle VERIFY_SIG on secure builds (#27540)
On a non-secure bootloader the VERIFY_SIG opcode was answered explicitly
instead of falling through like an older bootloader without the opcode,
which could desync the following BOOT command and fail the upload.

Compile the case only when BOOTLOADER_USE_SECURITY is set so non-secure
builds reject it via the default unknown-command path.

Signed-off-by: Julian Oes <julian@oes.ch>
2026-06-02 13:13:54 +12:00
Julian Oes
8469dd3388 fix(dshot): derive bit width per timer at runtime (#27505)
The DSHOT bit width was selected at compile time from a single timer
clock (STM32_APB1_TIM5_CLKIN) and applied board-wide. On boards whose
timers run on different clocks (e.g. APB1 vs APB2) the non-APB1 timers
could emit DSHOT at the wrong rate; this was only flagged with a
#pragma message rather than handled.

Compute the bit width per timer from that timer's own clock_freq (which
io_timers[] already carries), using a fixed DSHOT600 reference so the
width depends only on the timer clock, not the selected DSHOT rate. The
selection rule is unchanged, so register values are identical for every
current board.

Keeping the width rate-independent is what preserves the duty cycle:
MOTOR_PWM_BIT_0/1 are absolute CCR counts calibrated for the fixed ARR,
so a rate-varying ARR would distort them.

Signed-off-by: Julian Oes <julian@oes.ch>
2026-06-01 17:53:45 -06:00
PX4BuildBot
06646d13ce docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-01 19:35:17 +00:00
小小小朋友
660f4e80d6 fix(logger): bound recursive log directory removal (#27354)
* fix(logger): bound recursive directory removal

* Use lstat over stat

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Add and improve error message

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Julian Oes <julian@oes.ch>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-02 07:27:26 +12:00
Andrew Brahim
d88c86e911 fixes(board): canhubk3 default RC uart swapped with telem4, move to sbus rc from monolithic rc_input (#27524)
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2026-06-01 10:58:18 -04:00
PX4BuildBot
6d71c7bfa0 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-01 13:12:41 +00:00
alexcekay
13868013d2 feat(actuators): increase servo channel count from 8 to 15
Bumps NUM_CONTROLS/MAX_ACTUATORS from 8 to 15 across all layers.

Signed-off-by: alexcekay <alexander@auterion.com>
2026-06-01 15:04:57 +02:00
PX4BuildBot
9e27a3c5e1 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-01 11:50:23 +00:00
gguidone
6f9e072e4b refactor(sensor_gps_sim): drop SYS_FAILURE_EN gate from failure injector
The failure injector is SITL-only; the system-wide enable gate isn't
needed here. Gating will be revisited when extending injection to the
real GPS driver in a follow-up.
2026-06-01 13:43:19 +02:00
gguidone
4701d1bee8 feat(sensor_gps_sim): add GPS failure injection via VEHICLE_CMD_INJECT_FAILURE
Implements FAILURE_UNIT_SENSOR_GPS support in the SITL sensor_gps_sim module, mirroring the existing motor failure injection pattern in FailureInjector.

Supported failure types per GPS instance (param3=0 all, 1=GPS0, 2=GPS1):
- FAILURE_TYPE_OFF, stop publishing (simulates dead receiver)
- FAILURE_TYPE_STUCK, freeze last known position (simulates frozen fix)
- FAILURE_TYPE_WRONG, corrupt position by +1 deg (~111 km offset, triggers gpsRedundancyCheck divergence gate)
- FAILURE_TYPE_OK, recover all active failures for that instance

Requires SYS_FAILURE_EN=1. The enable gate is re-read every cycle so runtime parameter changes take effect without restarting the module.
2026-06-01 13:43:19 +02:00
PX4BuildBot
6b5cd06c57 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-06-01 08:18:55 +00:00
Marko T
e0488b19e5 fix(commander): size ArmingCheckReply queue to MAX_NUM_REGISTRATIONS
The ArmingCheckReply uORB queue was sized to 4 (ORB_QUEUE_LENGTH) while
ExternalChecks supports up to MAX_NUM_REGISTRATIONS (8) external modes,
each of which publishes a reply for every ArmingCheckRequest. With more
than 4 registered modes the replies from the 5th+ mode overwrote earlier
ones within a single request cycle, so those modes were flagged
"unresponsive" and silently failed to activate.

Increase ORB_QUEUE_LENGTH to 8 to match MAX_NUM_REGISTRATIONS, and add a
static_assert so the two limits cannot drift apart again.

Fixes #27271

Signed-off-by: Marko T <marko.tavcar@c-astral.com>
2026-06-01 10:11:20 +02:00
Jacob Dahl
e17d81af21 refactor(uORB): hoist Publication advertise/publish to base (#27526)
Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2026-05-31 16:41:49 +12:00
PX4BuildBot
0cb985291a docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-05-30 21:23:40 +00:00
Eric Katzfey
e81184e49d fix(mavlink): Hardcode PX4_MAX_FILEPATH for log handler to avoid case when (#27502)
limits.h is included before the definition in some locations and not others
(which would trigger a setting of 1024) resulting in conflicting definitions.
2026-05-30 15:16:00 -06:00
PX4BuildBot
97352b5068 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-05-30 18:44:34 +00:00