mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +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
1.6 KiB
1.6 KiB
Test MC_08 - DSHOT ESC
Objective
Regression test for DSHOT working with PX4
Preflight
- Ensure vehicle is using a DSHOT ESC
- Bidirectional DShot is configured (BDShot150/300/600 selected in Actuator Configuration)
- Parameter DSHOT_TEL_CFG is configured (if ESC supports telemetry)
- Parameter SDLOG_PROFILE has Debug (
5) checked
Flight Tests
❏ Takeoff in stabilized mode to ensure correct motor spin
❏ Pitch/Roll/Yaw response 1:1
❏ Throttle response 1:1
❏ Horizontal position should hold current value with stick centered
❏ Vertical position should hold current value with stick centered
❏ Throttle response set to climb/descent rate
❏ Pitch/Roll/Yaw response set to pitch/roll/yaw rates
Landing
❏ Land in either Position or Altitude mode with the throttle below 40%
❏ Upon touching ground, copter should disarm automatically within 2 seconds (default: see COM_DISARM_LAND)
