Hi everyone,
I am having an issue receiving Extended DShot Telemetry PX4 with a GEPRC 80A ESC.
Status Summary:
-
BDShot eRPM on PX4: Working properly. Motor RPM is correctly updated in esc_status.
-
Betaflight: EDT works on Betaflight with the exact same esc.
-
PX4 EDT: Extended telemetry is missing or not parsed in PX.
Console Output:
NuttShell (NSH) NuttX-11.0.0
nsh> dshot status
----------------------------------------------------------------
INFO [dshot] DShot Driver Status
----------------------------------------------------------------
INFO [dshot] Configuration:
INFO [dshot] Output Mask: 0x01 (1 channels)
INFO [dshot] BDShot Telemetry: Enabled
INFO [dshot] Serial Telemetry: Disabled
INFO [dshot] Extended DShot: Enabled
INFO [dshot] ESC Type: Unknown (0)
INFO [dshot] 3D Mode: Disabled
INFO [dshot] Motor Poles:
INFO [dshot] Motor 1: 14 poles
----------------------------------------------------------------
INFO [dshot] Telemetry Status:
INFO [dshot] Ch Motor BDShot Serial BDShot Err Serial Err
INFO [dshot] 1 1 Online - 741536 0
INFO [dshot] EDT Requested Mask (motor order): 0x01
----------------------------------------------------------------
INFO [dshot] Bidirectional DShot Hardware:
INFO [arch_dshot] dshot driver stats:
INFO [arch_dshot] BDShot channel mask: 0x0001
INFO [arch_dshot] Ch0: read_ok 155167, fail_crc 741536
INFO [arch_dshot] BDShot EDT
INFO [arch_dshot] Ch0: eRPM: 763Hz Temp: 0C (0.0Hz) Volt: 0.00V (0.0Hz) Curr: 0.0A (0.0Hz)
----------------------------------------------------------------
INFO [dshot] Mixer Information:
INFO [mixer_module] Param prefix: PWM_AUX
control latency: 898682 events, 285030989us elapsed, 317.17us avg, min 308us max 530us 3.482us rms
INFO [mixer_module] Switched to rate_ctrl work queue
Channel Configuration:
Channel 0: func: 101, value: 0.00, failsafe: 0.00, disarmed: 0, min: 109, max: 1999, center: 65535
Channel 1: func: 0, value: 0.00, failsafe: 0.00, disarmed: 0, min: 109, max: 1999, center: 65535
Channel 2: func: 0, value: 0.00, failsafe: 0.00, disarmed: 0, min: 109, max: 1999, center: 65535
Channel 3: func: 0, value: 0.00, failsafe: 0.00, disarmed: 0, min: 109, max: 1999, center: 65535
Channel 4: func: 0, value: 0.00, failsafe: 0.00, disarmed: 0, min: 109, max: 1999, center: 65535
Channel 5: func: 0, value: 0.00, failsafe: 0.00, disarmed: 0, min: 109, max: 1999, center: 65535
----------------------------------------------------------------
INFO [dshot] Performance Counters:
dshot: cycle: 898712 events, 22673736us elapsed, 25.23us avg, min 19us max 462us 1.256us rms
dshot: bdshot recv: 895216 events
dshot: bdshot error: 740208 events
----------------------------------------------------------------
TOPIC: esc_status
esc_status
timestamp: 1282018035 (0.000960 seconds ago)
counter: 58506
esc_online_flags: 1 (0b1)
esc_armed_flags: 0
esc_count: 1
esc_connectiontype: 5
esc[0] (esc_report):
timestamp: 1282018033 (0.018264 seconds ago)
esc_errorcount: 741536
esc_rpm: 0
esc_voltage: 0.00000
esc_current: 0.00000
esc_temperature: 0.00000
motor_temperature: 0
failures: 0
esc_state: 0
actuator_function: 101
esc_power: 0
Does PX4 currently support Extended DShot Telemetry (EDT) for BLHeli ESCs to report voltage, current, and temperature over BDShot, or is Bidirectional DShot in PX4 strictly limited to eRPM feedback at the moment?