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?
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
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?
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.
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