ArduPilot / ardupilot

ArduPlane, ArduCopter, ArduRover, ArduSub source
http://ardupilot.org/
GNU General Public License v3.0
10.17k stars 16.74k forks source link

Ardupilot V4.5.x - ESC telemetry on the OSD has "stopped working" #27064

Open robustini opened 1 month ago

robustini commented 1 month ago

From Ardupilot V4.5.x you can also use ESCs with telemetry (e.g. BLHeli) from SERVO1 to SERVO8, whereas with earlier versions you would have to use SERVO9 and up, so currently everything is smarter. Unfortunately, for those like me who use ESC telemetry with OSD and had therefore utiulized connectivity from SERVO9 on up now it does not work. Previously connecting an ESC to SERVO9 was interpreted as “ESC1” and the data on the OSD was working, now it is seen as “ESC9” and the OSD does not work perhaps because it precisely goes looking for it on SERVO1. It is in my opinion a bug that should be fixed, simply by mapping on the OSD as “ESC Telemetry” the first ESC connected in ascending order, even if for example it is wired to SERVO9. Now you are forced to connect the ESC to SERVO1 to have the telemetry working on the OSD, I hope for a fix or we are forced to change connectivity and settings in already functioning drones.

andyp1per commented 1 month ago

This is a pre-existing bug. The OSD ESC information would only show info about the "first" ESC, including ESCs that did not exist. So unless you physically had your drone setup in a particular way you would not get ESC information. The change in 4.5 is that the "first" ESC is now SERVO1 rather than AUX1 due to the support for ESC telemetry on IOMCU. The solution is to either allow the ESC to be configured to to automatically determine a reasonable ESC.

robustini commented 1 month ago

Absolutely agree, just be able to configure in the OSD which ESC to show as ESCTEMP, ESCRPM and ESCAMPS (I never understood why ESCVOLTS is absent, telemetry voltage is in virtually all ESCs with telemetry). Now you cannot so taking SERVO1 as reference if you have ESCs connected in other outputs the telemetry will not work. More than a bug it is an implementation I think necessary. Then if it were possible to have multiple ESCs active in the OSD it would be the top, but other software such as INAV also does not have this feature, they only show the first one.

robustini commented 1 month ago

And today by doing a test I noticed that the telemetry problem also goes to create problems if for example you set the ESC to SERVO1, declaring it in the bitmask of BLHeli goes to disable the pwm of SERVO2. So yes, it is a bug because it still doesn't do what it should. Tested on SpeedeBee F405 WING.