Skip to content

MessageQueue

Message Queue.

Types

Name
structosMessageQueueAttr_t
Attributes structure for message queue.

Functions Overview

Name
osMessageQueueId_tosMessageQueueNew(uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t * attr)
Create and Initialize a Message Queue object.
const char *osMessageQueueGetName(osMessageQueueId_t mq_id)
Get name of a Message Queue object.
osStatus_tosMessageQueuePut(osMessageQueueId_t mq_id, const void * msg_ptr, uint8_t msg_prio, uint32_t timeout)
Put a Message into a Queue or timeout if Queue is full.
osStatus_tosMessageQueueGet(osMessageQueueId_t mq_id, void * msg_ptr, uint8_t * msg_prio, uint32_t timeout)
Get a Message from a Queue or timeout if Queue is empty.
uint32_tosMessageQueueGetCapacity(osMessageQueueId_t mq_id)
Get maximum number of messages in a Message Queue.
uint32_tosMessageQueueGetMsgSize(osMessageQueueId_t mq_id)
Get maximum message size in a Message Queue.
uint32_tosMessageQueueGetCount(osMessageQueueId_t mq_id)
Get number of queued messages in a Message Queue.
uint32_tosMessageQueueGetSpace(osMessageQueueId_t mq_id)
Get number of available slots for messages in a Message Queue.
osStatus_tosMessageQueueReset(osMessageQueueId_t mq_id)
Reset a Message Queue to initial empty state.
osStatus_tosMessageQueueDelete(osMessageQueueId_t mq_id)
Delete a Message Queue object.

Function Details

function osMessageQueueNew

cpp
osMessageQueueId_t osMessageQueueNew(
    uint32_t msg_count,
    uint32_t msg_size,
    const osMessageQueueAttr_t * attr
)

Create and Initialize a Message Queue object.

Parameters:

  • msg_count maximum number of messages in queue.
  • msg_size maximum message size in bytes.
  • attr message queue attributes; NULL: default values.

Return: message queue ID for reference by other functions or NULL in case of error.

function osMessageQueueGetName

cpp
const char * osMessageQueueGetName(
    osMessageQueueId_t mq_id
)

Get name of a Message Queue object.

Parameters:

Return: name as null-terminated string.

function osMessageQueuePut

cpp
osStatus_t osMessageQueuePut(
    osMessageQueueId_t mq_id,
    const void * msg_ptr,
    uint8_t msg_prio,
    uint32_t timeout
)

Put a Message into a Queue or timeout if Queue is full.

Parameters:

  • mq_id message queue ID obtained by osMessageQueueNew.
  • msg_ptr pointer to buffer with message to put into a queue.
  • msg_prio message priority.
  • timeout CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.

Return: status code that indicates the execution status of the function.

function osMessageQueueGet

cpp
osStatus_t osMessageQueueGet(
    osMessageQueueId_t mq_id,
    void * msg_ptr,
    uint8_t * msg_prio,
    uint32_t timeout
)

Get a Message from a Queue or timeout if Queue is empty.

Parameters:

  • mq_id message queue ID obtained by osMessageQueueNew.
  • msg_ptr pointer to buffer for message to get from a queue.
  • msg_prio pointer to buffer for message priority or NULL.
  • timeout CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.

Return: status code that indicates the execution status of the function.

function osMessageQueueGetCapacity

cpp
uint32_t osMessageQueueGetCapacity(
    osMessageQueueId_t mq_id
)

Get maximum number of messages in a Message Queue.

Parameters:

Return: maximum number of messages.

function osMessageQueueGetMsgSize

cpp
uint32_t osMessageQueueGetMsgSize(
    osMessageQueueId_t mq_id
)

Get maximum message size in a Message Queue.

Parameters:

Return: maximum message size in bytes.

function osMessageQueueGetCount

cpp
uint32_t osMessageQueueGetCount(
    osMessageQueueId_t mq_id
)

Get number of queued messages in a Message Queue.

Parameters:

Return: number of queued messages.

function osMessageQueueGetSpace

cpp
uint32_t osMessageQueueGetSpace(
    osMessageQueueId_t mq_id
)

Get number of available slots for messages in a Message Queue.

Parameters:

Return: number of available slots for messages.

function osMessageQueueReset

cpp
osStatus_t osMessageQueueReset(
    osMessageQueueId_t mq_id
)

Reset a Message Queue to initial empty state.

Parameters:

Return: status code that indicates the execution status of the function.

function osMessageQueueDelete

cpp
osStatus_t osMessageQueueDelete(
    osMessageQueueId_t mq_id
)

Delete a Message Queue object.

Parameters:

Return: status code that indicates the execution status of the function.