I’m confused about how the multi-frame reception works. Specifically what happens if in between two contiguous multi-frame messages with the same CANID (i.e file Write) appears another message with a different CANID ( i.e the heartbeat of another node ). How should I handle the transfer object?
Each RX session holds an independent state which makes the protocol immune to transfer preemption. I don’t think there is any other sensible way to design a real-time protocol, really.
Are you building a custom implementation of a UAVCAN transport?