mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-27 00:39:59 +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
47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
# 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](../config/actuators.md))
|
|
- Parameter [DSHOT_TEL_CFG](../advanced_config/parameter_reference.md#DSHOT_TEL_CFG) is configured (if ESC supports telemetry)
|
|
- Parameter [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) has Debug (`5`) checked
|
|
|
|
## Flight Tests
|
|
|
|
❏ [Stabilized mode](../flight_modes_mc/manual_stabilized.md)
|
|
|
|
❏ Takeoff in stabilized mode to ensure correct motor spin
|
|
|
|
❏ Pitch/Roll/Yaw response 1:1
|
|
|
|
❏ Throttle response 1:1
|
|
|
|
❏ [Position mode](../flight_modes_mc/position.md)
|
|
|
|
❏ 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](../advanced_config/parameter_reference.md#COM_DISARM_LAND))
|
|
|
|
## Expected Results
|
|
|
|
- Download flight logs
|
|
- Load into Data Plot Juggler
|
|
- Ensure data is logged for `esc_status`/`esc.0x`/`esc_rpm`
|
|
|
|

|