Appiko
|
This module is used to pass messages from any higher priority interrupts to lower priority ones or the main thread so that the higher priority interrupt can finish soon and off-load non-real time tasks. More...
Functions | |
void | irq_msg_init (irq_msg_callbacks *cb_ptr) |
void | irq_msg_push (irq_msg_types pushed_msg, void *more_data) |
void | irq_msg_process (void) |
void irq_msg_init | ( | irq_msg_callbacks * | cb_ptr | ) |
Initialize the messenger ring buffer system
cb_ptr | The array of function pointers that gets called for different message types. |
Definition at line 53 of file irq_msg_util.c.
void irq_msg_process | ( | void | ) |
This function is to be called in the while(1) loop in main() so that all the pushed messages can be processed.
Definition at line 77 of file irq_msg_util.c.
void irq_msg_push | ( | irq_msg_types | pushed_msg, |
void * | more_data | ||
) |
This function is to be called in the higher priority interrupt and is used to push the required message.
pushed_msg | The type of message to be pushed |
more_data | The data of the message to be pushed |
Definition at line 64 of file irq_msg_util.c.
References CBUF_Push, CRITICAL_REGION_ENTER, and CRITICAL_REGION_EXIT.
Referenced by button_handler(), and device_tick_process().