a) the port blocks until the buffer is read by the program, not inputting any data on the pins during that time
b) the port clears the buffer and starts over
c) the port overwrites every FIFO values, starting from the oldest, so that the data when input is not guaranteed to be byte aligned, or buffer-size aligned
d) something else
i know that for output buffered ports, the program blocks until the buffer is available for output, not so sure when its the other way around.
The information found there https://www.xmos.com/published/how-use- ... t?secure=1 to me seems to contradict itself, saying:
thenThe XMOS architecture provides buffers that can improve the performance of programs that perform I/O on clocked ports. A buffer can hold data sampled by a port until the processor is ready to input it.
At most one value is sampled by the port and inserted to the FIFO per period of its clock. If the FIFO is full, the oldest value is dropped to make room for the most recently sampled value.