Libcanard on STM32 - Example/Tutorial

1,175 views
Skip to first unread message

JCR

unread,
Jan 26, 2018, 10:11:27 AM1/26/18
to UAVCAN
Hi

I have been trying to setup and use the Libcanard reference implementation on a bare metal STM32. Unfortunately I find this to be a non-trivial process and it seems to require quite a bit of in-depth knowledge of both the UAVCAN specification and the code implementation.

Thus, is there perhaps an STM32 specific example or tutorial that can guide the setup and use of the Libcanard library? It will be great to have an example on how to initialize the Libcanard library on an STM32 and send + receive a simple message.

Any advice or a reference to a resource to simplify the process will be much appreciated.

Thanks,
Jan-Cor

Pavel Kirienko

unread,
Jan 28, 2018, 4:17:39 PM1/28/18
to JCR, UAVCAN
Hello,

We are still working (slowly - help needed!) on a comprehensive standalone example. Meanwhile, please check out this bootloader here: https://github.com/Zubax/zubax_chibios/blob/bootloader_specific_improvements/zubax_chibios/bootloader/loaders/uavcan.hpp. It is written in C++, but that shouldn't matter.

Another use case can be found here (I am not related to this project, I just happened to be aware of its existence): https://github.com/OpenMotorDrive/framework/blob/master/modules/uavcan/uavcan.c

Don't hesitate to search for examples on Github: https://github.com/search?l=C&q=libcanard&type=Code&utf8=✓

Pavel.

--
You received this message because you are subscribed to the Google Groups "UAVCAN" group.
To unsubscribe from this group and stop receiving emails from it, send an email to uavcan+unsubscribe@googlegroups.com.
To post to this group, send email to uav...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/uavcan/74157859-bd1f-4438-868d-b10f356a537e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Pavel Kirienko

unread,
Jan 31, 2018, 8:19:53 AM1/31/18
to Jan-Cor Roos, uav...@googlegroups.com
> I understand that there is no tool to automatically generate the message serialization code for Libcanard, but does this mean that the serialization code is not available and must be manually coded by the user?

Correct.

> is there perhaps serialization code available for some standard messages?


Pavel.


On Mon, Jan 29, 2018 at 12:23 PM, Jan-Cor Roos <janco...@gmail.com> wrote:
Hi Pavel

Thanks for the information, will look into the projects you referenced and see if that helps to clarify things.

Another question on Libcanard: It is not yet clear to me how the DSDL structure are serialized in Libcanard. I understand that there is no tool to automatically generate the message serialization code for Libcanard, but does this mean that the serialization code is not available and must be manually coded by the user? I.e. even if the serialization code is not auto generated, is there perhaps serialization code available for some standard messages? Perhaps I misunderstand the different components, so insight will be appreciated.

Thanks,
Jan-Cor
Reply all
Reply to author
Forward
0 new messages