UAVCAN DNA functionality questions

Since I’ve been experimenting with some AP_Periph devices, I’ve noticed that sometimes I can get duplicate node ID errors, and I was trying to figure out how Ardupilot handles node allocation.

Looking through the storagemanager and UAVCAN_DNA_Server code, it looks like node allocation information is stored in flash memory, which makes sense, so that you can keep the same node allocation across reboots.

One thing that I was not sure of is how nodes get removed from this list. And if a node is on the list, but not currently present, and I plug a different device in with that node ID, should I see a duplicate node warning?

Thanks!

1 Like