Arduino UAVCAN GNSS Node Example Compilation Error

Hey all,
I’m extremely new to UAVCAN and embedded systems, but I am attempting to get the UAVCAN GNSS Node up and running but running into a compilation error.

“‘uavcan::node::Heartbeat_1_0’ is not a template”

The error message points me to line 268

My hardware is the same as the example besides a different serial GPS.
If I need to provide any more information please let me know. Any help would be greatly appreciated.


Sounds to me like you want to compile UAVCAN-GNSS-Node.ino?

I think you’ve got an outdated version of the codebase since this particular problem was fixed here. I recommend to download 107-Arduino-UAVCAN:master since this one contains the latest library + examples guaranteed to work.

I have still a couple of to-do-items before another round of this library will be released, so serving yourself directly from master is probably the best thing to do for now :wink:


Fixed it straight away, probably should have been the first thing I checked haha
Thankyou very much!

1 Like

@JaredDillon I’m curious why go this route in lieu of a Matek M9N-F4. You get an F405, M9N, and compass for ~$85 vs. the MKR stack coming in at ~$150.

The board you referenced does not support UAVCAN v1.

You’re assuming that he loads AP_Periph on to the M9N-F4. I was suggesting it for use w/ “Arduino” code.

That might work indeed, assuming that their hardware is Arduino-compatible.

PlatformIO has a genericSMT32F405RGT6 board type.

This example is just something to get you started and play around. Also quite beneficial is that you can swap for another sensor and just write a UAVCAN v1 node for that one. If you were to build a finished product than that’s of course not the route to take. But for rapid prototyping/evaluation/learning this is definitely the way to go :rocket:

PS: The example is tailored towards a Arduino MKR stack because that’s what I had at hand. Meanwhile 107-Arduino-UAVCAN supports a couple of platforms with a ton of boards which are considerable more powerful than the ATSAMD21G18 Cortex-M0 found on the Arduino MKR boards.