DroneCAN Node on an STM32 Nucleo Board

Hi all, I am running the SimpleNode example of the Canard library on an STM32 Nucleo-F767ZI to communicate node status and info with a Cube Orange+. I have adjusted the code to use the stm32 driver (canard_stm32.h) instead of the socketcan driver and am using the DroneCAN GUI to debug.

My problem is that my node status is being recognized on the bus but the name is not being detected. For example, the node name shows up as a “?” instead of “SimpleNode” as shown in the screenshot. I debugged my code to see if it is handling the “handle_GetNodeInfo()” function on request and it seems to be working fine. It transfers frames without any errors. I was wondering if anyone has had this issue before with the given example code?

Thank you.

For whoever that faces the same issue, the solution is to add a small delay (1 millisecond worked for me) between each frame transmission.

I think the problem was with the timing of sending multiple frames. When debugging, the frames were all queued and transmitted properly but in the GUI, it showed as only a single frame being sent. It could be that the bxCAN mailboxes were being altered or filled too fast before transmission but dont quote me on it as I’m new to this stuff.

Hope it helps.