![]() |
LPCOpen Platform for LPC112X microcontrollers
112X
LPCOpen Platform for the NXP LPC112X family of Microcontrollers
|
Data Structures | |
struct | RINGBUFF_T |
Ring buffer structure. More... | |
Macros | |
#define | RB_VHEAD(rb) (*(volatile uint32_t *) &(rb)->head) |
#define | RB_VTAIL(rb) (*(volatile uint32_t *) &(rb)->tail) |
Functions | |
int | RingBuffer_Init (RINGBUFF_T *RingBuff, void *buffer, int itemSize, int count) |
Initialize ring buffer. More... | |
STATIC INLINE void | RingBuffer_Flush (RINGBUFF_T *RingBuff) |
Resets the ring buffer to empty. More... | |
STATIC INLINE int | RingBuffer_GetSize (RINGBUFF_T *RingBuff) |
Return size the ring buffer. More... | |
STATIC INLINE int | RingBuffer_GetCount (RINGBUFF_T *RingBuff) |
Return number of items in the ring buffer. More... | |
STATIC INLINE int | RingBuffer_GetFree (RINGBUFF_T *RingBuff) |
Return number of free items in the ring buffer. More... | |
STATIC INLINE int | RingBuffer_IsFull (RINGBUFF_T *RingBuff) |
Return number of items in the ring buffer. More... | |
STATIC INLINE int | RingBuffer_IsEmpty (RINGBUFF_T *RingBuff) |
Return empty status of ring buffer. More... | |
int | RingBuffer_Insert (RINGBUFF_T *RingBuff, const void *data) |
Insert a single item into ring buffer. More... | |
int | RingBuffer_InsertMult (RINGBUFF_T *RingBuff, const void *data, int num) |
Insert an array of items into ring buffer. More... | |
int | RingBuffer_Pop (RINGBUFF_T *RingBuff, void *data) |
Pop an item from the ring buffer. More... | |
int | RingBuffer_PopMult (RINGBUFF_T *RingBuff, void *data, int num) |
Pop an array of items from the ring buffer. More... | |
#define RB_VHEAD | ( | rb | ) | (*(volatile uint32_t *) &(rb)->head) |
volatile typecasted head index
Definition at line 57 of file ring_buffer.h.
#define RB_VTAIL | ( | rb | ) | (*(volatile uint32_t *) &(rb)->tail) |
volatile typecasted tail index
Definition at line 63 of file ring_buffer.h.
STATIC INLINE void RingBuffer_Flush | ( | RINGBUFF_T * | RingBuff | ) |
Resets the ring buffer to empty.
RingBuff | : Pointer to ring buffer |
Definition at line 83 of file ring_buffer.h.
STATIC INLINE int RingBuffer_GetCount | ( | RINGBUFF_T * | RingBuff | ) |
Return number of items in the ring buffer.
RingBuff | : Pointer to ring buffer |
Definition at line 103 of file ring_buffer.h.
STATIC INLINE int RingBuffer_GetFree | ( | RINGBUFF_T * | RingBuff | ) |
Return number of free items in the ring buffer.
RingBuff | : Pointer to ring buffer |
Definition at line 113 of file ring_buffer.h.
STATIC INLINE int RingBuffer_GetSize | ( | RINGBUFF_T * | RingBuff | ) |
Return size the ring buffer.
RingBuff | : Pointer to ring buffer |
Definition at line 93 of file ring_buffer.h.
int RingBuffer_Init | ( | RINGBUFF_T * | RingBuff, |
void * | buffer, | ||
int | itemSize, | ||
int | count | ||
) |
Initialize ring buffer.
RingBuff | : Pointer to ring buffer to initialize |
buffer | : Pointer to buffer to associate with RingBuff |
itemSize | : Size of each buffer item size |
count | : Size of ring buffer |
Definition at line 55 of file ring_buffer.c.
int RingBuffer_Insert | ( | RINGBUFF_T * | RingBuff, |
const void * | data | ||
) |
Insert a single item into ring buffer.
RingBuff | : Pointer to ring buffer |
data | : pointer to item |
Definition at line 66 of file ring_buffer.c.
int RingBuffer_InsertMult | ( | RINGBUFF_T * | RingBuff, |
const void * | data, | ||
int | num | ||
) |
Insert an array of items into ring buffer.
RingBuff | : Pointer to ring buffer |
data | : Pointer to first element of the item array |
num | : Number of items in the array |
Definition at line 82 of file ring_buffer.c.
STATIC INLINE int RingBuffer_IsEmpty | ( | RINGBUFF_T * | RingBuff | ) |
Return empty status of ring buffer.
RingBuff | : Pointer to ring buffer |
Definition at line 133 of file ring_buffer.h.
STATIC INLINE int RingBuffer_IsFull | ( | RINGBUFF_T * | RingBuff | ) |
Return number of items in the ring buffer.
RingBuff | : Pointer to ring buffer |
Definition at line 123 of file ring_buffer.h.
int RingBuffer_Pop | ( | RINGBUFF_T * | RingBuff, |
void * | data | ||
) |
Pop an item from the ring buffer.
RingBuff | : Pointer to ring buffer |
data | : Pointer to memory where popped item be stored |
Definition at line 118 of file ring_buffer.c.
int RingBuffer_PopMult | ( | RINGBUFF_T * | RingBuff, |
void * | data, | ||
int | num | ||
) |
Pop an array of items from the ring buffer.
RingBuff | : Pointer to ring buffer |
data | : Pointer to memory where popped items be stored |
num | : Max number of items array data can hold |
Definition at line 134 of file ring_buffer.c.