We’re trying to make a battery monitor which can communicate to Ardupilot through UAVCAN. We are using libcanard (the C UAVCAN library) instead of libuavcan (the C++ UAVCAN library) which Ardupilot uses. I am able to compile the DSDL file for the BattInfo type into C headers using the most recent version of Nunavut. Ardupilot seems to use a custom Python script to generate the C++ files for the data types it uses. My question is, will the deserialization done by Ardupilot be compatible with the serialization provided by the most recent Nunavut version? I don’t know if much has changed in that algorithm especially since UAVCAN has moved over to v1. If those aren’t compatible, is there a stable version of Nunavut I could use to generate C headers for this datatype?
2 Likes
I discovered that Ardupilot has a fork of libcanard which includes a DSDL compiler. I was able to get my .h files from running it. I let you guys know if it works out.
Kyle, You would probably get faster responses to questions like this in the UAVCAN Gitter group or here at hardware/Candevices.
Cheers