@pavel.kirienko , What is this garage project’s goal? Is it meant to be promoted to the full project with a release of v1.1 or is it only a disposable technology demonstration of v1.1?
I consider it a high-quality, but early-stage implementation, and we already use it in production. It started out as a technology demonstrator, yes, but it has been rewritten from scratch since then (by hand! before the modern coding agents! wow that feels weird) and now it is mostly adequate, I think. It has a number of important TODOs but none of them are fundamentally deal-breaking; perhaps the most important one is that the topic allocation algorithm uses recursion where it really should be iterative, it’s a matter of a single prompt to fix.
It is not possible to support v1.0 in it without a major redesign. But it is not necessary because the underlying libcanard provides a small sidecar API that provides compatibility with Cyphal v1.0 and even UAVCAN v0. I don’t think more is needed because the old protocols are essentially just transport layers.
We have a DroneCAN example here, a Cyphal v1.0 example would be similar: