There seems to be a bug if you use multiple MIN ports at the same time with the TRANSPORT_PROTOCOL option enabled.
There is only one ring buffer defined in min.c:
// Where the payload data of the frame FIFO is stored
uint8_t payloads_ring_buffer[TRANSPORT_FIFO_MAX_FRAME_DATA];
While all other port related data - including access indices for this buffer - are available for each port in
struct min_context
The effect is that each port overwrites buffer data of the other ports.
I suggest that
uint8_t payloads_ring_buffer[TRANSPORT_FIFO_MAX_FRAME_DATA];
is moved to
struct min_context
so that each port has its own ring buffer.
The required changes are:
-
min.h - Add ring buffer in

-
min.c - Remove old ring buffer

-
min.c - make sure the two usages of the old buffer access the new buffer instead

