STM32 to Cube Orange+ DroneCAN Connection

Hi,

I am trying to connect a custom circuit that uses an STM32F4x to a Cube Orange+ through DroneCAN, and I am a little confused. I tried using the bxCAN.h driver with the canard.h library to push data to the queue and send information from the STM32F4x using the STM32 driver, but my code isn’t transferring any data from the TX pin of CAN1 interface. I was wondering if someone could show me any recent examples of how the bxCAN.h driver is used to do this or if there are any more in-depth guides beyond what is provided in the actual bxCAN.h file?

I do understand the general concept of how the protocol works, but I am fairly new to embedded programming using STM32s and DroneCAN, so I would appreciate some guidance.

Thank you.

This forum is dedicated to OpenCyphal (for further education on how this differs from DroneCAN, see here).

Have you made sure to clock the CAN peripheral/setup the GPIO pins correctly, that’s where you should start.

For further question regarding DroneCAN, I would suggest posting to ArduPilot forum.

Thank you for your response.

I assumed that OpenCyphal’s Libcanard is the newest version of the library for DroneCAN since it is used in both. I have been very confused as the documentation for these libraries redirect to one another.

I did configure the CAN peripherals correctly and the bxCAN driver computed the timings successfully but am not sure what Im missing. I’ll look further into the links you posted.

Thank you for your guidance.