Strange NodeStatus


I have several nodes on my CAN bus, as shows in the image. All of them produces NodeStatus that consists of a single frame which I assume is normal. However, nodes 30 and 31 NodeStatuses consists of 2 frames! GUI tool manages to parse this, but my libuavcan node (node ID 1) NodeStatus subscription does not. I.e. no callback from lib is generated.

How can this be?


Hardly anything can be said about this without knowing more about your mysterious nodes 30 and 31. What stacks do they run? What’s happening in there?

My wild guess is that they run libcanard and the code that publishes NodeStatus has a trivial off-by-one error, emitting a buffer one byte longer than it should be.