Commit Graph

49657 Commits

Author SHA1 Message Date
Onur Özkan 6815f0fd5e Update .github/labeler.yml
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
2026-04-28 10:29:49 -06:00
Onur Özkan 298746c385 add kind labels automatically
Signed-off-by: Onur Özkan <work@onurozkan.dev>
2026-04-28 10:29:49 -06:00
Onur Özkan 51262a7d5b add certain labels automatically based on the modified files
Signed-off-by: Onur Özkan <work@onurozkan.dev>
2026-04-28 10:29:49 -06:00
PX4BuildBot 73164af67f docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-28 14:15:05 +00:00
Marco Hauswirth 72f1c1f6f9 fix(ekf2): set cs.heading_observable to true prior to manual reset 2026-04-28 16:07:53 +02:00
PX4BuildBot 6464c1cf1d docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-28 08:55:09 +00:00
Ryan Johnston 622e72c26a feat(commander): accept optional heading arg for mag quick calibration (#24637)
* Update Mag quick Cal to accept heading arguments

* Fixed formatting

* Update src/modules/commander/Commander.cpp

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

* Update src/modules/commander/Commander.cpp

---------

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2026-04-28 00:46:53 -08:00
PX4BuildBot e0a9572e1c docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-27 19:22:20 +00:00
Ramon Roche 64a2463441 fix(mavlink): don't write empty signing key file on shutdown (#27222)
Mavlink::request_stop() unconditionally called
_sign_control.write_key_and_timestamp() on every instance shutdown,
which created /fs/microsd/mavlink/mavlink-signing-key.bin filled with a
zero key and zero timestamp on FCs that never enabled signing.

The shutdown write is redundant: every signing state transition
(KEY_ACCEPTED, SIGNING_DISABLED) already persists synchronously inside
check_for_signing() before returning. The in-memory state is always
flushed to disk at the moment it changes.

Aggravated by mavlink_main.cpp:3334 calling request_stop() up to 1000
times in a tight loop while waiting for the thread to exit, plus the
~Mavlink() destructor path. Each call re-truncates and rewrites the
phantom file.

Reported by Jake Dahl on two separate flight controllers running
mainline.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
2026-04-27 11:14:20 -08:00
Ramon Roche 7e6ccb3eb6 ci(sbom): check out submodules recursively in PR license check
The PR-time SBOM license check was using `submodules: false`, so when
generate_sbom.py ran the new submodule directory was empty. The script
treats uninitialized submodules as `(not checked out) -> NOASSERTION
(skipped)` rather than a failure, which let PR #27184 (adding
PX4-OpticalFlow as a submodule) pass without ever inspecting the actual
repo for a LICENSE file. The monthly audit then caught it (#27217)
because it uses `submodules: recursive`.

Switch the PR-time job to `submodules: recursive` so license issues
are caught at PR time rather than on the next monthly audit. The job
only runs when .gitmodules, license-overrides.yaml, or
generate_sbom.py change, so the extra clone cost is bounded.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
2026-04-27 11:37:46 -06:00
Ramon Roche bc080e3044 chore(sbom): bump PX4-OpticalFlow to commit with LICENSE file
Bumps the submodule pointer to pick up the BSD-3-Clause LICENSE file
added in PX4/PX4-OpticalFlow#20.

Resolves the SBOM audit NOASSERTION finding without needing a manual
override entry in Tools/ci/license-overrides.yaml.

Fixes #27217

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
2026-04-27 11:37:02 -06:00
Eric Katzfey ecfe44a74c feat(boards/modalai/voxl2): Add a ModalAI MPA bridge for the raw IMU samples for use by external applications 2026-04-27 08:31:38 -07:00
PX4BuildBot 212eaeebca docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-27 13:59:09 +00:00
mahima-yoga 86800b4fdf refactor(wind-estimator): remove unused parameters and unify coding style
Remove ASPD_SCALE_NSD, ASPD_BETA_NOISE, ASPD_TAS_GATE, ASPD_BETA_GATE as these
are never changed in practice. Keep ASPD_WIND_NSD and ASPD_TAS_NOISE tunable as
they are relevant for high-altitude (wind NSD) and high-speed (TAS noise) use cases.
2026-04-27 15:52:04 +02:00
PX4BuildBot e01e0cacb7 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-27 11:54:46 +00:00
Phil-Engljaehringer 13d9f0b193 feat(adc): Add driver for ADS7128 ADC (#26471)
* feat: add driver for ADS7128 ADC

* style: used make format

* fix: only read 1 byte in adc_get()

* fix: set correct min/max/def value for VRef

* fix: print i2c address in status

* feat: add threshhold to failures before reset

* feat: add failure_threshhold_count

* style: remove unused variable definition from module.yaml

* fix: removed retry logic from poll functions

* fix: decreased sleep time in probe function

* feat: add driver for ADS7128 ADC

* style: used make format

* fix: only read 1 byte in adc_get()

* fix: changed scheduling logic

* fix: ensure no false values are published

* fix: removed unused variable definition

* style: used make format

* fix: removed merge artifact

* fix: removed some merge artifacts
2026-04-27 13:47:10 +02:00
PX4BuildBot 6c62052838 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-27 07:56:35 +00:00
Marco Hauswirth 854c43dde8 fix(ekf2): dont adjust inactive height bias estimators on altitude reset 2026-04-27 09:49:24 +02:00
PX4BuildBot 242d63f437 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-26 22:44:22 +00:00
remi22 c224c778f0 docs(sim-x500-fov): Add information about gimbal field of view in x500_gimbal model doc (#26908) 2026-04-27 08:37:28 +10:00
PX4 Build Bot f88bc1f204 docs(i18n): PX4 guide translations (Crowdin) - ko (#27208)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-04-27 08:34:53 +10:00
PX4 Build Bot 92cc4db33d docs(i18n): PX4 guide translations (Crowdin) - zh-CN (#27210)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-04-27 08:34:40 +10:00
PX4 Build Bot 5c7d08f1d0 docs(i18n): PX4 guide translations (Crowdin) - uk (#27209)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-04-27 08:34:23 +10:00
Julian Oes 61295affa1 fix(boards): KakuteH7v2 needs the mklittlefs command (#27185)
This is in case the littlefs on flash NAND is in a bad state and needs
reformatting.
2026-04-27 09:07:11 +12:00
Julian Oes b48ec2dd68 feat(params): add board-level read-only parameter support (#26522)
Integrators can declare read-only parameters in a per-board YAML file:
readonly_params.yaml.

There are two ways to define the read-only params:
- "block": default writable, explicitly list params to be locked
- "allow": default readonly, explicitly list params to be writable

Enforcement is activated by `param lock` in rcS after all startup
scripts have run, so board defaults and airframe scripts can still set
params during init.

The feedback via MAVLink uses the new
MAV_PARAM_ERROR_READ_ONLY as part of the PARAM_ERROR message.
2026-04-27 09:06:43 +12:00
PX4BuildBot efd05431e8 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-26 04:37:39 +00:00
Hamish Willee 323c623e34 docs(docs):Fixes that prettier does not handle well (#27212) 2026-04-26 14:30:02 +10:00
PX4BuildBot 5fcd9043f3 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-24 22:44:47 +00:00
Valentin Bugrov 7ac1cbd719 feat(allyes): Remove redundant filters from exception_list_sitl 2026-04-24 15:37:25 -07:00
Valentin Bugrov 4c89e38595 fix(drvers/vtxtable): Fix VtxTable clang-tidy errors 2026-04-24 15:37:25 -07:00
Valentin Bugrov 7589f13bcd fix(drvers/roboclaw): Fix roboclaw clang-tidy errors 2026-04-24 15:37:25 -07:00
Valentin Bugrov 0000f6d80e fix(drvers/cyphal): Fix cyphal clang-tidy errors 2026-04-24 15:37:25 -07:00
Valentin Bugrov a7f8ede393 fix(drvers/actuators): Fix vertiq_io clang-tidy errors 2026-04-24 15:37:25 -07:00
Valentin Bugrov 2b76573301 fix(drvers/ins): Fix Microstrain codestyle according astyle-config 2026-04-24 15:37:25 -07:00
Valentin Bugrov a7ebab58cb fix(drvers/ins): Fix Microstrain clang-tidy errors 2026-04-24 15:37:25 -07:00
Valentin Bugrov 2c693e4113 fix(drvers/ins): Apply to sbgECom copilot code-improvements 2026-04-24 15:37:25 -07:00
Valentin Bugrov 0d5cc985b8 fix(drvers/ins): Fix sbgECom clang-tidy errors 2026-04-24 15:37:25 -07:00
Valentin Bugrov 3089cc4ebd fix(drvers/ins): Fix InertialLabs clang-tidy errors 2026-04-24 15:37:25 -07:00
Valentin Bugrov 7848216e1d fix(drvers/ins): Fix EulerNav clang-tidy errors 2026-04-24 15:37:25 -07:00
Valentin Bugrov d665d64df2 fix(drvers/ins): Fix VectorNav clang-tidy errors 2026-04-24 15:37:25 -07:00
Valentin Bugrov d2ad2b52b5 fix(drvers/ins): Disable clang-tidy checks for VectorNav lib 2026-04-24 15:37:25 -07:00
PX4BuildBot d08a0697f1 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-24 17:51:22 +00:00
Matthias Grob eb30c0b6b0 refactor(AttitudeControl): comment type "c{a}ompared" 2026-04-24 10:43:54 -07:00
dependabot[bot] 250b1205b9 build(deps): bump postcss from 8.5.8 to 8.5.10 in /docs
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.8 to 8.5.10.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.10)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.10
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 10:40:43 -07:00
Onur Özkan 2122546081 fix(labels): rename documentation label (#27187)
* rename documentation label

Signed-off-by: Onur Özkan <work@onurozkan.dev>

* Update .github/ISSUE_TEMPLATE/docs_bug_report.yml

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

---------

Signed-off-by: Onur Özkan <work@onurozkan.dev>
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2026-04-24 09:17:05 -08:00
PX4BuildBot 0f692f3fb6 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-24 16:51:19 +00:00
Silvan ba0b4abbfa fix(airspeed_selector): use CAS instead of IAS for in-flight logic
Signed-off-by: Silvan <silvan@auterion.com>
2026-04-24 18:42:45 +02:00
alexcekay ef531ab540 fix(nuttx): update submodule (fix SPI cache problem) 2026-04-24 13:22:14 +02:00
PX4BuildBot fc9e4e8844 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-24 02:11:17 +00:00
Jacob Dahl 2e87050745 fix(mavlink): gate UAVCAN param bridge on observed camera heartbeat (#27181)
Build all targets / Scan for Board Targets (push) Has been cancelled
Checks / Gate Checks [check_format] (push) Has been cancelled
Checks / Gate Checks [check_newlines] (push) Has been cancelled
Checks / Gate Checks [module_documentation] (push) Has been cancelled
Checks / Gate Checks [shellcheck_all] (push) Has been cancelled
Checks / Gate Checks [validate_module_configs] (push) Has been cancelled
Checks / Unit Tests (push) Has been cancelled
Static Analysis / Clang-Tidy (push) Has been cancelled
MacOS build / build (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:22.04) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:24.04) (push) Has been cancelled
Container build / Set Tags and Variables (push) Has been cancelled
Docs - Orchestrator / T1: Detect Changes (push) Has been cancelled
Docs - Orchestrator / T2: Metadata Sync (push) Has been cancelled
Docs - Crowdin - Upload Guide sources (en) / upload-to-crowdin (push) Has been cancelled
Failsafe Simulator Build / build (failsafe_web) (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v5x (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v6x (push) Has been cancelled
ITCM check / Checking nxp_mr-tropic (push) Has been cancelled
ITCM check / Checking nxp_tropic-community (push) Has been cancelled
ITCM check / Checking px4_fmu-v5x (push) Has been cancelled
ITCM check / Checking px4_fmu-v6xrt (push) Has been cancelled
MAVROS Tests / MAVROS Mission (push) Has been cancelled
MAVROS Tests / MAVROS Offboard (push) Has been cancelled
Python CI Checks / build (push) Has been cancelled
ROS Integration Tests / build (push) Has been cancelled
ROS Translation Node Tests / Build and test [humble] (push) Has been cancelled
ROS Translation Node Tests / Build and test [jazzy] (push) Has been cancelled
SBOM License Check / verify-licenses (push) Has been cancelled
SITL Tests / Testing PX4 iris (push) Has been cancelled
Build all targets / Seed [${{ matrix.chip_family }}] (push) Has been cancelled
Build all targets / Build [${{ matrix.runner }}][${{ matrix.group }}] (push) Has been cancelled
Build all targets / Upload Artifacts (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
Docs - Orchestrator / T2: PR Metadata (push) Has been cancelled
Docs - Orchestrator / T2: Link Check (push) Has been cancelled
Docs - Orchestrator / T3: Build Site (push) Has been cancelled
Docs - Orchestrator / T4: Deploy (push) Has been cancelled
FLASH usage analysis / Publish Results (push) Has been cancelled
Fuzzing / Fuzzing (push) Has been cancelled
Handle stale issues and PRs / stale (push) Has been cancelled
Docs - Crowdin - Download Guide Translations / Synchronize with Crowdin (ko) (push) Has been cancelled
Docs - Crowdin - Download Guide Translations / Synchronize with Crowdin (uk) (push) Has been cancelled
Docs - Crowdin - Download Guide Translations / Synchronize with Crowdin (zh-CN) (push) Has been cancelled
SBOM Monthly Audit / audit (push) Has been cancelled
* fix(mavlink): gate UAVCAN param bridge on observed camera heartbeat

Only exclude target_component 100..105 from the MAVLink -> UAVCAN
parameter bridge when a MAVLink HEARTBEAT with MAV_TYPE_CAMERA has
been observed on that component within the last 5s. When no camera
has been seen, forward to the matching UAVCAN node as before.

The bridge maps target_component 1:1 onto UAVCAN node_id, so the
unconditional 100..105 exclusion added in #25651 also made DroneCAN
peripherals assigned those node IDs unreachable via MAVLink params.
This preserves #25651's intent for real MAVLink cameras while
unblocking DroneCAN devices in that ID range.

Fixes #27180

* fix(mavlink): warn when camera shadows DroneCAN node in 100..105

Emit a one-shot mavlink_log_warning per comp ID when both a MAVLink
camera (observed via camera_status / MAV_TYPE_CAMERA heartbeat) and a
DroneCAN node (via dronecan_node_status) are present at the same ID
in 100..105. The camera takes precedence at the UAVCAN parameter
bridge (intent of #25651), so the CAN node's params become unreachable
via MAVLink. The warning surfaces the ambiguity in QGC's message tray
so the user can reassign the CAN node ID.

Fires regardless of which side joined first. Sticky per comp ID for
the boot — the user only sees it once per conflicting ID.

* Update src/modules/mavlink/mavlink_parameters.cpp

* Update src/modules/mavlink/mavlink_parameters.cpp
2026-04-23 18:03:42 -08:00