Message pool and queue implementation.
More...
#include "message.h"
#include "memory.h"
#include "core.h"
#include <stdint.h>
#include <string.h>
Go to the source code of this file.
Message pool and queue implementation.
- Author
- Snoopy3921 - AK Foundation
- Date
- 2026/05/08
Definition in file message.c.
◆ akos_message_free()
| void akos_message_free |
( |
msg_t * | p_msg | ) |
|
Free a message and return resources to pools.
Return message to message pool.
- Parameters
-
| p_msg | Message object to release. |
Definition at line 62 of file message.c.
◆ akos_message_get_dynamic_data()
| void * akos_message_get_dynamic_data |
( |
msg_t * | p_msg, |
|
|
uint8_t * | p_msg_size ) |
Access payload pointer and payload size from dynamic message.
Get payload data from dynamic message.
- Parameters
-
| p_msg | Message object. |
| p_msg_size | Output payload size in bytes. |
- Returns
- Payload pointer.
Definition at line 253 of file message.c.
◆ akos_message_get_pure_data()
| int32_t akos_message_get_pure_data |
( |
msg_t * | p_msg | ) |
|
Read signal value from pure message.
Get signal field from pure message.
- Parameters
-
- Returns
- Signal value.
Definition at line 299 of file message.c.
◆ akos_message_init()
| void akos_message_init |
( |
void | | ) |
|
Initialize message subsystem.
Initialize global message pool.
Definition at line 53 of file message.c.
◆ akos_message_queue_get()
| msg_t * akos_message_queue_get |
( |
msg_queue_t * | p_msg_q | ) |
|
Dequeue next message from queue.
Dequeue next message.
- Parameters
-
- Returns
- Message pointer, or NULL when empty.
Definition at line 218 of file message.c.
◆ akos_message_queue_get_pure()
| msg_t * akos_message_queue_get_pure |
( |
msg_queue_t * | p_msg_q | ) |
|
Dequeue next pure message from queue.
Dequeue next pure message.
- Parameters
-
- Returns
- Message pointer, or NULL when empty.
Definition at line 265 of file message.c.
◆ akos_message_queue_init()
| void akos_message_queue_init |
( |
msg_queue_t * | p_msg_q, |
|
|
uint8_t | size ) |
Initialize a message queue.
Initialize message queue.
- Parameters
-
| p_msg_q | Queue object. |
| size | Maximum queue length. |
Definition at line 82 of file message.c.
◆ akos_message_queue_put_dynamic()
| void akos_message_queue_put_dynamic |
( |
msg_queue_t * | p_msg_q, |
|
|
int32_t | sig, |
|
|
void * | p_content, |
|
|
uint8_t | size ) |
Enqueue dynamic message and copy payload.
Enqueue dynamic message with payload copy.
- Parameters
-
| p_msg_q | Destination queue. |
| sig | Signal value. |
| p_content | Payload source pointer. |
| size | Payload size in bytes. |
Definition at line 98 of file message.c.
◆ akos_message_queue_put_pure()
| void akos_message_queue_put_pure |
( |
msg_queue_t * | p_msg_q, |
|
|
int32_t | sig ) |
Enqueue pure message (signal only).
Enqueue pure signal message.
- Parameters
-
| p_msg_q | Destination queue. |
| sig | Signal value. |
Definition at line 165 of file message.c.