/* Check if FIFO is empty. 
As this function only reads the read and write pointers once, this function is reentrant and thus thread and ISR save without any mutexes. */
bool tu_fifo_empty(tu_fifo_t *f)
/* Check if FIFO is empty. 
As this function only reads the read and write pointers once, this function is reentrant and thus thread and ISR save without any mutexes. */
bool tu_fifo_empty(tu_fifo_t *f)
{
  return f->wr_idx == f->rd_idx;
}