My goal is not only to get RPM, but also to obtain the full ESC telemetry, such as voltage, current, temperature, and other available ESC data.
Does the Talon 40A BLHeli_32 support Extended DShot Telemetry (EDT), or does Bidirectional DShot only provide RPM?
If I switch to BDShot, can I still connect the ESC T (UART telemetry) pad to the flight controller to obtain the more detailed telemetry data?
I have actually been trying to use the standard BLHeli_32 UART telemetry (T pad connected to a Pixhawk UART RX), but I cannot receive any telemetry at all during Motor Test. All ESC telemetry values remain zero.
I’m trying to understand whether I should continue debugging the UART telemetry setup, or whether BDShot is the recommended approach for this ESC.
Actually it is possible, ESCs using telemetry wire put it in high impedance state when not transmitting and the FC is responsible for coordinating telemetry reads so they do not collide.
I don’t see how that can be done, since the ESC’s are independent. In an AM32 configuration I have used several serial ports for getting telemetry.
A different thing is representing averages.
On a working BLHeli32 ESC I think I had to explicitly enable serial telemetry (I think it was disabled by default). I have it on a FC not admitting DMA (no BDShot), so telemetry is needed. So execute BLHeli32 suite, check telemetry enabling, and try the ESC’s one by one.
Configure for Bdshot extended telemetry first and see what data you have. It should be as @LupusTheCanine said but it depends on the firmware level of BLHeli_32, which is now fixed at whatever you have, and perhaps the ESC brand. I have single BLHeli_32 on V32.1 where all useful extended telemetry fields are available thru Bdshot.
You have to use DShot (telemetry over telemetry wire) or BDShot (telemetry over servo wire) to get telemetry from BLHeli ESCs. BDShot is preferable as it is sends telemetry at much higher rate.
If you have old version of BLHeli32 that doesn’t support extended telemetry you can look for AM32 (open source alternative to BLHeli32) target for your ESCs.
Yes! You were right. Relevant code is in libraries/AP_BLHeli/AP_BLHeli.cpp
(void AP_BLHeli::log_bidir_telemetry(void))
which applies also to AM32. I suppose this needs disabling ESC’s telemetry and let the FC request it.
Related to this, in the past I had two independent ESC’s, but enough serial ports. I suppose 4in1 ESC’s do the union internally, and if you have independent ESC’s some easy soldering is required.