RUI3 (RAK Unified Interface 3) - RAK4631
fund_event_queue.h File Reference

Provide an event queue mechanism for other components to use. More...

Go to the source code of this file.

Data Structures

struct  event_header_t
 

Macros

#define FUND_EVENT_QUEUE_HEADER_SIZE   sizeof(event_header_t)
 
#define FUND_EVENT_QUEUE_BUF_SIZE(EVENT_SIZE, QUEUE_SIZE)   (((EVENT_SIZE) + FUND_EVENT_QUEUE_HEADER_SIZE) * ((QUEUE_SIZE) + 1))
 
#define CEIL_DIV(A, B)   (((A) + (B) - 1) / (B))
 
#define FUND_EVENT_QUEUE_INIT(EVENT_SIZE, QUEUE_SIZE)
 

Typedefs

typedef void(* fund_event_queue_handler_t) (void *p_event_data, uint16_t event_size)
 

Functions

int32_t fund_event_queue_init (uint16_t event_size, uint16_t queue_size, void *p_evt_buffer)
 
void fund_event_queue_execute (void)
 
uint32_t fund_event_queue_put (void const *p_event_data, uint16_t event_data_size, fund_event_queue_handler_t handler)
 
uint16_t fund_event_queue_space_get (void)
 

Detailed Description

Provide an event queue mechanism for other components to use.

Author
Rakwireless
Version
0.0.0
Date
2022.1

Macro Definition Documentation

◆ FUND_EVENT_QUEUE_HEADER_SIZE

#define FUND_EVENT_QUEUE_HEADER_SIZE   sizeof(event_header_t)

◆ FUND_EVENT_QUEUE_BUF_SIZE

#define FUND_EVENT_QUEUE_BUF_SIZE (   EVENT_SIZE,
  QUEUE_SIZE 
)    (((EVENT_SIZE) + FUND_EVENT_QUEUE_HEADER_SIZE) * ((QUEUE_SIZE) + 1))

◆ CEIL_DIV

#define CEIL_DIV (   A,
 
)    (((A) + (B) - 1) / (B))

◆ FUND_EVENT_QUEUE_INIT

#define FUND_EVENT_QUEUE_INIT (   EVENT_SIZE,
  QUEUE_SIZE 
)
Value:
do \
{ \
static uint32_t FUND_EVENT_QUEUE_BUF[CEIL_DIV(FUND_EVENT_QUEUE_BUF_SIZE((EVENT_SIZE), (QUEUE_SIZE)), \
sizeof(uint32_t))]; \
fund_event_queue_init((EVENT_SIZE), (QUEUE_SIZE), FUND_EVENT_QUEUE_BUF); \
} while (0)
#define CEIL_DIV(A, B)
Definition: fund_event_queue.h:33
#define FUND_EVENT_QUEUE_BUF_SIZE(EVENT_SIZE, QUEUE_SIZE)
Definition: fund_event_queue.h:30

Typedef Documentation

◆ fund_event_queue_handler_t

typedef void(* fund_event_queue_handler_t) (void *p_event_data, uint16_t event_size)

Function Documentation

◆ fund_event_queue_init()

int32_t fund_event_queue_init ( uint16_t  event_size,
uint16_t  queue_size,
void *  p_evt_buffer 
)

◆ fund_event_queue_execute()

void fund_event_queue_execute ( void  )

◆ fund_event_queue_put()

uint32_t fund_event_queue_put ( void const *  p_event_data,
uint16_t  event_data_size,
fund_event_queue_handler_t  handler 
)

◆ fund_event_queue_space_get()

uint16_t fund_event_queue_space_get ( void  )