avr-fw-modules/core/src/fifo_avail.c

14 lines
220 B
C
Executable File

#include <hwo/fifo.h>
#include <sys/atomic.h>
uint8_t fifo_avail(FIFO* fifo)
{
ATOMIC
if (fifo->pWrite < fifo->pRead)
return fifo->size - fifo->pRead + fifo->pWrite;
else
return fifo->pWrite - fifo->pRead;
};