MissionPlanner capable of handling UAVCAN MAVLink messages?

Hey,

if a pixhawk would emit the uavcan related mavlink messages, as described in this document: https://mavlink.io/en/uavcan-interaction.html, would MissionPlanner then be able to handle them, especially allow one to set a uavcan node’s parameters?

Thx, Olli

Do you need to emit the UAVCAN mavlink messages to the GCS? The way I understand it, the GCS doesn’t specifically need to know that the device is UAVCAN, as MavLink ComponentID == UAVCAN NodeID, and the param_set message definitions are aligned.
I can’t test though: does that not work?

yes. IMHO, one needs the flight controller to emit the UAVCAN mavlink messages to the GCS
no. My understanding is that it needs to know that it is UAVCAN, simply by the fact that it doesn’t receive a MAVLink heart beat from the node as usually but the UAVCAN_NODE_STATUS instead. So, I think, what needs to happen in MP is that it sees the UAVCAN_NODE_STATUS message and then creates a new sub-system as it would do in case it would see an additional mavlink heartbeat
yes. The param_set messages would be aligned, and there would be no difference from the GCS side for that part

so, IMHO, the GCS needs dedicated code to handle this, and it wouldn’t work just out-of-the box.

as much as I know this is not yet implemented in ArduPilot nor is there a PR, but it doesn’t look terribly difficult so I ponder if I should try, but this would make sense only if MissionPlanner would already handle the corresponding UAVCAN MAVLink messages

I need to think about this. Can’t really argue with what you’re saying though.

well, I would have thought that this would be a quick to answer question, yes/no, and not one one could argue for long :blush:

Moving house. You’re right, but I have an aversion to complicating the gcs even more: so trying to think of how this might be achieved in a different way. Might not be possible though. @meee1 thoughts?

i should be able to add support for UAVCAN_NODE_STATUS without to much issue. once this is established most of the existing param system will work.

Do you want me/Ollie to link an issue on GitHub for this?

thx, Michael, for skimming in

according to the above link also support for UAVCAN_NODE_INFO and MAV_CMD_UAVCAN_GET_NODE_INFO is required

I’m not sure though this really is needed. To me it seems that if UAVCAN_NODE_STATUS is treated similar to the “normal” heartbeat, disregarding the other two messages, would be perfectly sufficient to get things working.

ive already added code and its in current beta. oonly issue is the actual bridge part

wau, this is great

as regards the bridge part, I could give it a try in the next days/week
I think getting the UAVCAN_NODE_STATUS emitted should be extremely simple
handling the parameters I may find a bit more tricky, given my low understanding of the code, but I could try

change was here https://github.com/ArduPilot/MissionPlanner/commit/1028c453467c73edd772593e217b13b7309e4a40

1 Like

@olliw42 - Did you get anywhere with implementing the bridge part?