firmware  v0.1.2
Chromation Spectrometer Dev-Kit
Queue.c
Go to the documentation of this file.
1 
2 #include "Queue.h"
3 // Define Queue and allocate static memory.
4 volatile Queue_s Queue;
5 // ---API---
6 volatile Queue_s * QueueInit(
7  volatile uint8_t * buffer, // SPI FIFO Rx Buffer
8  uint16_t const buffer_size_in_bytes // Max length of Spi Rx Queue
9  );
10 uint16_t QueueLength(volatile Queue_s * pq);
11 bool QueueIsFull(volatile Queue_s * SpiFifo);
12 bool QueueIsEmpty(volatile Queue_s * SpiFifo);
13 void QueuePush(volatile Queue_s * SpiFifo, uint8_t data_to_push);
14 uint8_t QueuePop(volatile Queue_s * SpiFifo);
uint8_t QueuePop(volatile Queue_s *SpiFifo)
Definition: Queue.h:139
uint16_t QueueLength(volatile Queue_s *pq)
Definition: Queue.h:76
bool QueueIsFull(volatile Queue_s *SpiFifo)
Definition: Queue.h:86
void QueuePush(volatile Queue_s *SpiFifo, uint8_t data_to_push)
Definition: Queue.h:122
volatile Queue_s * QueueInit(volatile uint8_t *buffer, uint16_t const buffer_size_in_bytes)
Definition: Queue.h:51
bool QueueIsEmpty(volatile Queue_s *SpiFifo)
Definition: Queue.h:95
Queue uses a byte array as a circular buffer.
Definition: Queue.h:27