Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DroneCAN: RC link statistics #28295

Open
olliw42 opened this issue Oct 3, 2024 · 5 comments
Open

DroneCAN: RC link statistics #28295

olliw42 opened this issue Oct 3, 2024 · 5 comments

Comments

@olliw42
Copy link
Contributor

olliw42 commented Oct 3, 2024

DroneCAN supports RC receivers via the https://github.com/dronecan/DSDL/blob/master/dronecan/sensors/rc/1140.RCInput.uavcan message.

However, sadly, it only has a "quality" field which by looking into the AP code is in fact RSSI in units of 0 ... 255.

Today however most people in the FPV arena also want to get LQ, and possibly SNR, and especially want to put them on their OSD. There is no support yet for this. As much as I know support for extending DroneCAN messages definitions while retaining compatibility with existing implementations is not yet existing or in the making. So, extending the existing RCInput seems not a viable path.

This leads to a pretty ugly situation and massively reduces the usefullness of DroneCAN RC (the situation is actually similarly sad as with the MAVLink receiver link stats not being there). To give a sense of it as I perceive it based on user responses: This makes folks wanting CRSF in addition ... just for the purpose of also getting the link stats. Obviously this is a bummer for using DroneCAN since the promise of simplified wiring cannot be kept and the advantages over normal serial largely evaporates. This therefore makes folks wanting CRSF via DroneCAN serial ... which appears to not work with AP, but if it would, doing such work arounds is hardly in the intention of DroneCAN, and also ugly as one then consumes two of the DroneCAN serial ports.

I have no idea what the "best" path and approach would be to correct the situation, but I feel I should raise it as an issue.

Few approaches would come to my mind:

  1. Add a DroneCAN link statistics message. In view of the slow and difficult process with the similar MAVLink link statistics message this may not look as the best path.
  2. Add a revised RCInput version 2 message, with few little more fields for the link stats.
  3. Add flags to teh existing RCInput message so that the quality field could host different metrics (like RSSI, LQ, SNR), Thuis would at least allow to send the data round robin, i.e. packet #n send RSSI, #n+1 sends LQ, #n+2 send SNR, and so on.
  4. Add support for extending DroneCAN messages definitions.
@tridge
Copy link
Contributor

tridge commented Oct 7, 2024

3. Add flags to teh existing RCInput message so that the quality field could host different metrics (like RSSI, LQ, SNR),

my preference is to add a STATUS flag in the existing message that indicates quality is LQ or SNR

@tridge
Copy link
Contributor

tridge commented Oct 7, 2024

maybe assign 3 of the status bits as what type the quality is?

@peterbarker
Copy link
Contributor

@olliw42 tear off three bits and use them to indicate what the RSSI field actually represents - that's basically your option (3), I think?

@olliw42
Copy link
Contributor Author

olliw42 commented Oct 7, 2024

ok. Will do that :)
THX!

@olliw42
Copy link
Contributor Author

olliw42 commented Oct 8, 2024

pl see dronecan/DSDL#56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants