mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-03-24 10:34:00 +08:00
Overhauls the DShot driver with per-timer BDShot selection, multi-timer
sequential capture, Extended DShot Telemetry (EDT), and AM32 ESC EEPROM
read/write via MAVLink. Expands ESC support from 8 to 12 channels.
BDShot:
- Per-timer BDShot protocol selection via actuator config UI
- Multi-timer sequential burst/capture on any DMA-capable timer
- Adaptive per-channel GCR bitstream decoding
- Per-channel online/offline detection with hysteresis
Extended DShot Telemetry (EDT):
- Temperature, voltage, current from BDShot frames (no serial wire)
- New DSHOT_BIDIR_EDT parameter
- EDT data merged with serial telemetry when both available
AM32 EEPROM:
- Read/write AM32 ESC settings via MAVLink ESC_EEPROM message
- ESCSettingsInterface abstraction for future ESC firmware types
- New DSHOT_ESC_TYPE parameter
Other changes:
- Per-motor pole count params DSHOT_MOT_POL1–12 (replaces MOT_POLE_COUNT)
- EscStatus/EscReport expanded to 12 ESCs with uint16 bitmasks
- Numerous bounds-check, overflow, and concurrency fixes
- Updated DShot documentation
8 lines
329 B
Plaintext
8 lines
329 B
Plaintext
uint64 timestamp # [us] Time since system start
|
|
uint8 firmware # [-] ESC firmware type (see ESC_FIRMWARE enum in MAVLink)
|
|
uint8 index # [-] Index of the ESC (0 = ESC1, 1 = ESC2, etc.)
|
|
uint16 length # [-] Length of valid data
|
|
uint8[48] data # [-] Raw ESC EEPROM data
|
|
|
|
uint8 ORB_QUEUE_LENGTH = 8 # To support 8 queued up responses
|