Migrated to C++ - needed to support UAVCAN