We are implementing UAVCAN v0 for our BMS to interface with Ardupilot. We have been able to complete the dynamic node ID allocation process successfully. However, we are still having trouble publishing the equipment.power.BatteryInfo type, and getting Ardupilot to recognize it as battery data. We think the BatteryInfo type is being sent correct, but are there any other requirements for a UAVCAN BMS aside from doing node ID allocation and publishing the BatteryInfo type? If Ardupilot was set to use the UAVCAN driver, it should subcribe to that topic and use it right? We are using the Copter 4.0.3 (stable) version of firmware on the PixHawk 4.
Are you using AP_Periph for your BMS code?
That would be the easiest way to get it AFAIK.