I am currently working on a deeply embedded C++ application that requires simultaneous connectivity via UAVCAN/CAN and UAVCAN/serial. Since we don’t have libuavcan yet, there is at the moment no readily available solution to implement UAVCAN/serial on an embedded target. Therefore, I am considering creating a very simple library that will implement UAVCAN/serial using virtually the same API that is provided by libcanard. I expect it to be only ~500 LLoC large because there are no multi-frame transfers to worry about (they account for most of the complexity hidden in libcanard).
I am planning to name it
"libcanard".replace("can", "ser") == libserard.