Make CRSF telemetry accessible over WIFI as UDP broadcast#211
Make CRSF telemetry accessible over WIFI as UDP broadcast#211pkendall64 merged 4 commits intoExpressLRS:masterfrom
Conversation
|
Great work! Patched this PR to my local Now I can use that for my next to develop Android app! Beats messing around with the MAVLink stuff, this looks way more easy to parse and use. Thanks! |
|
Is there a chance this would get merged into a future release? If so I would offer to write up a short documentation similar to this one https://www.expresslrs.org/software/mavlink/ so people know the feature exists and what it's currently compatible with. |
|
Yes, the intention is to merge it. You have to realise that all the devs are volunteers, and sometimes we have other commitments so things go a bit slower then. |
|
Thank you! I totally understand and appreciate the work you do :) I will draft a short documentation for the feature. |

This PR adds access to CRSF telemetry over Wi-Fi, which currently only works for MAVLink while CRSF telemetry is only available over ESP-NOW.
This is a minimal implementation that broadcasts CRSF telemetry packets via UDP. It reuses the existing Wi-Fi/MAVLink networking path and uses
mavlinkUDP.write()onMavlinkSendPort.UDP broadcast is active when telemetry mode is set to
WIFIin the ELRS Lua script.This should not interfere with MAVLink in normal use, since CRSF and MAVLink telemetry are not used at the same time as far as I know. I could not test how it behaves with real ESP-NOW receivers since I don't have the hardware.
Previously, ESP-NOW was active whenever telemetry mode was not
OFF(so even when set toWIFI). I kept this behavior in place and added UDP broadcast. The behavior is now:WIFI: CRSF telemetry is sent via ESP-NOW and UDP broadcast.ESP-NOW: CRSF telemetry is sent via ESP-NOW only.OFF: no telemetry forwarding.In my tests, this works in both AP and STA mode. I can receive the packets over UDP and parse/display telemetry fields successfully.