48324 Commits

Author SHA1 Message Date
Hamish Willee
96f428b683
docs: Update metadata (#26167) 2025-12-24 14:57:46 +11:00
PX4 Build Bot
722133f79a
New Crowdin translations - uk (#26147)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-12-24 11:08:37 +11:00
PX4 Build Bot
66c5644f1b
New Crowdin translations - zh-CN (#26158)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-12-24 11:08:31 +11:00
Alex Klimaj
3ef13da044
Adds ARKV6X to supported Ethernet controller list (#26165)
Documents ARK Electronics ARKV6X as a supported flight controller
for Ethernet setup, improving clarity for users seeking compatible hardware.
2025-12-24 11:00:36 +11:00
CUAV Chen
161b530247
cuav_fmu-v6x: cuav-v6x_v2 iim42652 Sensor enable external clock (#26133) 2025-12-22 01:24:55 -05:00
Jacob Dahl
b5c0867101 airframes: exclude ark_fmu-v6x 2025-12-19 11:40:17 -09:00
PX4 Build Bot
ca6d257ed8
New Crowdin translations - zh-CN (#26148)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-12-19 08:52:57 +11:00
Nick
c51502781f
ekf2: revent yaw spikes on reset (#25972) 2025-12-18 09:08:44 -09:00
Jacob Dahl
339a0b40af airframes: exclude px4_fmu-v6x on 6002_draco_r 2025-12-18 08:52:17 -09:00
Jacob Dahl
d2aa1b801c airframes: exclude px4_fmu-v6x on 4052_holybro_qav250 2025-12-18 08:52:17 -09:00
Jacob Dahl
26d847e6e7 airframes: exclude px4_fmu-v6x on 4016_holybro_px4vision 2025-12-18 08:52:17 -09:00
Jacob Dahl
1cf2dc8791 airframes: exclude px4_fmu-v6x on 17002_TF-AutoG2 2025-12-18 08:52:17 -09:00
Jacob Dahl
209a9935e7 airframes: exclude px4_fmu-v6x on 17003_TF-G2 2025-12-18 08:52:17 -09:00
Jacob Dahl
0fa667fd92 airframes: exclude px4_fmu-v6x on 4053_holybro_kopis2 (uses Kakute FC) 2025-12-18 08:52:17 -09:00
Marco Hauswirth
bbf32a537e
EKF2: Improve Manual Position Reset Handling (#25885)
* reset by fusion:
* state correction with tiny observation variance
* covariance matrix upate with correct observation variance

* reset wind to 0 on hard-reset during global-position-reset
increase gate

* adjust unittest: velocity gets now reset on resetGlobalPosToExternalObservation
2025-12-18 15:21:09 +01:00
Matthias Grob
3e425210e0 Hysteresis: enable initializing arrays with default constructor initial state false 2025-12-18 13:29:40 +01:00
Matthias Grob
f25997a15b RoverLandDetector: move static hysteresis configuration to constructor 2025-12-18 13:29:40 +01:00
Matthias Grob
e132568430 FixedWingLandDetector: remove useless 0 delay away from landed 2025-12-18 13:29:40 +01:00
bresch
6195629373 ekf2: add test for external wind reset 2025-12-18 11:37:10 +01:00
bresch
2c044b327e ekf2: refactor airspeed starting logic
- avoids using invalid velocity estimate to reset wind
- do not set fusion flags if starting was impossible
- reset wind to 0 before resetting velocity using airspeed if wind data
  is outdated
2025-12-18 11:37:10 +01:00
Hamish Willee
b7ffd6ea2c
uORB doc standard - add page (#25878) 2025-12-18 17:08:41 +11:00
Jacob Dahl
b26db22c1a
docs: ark_flow: add EKF2_RNG_CTRL (#26130) 2025-12-18 14:21:24 +11:00
Hamish Willee
6f18ff8ff9
Add copilot reviewer instructions for docs (#26141) 2025-12-18 14:07:05 +11:00
jobs
f224b81eec
boards: modify vendor ID NarinFC-H7(#26117)
- CONFIG_CDCACM_PRODUCTID : 0x0047
  - CONFIG_CDCACM_VENDORID : 0x3fc5
2025-12-17 21:46:56 -05:00
isentek-webbyeh
b537601b7a
driver: ist8310: add IST8310J device ID support (#26134)
* driver: ist8310: add IST8310J device ID support and cross-axis compensation

IST8310J shares the same register map and initialization sequence as IST8310.

This change extends the existing IST8310 driver to:
- Accept the IST8310J device ID during probe and reset
- Load factory cross-axis calibration data from OTP
- Apply cross-axis compensation to raw magnetometer samples

The cross-axis compensation corrects factory axis misalignment only and
does not replace PX4 runtime magnetometer calibration.

Tested on Raspberry Pi using I2C with both IST8310 and IST8310J devices.

Signed-off-by: webbyeh <webbyeh@isentek.com>

* driver: ist8310: add IST8310J device ID support

IST8310J shares the same register map and initialization sequence as IST8310.

Factory cross-axis compensation support was evaluated but has been removed
in this revision due to flash size constraints on embedded targets. The
driver now focuses on device identification and stability, while relying on
the existing PX4 magnetometer calibration framework.

This commit also addresses review feedback by caching the WAI register value
to avoid redundant I2C reads during the reset wait state.

Tested on Raspberry Pi using I2C with both IST8310 and IST8310J devices.

Signed-off-by: webbyeh <webbyeh@isentek.com>

* Fix formatting issues in IST8310.cpp

---------

Signed-off-by: webbyeh <webbyeh@isentek.com>
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2025-12-17 17:14:17 -09:00
Patrik Dominik Pordi
e01c4b0692
Ark esc docs + restructure top level ESC docs (#26132) 2025-12-18 10:28:34 +11:00
Jacob Dahl
ca43fc8f5a
workflows: remove stale comment to reduce notification spam (#26140) 2025-12-17 12:39:54 -09:00
Jacob Dahl
11cac778ba ark: fpv: use same magnetometer subset as v6x 2025-12-17 11:13:42 -09:00
Jacob Dahl
441892b33f ark: v6x: remove MMC5983MA driver to save flash 2025-12-17 10:53:47 -09:00
Jacob Dahl
1d5a8531e4 update gps submodule 2025-12-17 10:33:21 -09:00
Jacob Dahl
e71348967d
gps: fix RTCM injection and enable MSM7 for PPK (#26095)
* serial: add txSpaceAvailable function

* serial: txSpaceAvailable and bytesAvailable fixups

* msg: GpsDump: increase queue from 8 to 16 and replace instance with device_id

* lib: gnss: add RTCM parsing library. Generated by Claude Code.

* gps: fix RTCM injection to use inject-before-read pattern as before. Add RTCM parser to frame-align injection. Drain GpsInjectData uORB queue into RTCM parser buffer and then inject. Add GPS_UBX_PPK parameter to enable MSM7 output from the GPS module (rather than the default of MSM4) which is required for PPK workflows.

* gps: replace PX4_WARN with perf counters
2025-12-17 10:20:00 -09:00
Jacob Dahl
fbe49db571
uavcannode: publisher: MovingBaseLine enhancements (#26092)
* uavcannode: publishers: MovingBaselineData: publish all GpsInjectData updates during BroadcastAnyUpdates. Check and report data loss via uorb generationcounter. Only registerCallback outside of the loop.

* remove unnecessary include
2025-12-17 10:18:17 -09:00
Jacob Dahl
4b36cfccfc
uavcan: gnss: MovingBaselineData subscriber (#26094)
* msg: GpsDump: increase queue from 8 to 16 and replace instance with device_id

* uavcan: gnss: MovingBaselineData subscriber for RTCM logging for PPK. Add uORB generation tracking to detect data loss on RTCM injection.

* add instance TODO
2025-12-17 10:17:56 -09:00
Jacob Dahl
699ec30c9c
logger: gps_dump non-optional (#26096) 2025-12-17 09:59:38 -09:00
Jacob Dahl
e6c49edd20
docs: battery: clarify BAT${i}_SOURCE parameter documentation (#26071)
* docs: battery: clarify Power Module option to state that it works additionally for onboard Analog

* Update src/lib/battery/module.yaml

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

* Update src/lib/battery/module.yaml

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

* Update src/lib/battery/module.yaml

* Apply suggestions from code review

* Update msg/versioned/BatteryStatus.msg

---------

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2025-12-17 09:58:41 -09:00
Alexander Lerach
cb6bdee4c2
boards: v6x, remove MS5611 driver to save flash (#26138) 2025-12-17 09:57:34 -09:00
Phil-Engljaehringer
3438d593a1
drivers: MCP23009 & MCP23017 shared code base (#25924)
* Implemented driver for MCP23017

* fixed compatability with mcp23009. (naming of instantiated GPIO-Devices)

* removed some comments

* removed even more comments

* commented out instatntiation of driver since it will not be used with v6x

* removed last useless comments

* re-activated gpio_mcp23009 driver, removed useless comments and empty lines

* removed empty lines at the end of mcp23017.cpp

* removed empty line

* Implemented driver for MCP23017

* fixed compatability with mcp23009. (naming of instantiated GPIO-Devices)

* removed some comments

* removed even more comments

* commented out instatntiation of driver since it will not be used with v6x

* removed last useless comments

* re-activated gpio_mcp23009 driver, removed useless comments and empty lines

* removed empty lines at the end of mcp23017.cpp

* removed empty line

* basic working implementation

* first improved driver version with shared code base for MCP23009 & MCP23017 (built as state machine with sanity checks)

* removed unused imports

* changed module name from MCP to MCP230XX

* removed debug print statements

* adjusted auto start command of driver

* removed comments

* -added seperate main functions for both derivative modules (mcp23009 and mcp23017)

* compile common functions as shared library in src/lib/drivers

* fixed cleanup of modules

* ->unclean working version with shared common library

* used make format

* working & cleaned version

* -> Added CallbackHandler to be able to use multiple reading GPIO-expanders simultaneously
-> Removed old mcap23009 calls and pin registrations
-> Adjusted GpioIn.msg to contain MAX_INSTANCES

* ->removed unused imports
->used make format

* Fix: Re-enabled platform_mcp_gpio for accton-godwit, cuav, fmu-v5x

* Fix: enabled platform_mcp_gpio in px4/fmu-v5x

* added depency to fmu-v5x

* Fix: removed new lines

* Fix: fixed linker errors

* removed unused linkage against mcp-library

* Made mcp start calls consistent for fmu-v5x and fmu-v6x

* moved logging of comm errors to read/write function directly

* added perf_count for sanity_check

* removed error message

* ensured member variables follow naming convention

* added retries to probe function

* simplyfied state-logic

* add break to terminate loop early

* ensured clean state when register_gpios() fails

* add registered-flag to pins

* used path from top dir instead of relative path in CMakeLists

* used constexpr to set parameters instead of calculating them at runtime

* style: used make format

* fix: corrected i2c_bus assignment

* style: init input of callbackhandler to 0

* fix: mark pin as registered if successful

* style: made arguments const type

---------

Co-authored-by: Alexander Lerach <alexander@auterion.com>
2025-12-17 17:48:30 +01:00
dirksavage88
38f89a8b69 remove extraneous newlines
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2025-12-17 17:12:12 +01:00
dirksavage88
3e290695ef fix to check q
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2025-12-17 17:12:12 +01:00
Andrew Brahim
11bf3cffde Update src/lib/drivers/rangefinder/PX4Rangefinder.hpp
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2025-12-17 17:12:12 +01:00
dirksavage88
ba4437ae60 revert to passing raw pointer and length
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2025-12-17 17:12:12 +01:00
dirksavage88
b64860f9f8 consolidated into update method; use default value in declaration
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2025-12-17 17:12:12 +01:00
dirksavage88
e51d09612f vl53l1x quaternion example
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2025-12-17 17:12:12 +01:00
dirksavage88
eb1c0322e3 rangefinder update quaternion
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2025-12-17 17:12:12 +01:00
Alexander Lerach
e822da74b2 io timer: fix input capture on various boards 2025-12-17 17:02:13 +01:00
bresch
ccaad82f61 mc_att: remove dependency to heading_god_for_control
Absolute heading is not required in stabilized mode and a change in
heading convergence is already handled by the StickYaw class using
unaided_heading
2025-12-17 16:59:47 +01:00
Hamish Willee
4e5c1140b7
[docs] CAN - update wiring/multi-CAN port details (#26080) 2025-12-17 16:57:00 +11:00
PX4 Build Bot
4acb8ec799
New Crowdin translations - zh-CN (#26111)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-12-17 16:13:51 +11:00
PX4 Build Bot
89d43185c7
New Crowdin translations - ko (#26109)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-12-17 16:13:35 +11:00
PX4 Build Bot
df0a197050
New Crowdin translations - uk (#26110)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-12-17 16:13:23 +11:00