Commit Graph
605 Commits
Author SHA1 Message Date
Andrew Tridgell cb75a3b4fe modules:ChibiOS: update for faster USB mass storage
Use the ChibiOS USB MSD implementation with chunked multi-block SCSI
transfers, pipelining and improved media error handling.
2026-08-28 17:18:39 +10:00
Andrew Tridgell 974022f489 modules: update pymavlink for Unix domain sockets 2026-08-26 06:48:24 +10:00
Andrew Tridgell a7f661607f modules: remove unused CrashDebug submodule
The firmware CrashCatcher core and host debug interface now live in-tree, leaving no users of the CrashDebug submodule.
2026-08-25 10:46:36 +10:00
Andy Piper fdd0011695 modules: ChibiOS restore STM32_ENFORCE_H7_REV_XY support and do not reset SYSCFG in hal_lld_init
The ChibiOS 21.11.x merge dropped the rev X/Y conditionals upstream, which
left our STM32_ENFORCE_H7_REV_XY define a no-op on every H7 board that does
not set MCU_CLOCKRATE_MHZ 480. That silently disabled the errata 2.2.15 AXI
SRAM read corruption workaround and applied rev V only ODEN, CSICFGR and
ADC boost settings to rev X/Y parts.

stm32_clock_init() sets the ODEN bit in SYSCFG_PWRCR to put the core
into overdrive, which is required above STM32_SYSCLK_MAX_NOBOOST.
hal_lld_init() then reset every APB4 peripheral, and SYSCFG is on APB4,
so ODEN was cleared while the PLL kept running at the higher rate. The
core was left above its VOS1 rating with no indication.

The exclusion was already intended: the AHB4 reset above masks off
RCC_APB4RSTR_SYSCFGRST, but SYSCFG is not on AHB4 so it had no effect
there. On AHB4 that bit is GPIOBRST, which STM32_GPIO_EN_MASK already
covers, so that line is left alone.

Measured on an STM32H743 rev V at 480 MHz: SYSCFG_PWRCR reads 0x00
after boot without this change and 0x81 with it.
2026-07-24 10:39:57 +01:00
Christian Petri 48afb18b5e mavlink: bump submodule to include MAG_CAL_STATUS failure enums
Picks up ArduPilot/mavlink commit 13f2f7351a which adds specific
failure reason enums to MAG_CAL_STATUS:
- MAG_CAL_FAILED_ORIENTATION (6)
- MAG_CAL_FAILED_RADIUS (7)
- MAG_CAL_FAILED_OFFSETS (8)
- MAG_CAL_FAILED_DIAG_SCALING (9)
- MAG_CAL_FAILED_RESIDUALS_HIGH (10)

These replace the previous MAG_CAL_BAD_ORIENTATION and
MAG_CAL_BAD_RADIUS entries with more granular failure codes.
2026-07-04 10:32:28 +10:00
Peter Barker f1efebf494 mavlink: reference commit for MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET 2026-06-03 09:54:28 +10:00
Andy Piper 4c5c889b3a ChibiOS: kernel v9 2026-05-22 16:46:21 +10:00
Julian 95fb59fc84 modules: bump mavlink to add ONBOARD_COMPUTER_STATUS (id=390) &
COMPUTER_STATUS_FLAGS. Fixes silent runtime rejections caused by missing
CRC_EXTRA.
2026-04-20 20:40:52 +10:00
Peter Barker 76b5a10935 mavlink: reference ardupilot master commit 2026-04-14 11:15:21 +10:00
Peter Barker ec50d6f32a mavlink: reference master commit 2026-04-04 12:48:24 +11:00
Peter Barker 57a01ce496 mavlink: reference gimbal_device_flags change 2026-03-27 22:48:41 +11:00
Peter Barker 265240955f mavlink: reference new PREFLIGHT_CALIBRATION_* enum values 2026-03-25 18:32:38 +11:00
Peter Barker 069c08ffc5 mavlink: reference master commit
including PREFLIGHT_STORAGE_PARAMETER_ACTION enumeration
2026-03-16 12:47:06 +11:00
Peter Barker 9ba068b7e1 modules/mavlink: update to master, including new enumeration values for PID_TUNING 2026-03-03 18:24:02 +11:00
Thomas Watson ca35793c38 modules/mavlink: update for sha256sum improvements
Includes pymavlink generator code improvements to save ~400 bytes of
stack on Cortex M when signing.
2026-03-01 16:59:06 +11:00
Peter Barker 33ab36b778 mavlink: move forward to master commit 2026-02-26 12:03:26 +11:00
Peter Barker 0a08371a0c mavlink: reference commit with MAV_FTP enumerations 2026-02-11 11:51:25 +11:00
Peter Barker b6b4b26c12 mavlink: move forward to ardupilot/master
contains a whole bunch of pymavlink changes as well as message changes
2026-02-03 12:36:16 +11:00
Thomas Watson ea57608b32 modules/DroneCAN: update to fix new Python compat issues
* dsdlc fix for Python 3.14

* libcanard fix for EmPy 4

* pydronecan fix for EmPy 4 and Python 3.12

* DSDL comment improvement (while we are in here)
2026-01-13 11:55:19 +11:00
Peter Barker 3dbcd7c4b6 mavlink: move commit forward to ardupilot/master 2025-12-17 00:51:42 +11:00
Thomas Watson 2a25847a29 modules: update ChibiOS to fix SD card watchdogs/stuck threads
Incorporates ArduPilot ChibiOS pulls #99 , #100, and #101 to fix issues
in the SD card drivers which can cause the flight controller to hang
(and subsequently watchdog) or the logging thread to fall asleep forever
and be unable to recover.

Both results can happen during flight. The former result happens on F4
and F7 only, the latter happens on H7 too. The issues are mostly
triggered by an SD card that is rapidly connected and disconnected, such
as vibrating in its socket, though random card communication failures
could trigger them too. They have existed for a very long time.

Testing was performed on Cube Black (F4), Pixhawk 4 Mini (F7), and Cube
Orange (H7). The issues were reproduced using an SD card extender, then
deliberately unlocking and carefully wiggling the flat flex cable. After
these patches, this can be done apparently indefinitely and the logging
thread always comes back and logging restarts after the SD card is
securely attached again.

Note that some boards are evidently vulnerable to this wiggling shorting
out the SD power rail and resetting the CPU too. Software can't fix
that, so vehicles with poor SD card connections need to be fixed
properly!
2025-12-01 10:26:51 -06:00
MattKear 5d9074ea75 Mavlink: Move forward to include NAV_ARC_WAYPOINT 2025-11-12 20:47:30 +11:00
Peter Barker 06e4e81d6a mavlink: move reference forward, notably for PARAM_ERROR 2025-10-18 11:50:33 +11:00
Andrew Tridgell aa6d4761ef lwip: update for PPP capture hook 2025-08-09 06:14:44 +10:00
Andrew Tridgell 837d4a8360 mavlink: update to master of pymavlink 2025-08-07 20:31:31 +10:00
Andrew Tridgell a5c73ec409 DroneCAN: update dronecan_dsdlc 2025-07-12 23:06:33 -05:00
Andrew Tridgell 3dd28ae51f DroneCAN: update libcanard
this reduces CPU usage in the hot frame accept path using hash on the
message ID into a set of message lists
2025-07-12 23:06:33 -05:00
Andrew Tridgell 725ea387d5 DroneCAN: added BatteryTag and GlobalTime DSDL 2025-05-17 09:25:46 +10:00
Andrew Tridgell 883c5ec276 DroneCAN: update libcanard
added get_semaphore() and allow for multiple handlers for an ID
2025-05-09 13:08:40 +10:00
Peter Barker 501f0003fb mavlink: reference new MAV_CMD_DO_SET_GLOBAL_ORIGIN 2025-05-02 16:04:10 +10:00
Andrew Tridgell 980b28a992 DroneCAN: update libcanard 2025-04-23 18:03:34 -04:00
Peter Barker 6d0b011f11 mavlink: update to master
notably fixes to enumerations
2025-04-20 19:19:28 +10:00
Peter Barker 11a65438ea mavlink: reference master commit inc. airspeed flags fix 2025-04-03 10:48:29 +11:00
Andrew Tridgell 61ba6aea88 DroneCAN: update libcanard for semaphore bug fix
it was possible for a runtime allocated subscriber, client or server
to trigger a call to a pure virtual handle_message function in the
HandlerList class as the constructor ordering inserts the handler into
the list before the vtable pointer is updated to the vtable for the
child class. The same issue happens on destructor

this could happen in a couple of places in ArduPilot:

 - the MPPT battery driver does runtime allocation of a client on an
 R/C switch
 - the DroneCAN_Serial client is started after the thread starts so
 packet processing is started

thanks to Thomas and Sid
2025-04-01 18:22:31 +11:00
bugobliterator 92adaccdc0 modules: update ChibiOS 2025-02-27 20:11:40 +11:00
Andy Piper 22dacf6178 modules: add littlefs v2.10.1-ardupilot 2025-01-21 11:10:31 +11:00
Iampete1 f08a2120a8 MAVLink: add required messages to support addition of modes at runtime 2024-11-13 20:11:50 +11:00
Tim Tuxworth 7dbb22d3b7 MAVLink: use the new MAVLink GUIDED HEADING_TYPE_DEFAULT 2024-11-12 12:43:29 +11:00
Andrew Tridgell e7bfd400e8 DroneCAN: update DSDL 2024-11-05 17:03:23 +09:00
Tom Pittenger 28a6a874ec mavlink: add trajectory msgs 2024-10-25 16:24:58 -07:00
Peter Barker b68427a406 waf: reference commit using python3 for waf-light 2024-10-15 11:11:38 +11:00
Andrew Tridgell 9253d6f607 DroneCAN: update libcanard
prevents partial message send due to running out of buffer space
2024-09-27 11:06:20 +10:00
Randy Mackay 1f61b64fbe modules: update mavlink to include camera-thermal-range 2024-09-10 20:59:49 +09:00
Andrew Tridgell 35a2e61a01 ChibiOS: fixed MACv2 phy address shift 2024-09-03 10:41:58 +10:00
Peter Barker 51fe703ce2 mavlink: reference master; GNSS_INTEGRITY message 2024-08-27 16:32:50 +10:00
Thomas Watson b6adb4c7e7 DroneCAN: update DSDL compiler
Fixes the following issues:

 * Compound array elements subject to tail array optimization could be
decoded incorrectly, causing a decode failure.

 * Invalid array lengths could be sent over the wire if a
longer-than-max array was encoded (though only the max number of
elements was sent).

 * Lengths were not validated when decoding arrays of compound elements
using TAO, causing memory corruption if an invalid length was received.

 * Union tags were not validated, causing undefined behavior if an
invalid tag was received.
2024-07-23 12:08:48 +10:00
Andrew Tridgell fd6fe52dc7 mavlink: added MAV_CMD_SET_HAGL 2024-07-17 08:03:18 +10:00
Andrew Tridgell ac9c857e8f mavlink: support python 3.12 2024-05-08 18:28:59 +10:00
Andrew Tridgell dd02945d60 waf: update to 2.0.27
this fixes python 3.12 support
2024-05-08 18:28:59 +10:00
Iampete1 410521afb8 DroneCAN: DSDL: add RPM message 2024-05-02 20:25:38 +10:00