Build: https://github.com/xyntos-ch/CANoopEnTest/actions/runs/31479564872
Added
- Linux (SocketCAN) samples (CO-21). The CANoopEnDemo
repository now carries four Linux samples: the CANopen master samples (CiA 401 and CiA 417)
return, and the CanOpenClient slave samples are available for Linux for the first time — so a
complete master/slave pair runs on a single Linux host with two connected CAN interfaces
(verified on a Raspberry Pi 4 with a dual-channel CAN HAT, master oncan0, slave oncan1).
All four use the pthread-based OS wrapper, the SocketCAN driver and the monotonic clock as
tick count source; each sample ships with a Makefile and a devcontainer.
Fixed
- SDO block transfer without size indication (CO-22). The receiving side of a block
transfer ignoredn, the number of padding bytes in the last segment announced in the block
end frame. Against peers that do not indicate the transfer size in the init phase, the padding
bytes ended up in the received data, the transfer end was not detected and the checksum was
calculated over the padded data. The last-segment flag of the frame now terminates the
transfer, the padding is removed pernand the checksum covers the data alone. Transfers
between two CANoopEn nodes were never affected — CANoopEn always announces the size.
Commits
Full changelog: 3.0.9...3.1.10