Homepage GitHub

Simple sensor node reading

Dear all,

I am having a hard time trying to read an airspeed sensor (namely the ASPD-DLVR of the Mateksys ), which uses the UAVCAN protocol and is connected to a flight computer via CAN bus.
I have two of these sensors and both behave the same, so a hardware fault is very unlikely.

A requirement is to use pure Linux libraries avoiding any third-party code and that is why I’m using SocketCan. So far so good, but the problem is that I read very weird data.
For example, the length of the payload is not always constant and oscillates between 6 and 8 bytes. However, according to the datasheet of the airspeed sensor, the payload should be 4 bytes.

My guess is that something is happening at the protocol level with the UAVCAN.
Since I don’t completely understand how UAVCAN works and apparently how to retrieve the payload with SocketCan, I wonder whether there exists anything like the Simple sensor node example for the reading (I tried to reverse-engineer this example but without success).
Or maybe I discover that is simply not possible to decode a UAVCAN protocol message with the SocketCan.

Thanks for the help

Please read the first two chapters and flip through the following ones:


I don’t think the datasheet says that. There must be either a misunderstanding or a mistake involved somewhere.

If you are still stuck, do reach out to the vendor.

Thanks for the reply.

This is from the datasheet
Schermata 2021-11-19 alle 14.40.14


Maybe I misunderstood it.