Homepage GitHub

Beginner UAVCAN Questions

Hello Everyone!

This is my first post. The pinned UAVCAN guide is a bit confusing in places for me.

As many before, I am trying to interpret UAVCAN messages from a pixhawk stack at a low level so that a friend and I can set up STM32 bare-metal type boards for converting the UAVCAN frames back to pwm signals for ESC and servo control. I would like to to understand the frames at this level but would it just be better to get the STM32’s running with libcanard and use the existing functions to read the data?

I was originally very naive at thinking that each frame would have the node ID for a specific channel and that data frame that will be the pwm number for that channel. Now I know there’s a lot more going on; heartbeat, CRC checking, and data over several frames.

Please assist if you see gaps in my knowledge!

Thank you, Mitch.

If you’re just getting started it’s probably best to just use the existing libraries and tools. The protocol isn’t particularly complex, but can definitely require some finesse to implement well, and these tools are already tested and debugged.

If you want to know more about the protocol itself and understand it on a per-frame level, the specification is the best place to look, but I recommend using existing tools to get comfortable with using the protocol in general first.

1 Like