I’m working on a project, and was implementing a libcanard stack on an STM32GXX chip, which only offers fdcan. Already quite far into the implementation I realized that libcanard platform software only offers bxcan drivers.
I’ve seen mentions (from well over a year ago) in various forum posts that an fdcan driver may be in the works, but I’m not seeing any actual implementation. I was wondering if there’s a driver, or even maybe some sort of half-finished effort at one. I may have a go at solving this, but currently trying to find the fastest path to get this working.
although not publicly advertised yet, we have something operational here. A few notes:
- the implementation is proven in flight, but might be missing documentation in places
- the FDCAN driver is built around a cobbled-together FreeRTOS transport worker task, which might explain a few design choices
- A reference project using this driver and FreeRTOS interface can be found here, but it’s not directly executable on its own. Might be worth a look for reference, though
- the driver is MIT licensed
Hope this helps!
Thank you, this is very helpful, I’ll check it out!
I have a (mostly) working example of the 107 Systems arduino cyphal implementation on an stm32g4.
Im busy writing up documentation, so there isn’t much there currently, but please have a look at the code on GitHub here;
The code makes use of a driver called SimpleCAN - I dont have the link to reference to hand right now, but will update this post once I am home.
This might help you get going if you are using the arduino framework on STM32!