dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

Abstracts the concept of a queue to hide different implementations. More...

Data Structures

struct  pios_queue
 

Macros

#define PIOS_QUEUE_TIMEOUT_MAX   0xffffffff
 

Functions

struct pios_queuePIOS_Queue_Create (size_t queue_length, size_t item_size)
 
void PIOS_Queue_Delete (struct pios_queue *queuep)
 
bool PIOS_Queue_Send (struct pios_queue *queuep, const void *itemp, uint32_t timeout_ms)
 
bool PIOS_Queue_Send_FromISR (struct pios_queue *queuep, const void *itemp, bool *wokenp)
 
bool PIOS_Queue_Receive (struct pios_queue *queuep, void *itemp, uint32_t timeout_ms)
 
size_t PIOS_Queue_GetItemSize (struct pios_queue *queuep)
 
static bool PIOS_Queue_Send_Impl (struct pios_queue *queuep, const void *itemp, uint32_t timeout_ms)
 
static bool PIOS_Queue_Receive_Impl (struct pios_queue *queuep, void *itemp, uint32_t timeout_ms)
 

Detailed Description

Abstracts the concept of a queue to hide different implementations.

Macro Definition Documentation

#define PIOS_QUEUE_TIMEOUT_MAX   0xffffffff

Definition at line 30 of file pios_queue.h.

Function Documentation

struct pios_queue * PIOS_Queue_Create ( size_t  queue_length,
size_t  item_size 
)

Definition at line 47 of file pios_queue.c.

void PIOS_Queue_Delete ( struct pios_queue queuep)
Todo:
free up the queue buf

Definition at line 89 of file pios_queue.c.

size_t PIOS_Queue_GetItemSize ( struct pios_queue queuep)

Definition at line 235 of file pios_queue.c.

bool PIOS_Queue_Receive ( struct pios_queue queuep,
void *  itemp,
uint32_t  timeout_ms 
)

Definition at line 213 of file pios_queue.c.

static bool PIOS_Queue_Receive_Impl ( struct pios_queue queuep,
void *  itemp,
uint32_t  timeout_ms 
)
static

Definition at line 175 of file pios_queue.c.

bool PIOS_Queue_Send ( struct pios_queue queuep,
const void *  itemp,
uint32_t  timeout_ms 
)

Definition at line 141 of file pios_queue.c.

bool PIOS_Queue_Send_FromISR ( struct pios_queue queuep,
const void *  itemp,
bool *  wokenp 
)

Definition at line 163 of file pios_queue.c.

static bool PIOS_Queue_Send_Impl ( struct pios_queue queuep,
const void *  itemp,
uint32_t  timeout_ms 
)
static

Definition at line 101 of file pios_queue.c.