Hello everybody,
I am prototyping an application that uses Cyphal via the serial interface. My setup consists of a sender embedded board with a Cyphal application. The board is connected via UART-Serial with a Linux PC. A connection check with picocom to analyze the bytes received was successful. In my Cyphal application I have build everything needed to recreate the example message of the specification 4.4.5 and used in upon a simple heartbeat.
The receiving side is prepared with the export of the appropriate variable UAVCAN__SERIAL__IFACE="/dev/ttyUSB0"
. I listen for the example message or a heartbeat with the following commands of an installed Cyphal project (it works via Cyphal/Zubax/CAN, python files are present):
yakut sub 1234:uavcan.primitive.String.1
- example spec 4.4.5
yakut sub uavcan.node.Heartbeat
or yakut mon
There is no recognition of any correct messages. However, yakut recognizes wrong serial frames if the frame delimiters are set from or if a 0x00 is send on error.
I also reversed the situation. Yakut mon sends a heartbeat in of itself. I let my application print it out for me. What i recognized was that compared with the specification the crc32 of the payload is missing (24 bytes for header, 11 bytes for heartbeat - frame ends).
So there are a few questions:
- Is Yakut fully implemented for Cyphal/Serial?
- Am I missing some set ups/commands to let Yakut work properly with Serial?
- Is there an example like libcanard_Linux_example?
Thank you!