I have got an issue with arduplane versus arducopter treatment of ESC telemetry using BDshot. In all my copters builds I integrate the option to display the ESC temperature.
However, in arduplane, with the same hardware setup (same 4 x 1 60 A Speedybee ESC, Matek 741 Wing or Copter), I can not get the ESC temperature using esc_telem:get_temperature ().
The main difference that in arduplane, there is SERVO_BLH_MASK, but no SERVO_BLH_BDMASK. Not sure if there is this SERVO_BLH_BDMASK in arduplane.
So my question is how to obtain the ESC telemetry using BDShot for arduplane (it is a VTOL where the VTOL ESC works on the temperature limit!)
There is SERVO_BLH_BDMASK in Arduplane, at least according to the complete parameter list.
To the best of my impression, this subsystem is vehicle-independent. However, for boards with potentially funny DMA channel layout there are versions with or without BDshot. You might be flashing Plane binaries without BDshot support. At least for MatekH743, correct versions exist (ArduPilot firmware : /Plane/stable-4.6.3/MatekH743-bdshot).
(It might be that something in the build system is somehow broken, but by a vehicle independence argument this should also have resurfaced in Copter too).
In Arduplane there is SERVO_BLH_MASK, not SERVO_BLH_BDMASK. Not sure if they are the same. I marked motor channels on this SERVO_BLH_MASK, but I can not get the ESC telemetry. I am using 4.6.3. I am able to connect the ESC configurator and change settings, so the bidirectional protocol must be working.
Not so fast, it was premature to close this topic…
It does not work.
The quad motors do not run now…
And, the scripts subdirectory is gone, and despite disabling and reenabling the SCR_ENABLE, still the subdirectory does not appear… THAT ONE WAS MY FAULT, CARD POPED OUT…
I uploaded 4.7.0, trying with this one… the motors do not work,
I am using BL HELI 16. Finally, I got the motors running, but only without BD, on version 4.6.3. Not sure why. Also, the RCIN which was on UART 6 stopped working. I changed to UART 2 (both in Mission Planner, and physically), and it works OK, but I begin to suspect that maybe the Matek board has some issues.
Sorry, I have blue jay uploaded, version 21. I have it on all ESCs, and they work fine, but on copters, with BD and ESC telemetry. Not sure where I got the problem this time.
I had two settings wrong, SERVO_DSHOT_ESC was temporarily set to 2, now I switched it back to 4. Once, I got two channels with temperature values, but after that, again it turned to 0.
Not sure if 40 cm. cables for BDshot is too much? Could it be signal conditioning issues?