How to support GetNodeInfo and GetDataTypeInfo on STM32?

I’m trying to implement the services GetNodeInfo and GetDataTypeInfo on a STM32 F207ZG.
I have another node on a virtual machine that runs Ubuntu, but neither the GUI Tool nor the active monitor from the libuavcan tutorial seems to get the information of the STM32. The passive Monitor is working just fine, so it seems to me that the services “GetNodeInfo” and “GetDataType” are not supported correctly?
I tried to implement them by hand on the STM32, but that just gave me an “InvalidTransferListener” error, which seems to be correct (like stated here: https://groups.google.com/d/msg/uavcan/bClqTWH-J2c/uwLDik0kEQAJ ).

The GUI Tool on the virtual machine shows the STM32 node as long as the local node id is not set, but after setting it the node disappears.
The bus monitor shows that GetNodeInfo is requested and that there is also an answer from the STM32 node.

I’m using an IXXAT Can-to-USB compact adapter.

My question is how do i get the services (and node discovery in general) working?

This is the same behaviour I was seeing until I applied the fix from kolos450 mentioned in this thread

1 Like