firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
message_buffer.h File Reference
#include "stream_buffer.h"
Include dependency graph for message_buffer.h:

Go to the source code of this file.

Macros

#define xMessageBufferCreate(xBufferSizeBytes)
#define xMessageBufferCreateStatic(xBufferSizeBytes, pucMessageBufferStorageArea, pxStaticMessageBuffer)
#define xMessageBufferSend(xMessageBuffer, pvTxData, xDataLengthBytes, xTicksToWait)
#define xMessageBufferSendFromISR(xMessageBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken)
#define xMessageBufferReceive(xMessageBuffer, pvRxData, xBufferLengthBytes, xTicksToWait)
#define xMessageBufferReceiveFromISR(xMessageBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken)
#define vMessageBufferDelete(xMessageBuffer)
#define xMessageBufferIsFull(xMessageBuffer)
#define xMessageBufferIsEmpty(xMessageBuffer)
#define xMessageBufferReset(xMessageBuffer)
#define xMessageBufferResetFromISR(xMessageBuffer)
#define xMessageBufferSpaceAvailable(xMessageBuffer)
#define xMessageBufferSpacesAvailable(xMessageBuffer)
#define xMessageBufferNextLengthBytes(xMessageBuffer)
#define xMessageBufferSendCompletedFromISR(xMessageBuffer, pxHigherPriorityTaskWoken)
#define xMessageBufferReceiveCompletedFromISR(xMessageBuffer, pxHigherPriorityTaskWoken)

Typedefs

typedef StreamBufferHandle_t MessageBufferHandle_t

Macro Definition Documentation

◆ vMessageBufferDelete

#define vMessageBufferDelete ( xMessageBuffer)
Value:
vStreamBufferDelete( xMessageBuffer )
void vStreamBufferDelete(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION

message_buffer.h

StreamBufferHandle_t MessageBufferHandle_t
Definition message_buffer.h:86
#define vMessageBufferDelete(xMessageBuffer)
Definition message_buffer.h:716

Deletes a message buffer that was previously created using a call to xMessageBufferCreate() or xMessageBufferCreateStatic(). If the message buffer was created using dynamic memory (that is, by xMessageBufferCreate()), then the allocated memory is freed.

A message buffer handle must not be used after the message buffer has been deleted.

configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for vMessageBufferDelete() to be available.

Parameters
xMessageBufferThe handle of the message buffer to be deleted.

◆ xMessageBufferCreate

#define xMessageBufferCreate ( xBufferSizeBytes)
Value:
xStreamBufferGenericCreate( ( xBufferSizeBytes ), ( size_t ) 0, sbTYPE_MESSAGE_BUFFER, NULL, NULL )
StreamBufferHandle_t xStreamBufferGenericCreate(size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xStreamBufferType, StreamBufferCallbackFunction_t pxSendCompletedCallback, StreamBufferCallbackFunction_t pxReceiveCompletedCallback) PRIVILEGED_FUNCTION
#define sbTYPE_MESSAGE_BUFFER
Definition stream_buffer.h:69

◆ xMessageBufferCreateStatic

#define xMessageBufferCreateStatic ( xBufferSizeBytes,
pucMessageBufferStorageArea,
pxStaticMessageBuffer )
Value:
xStreamBufferGenericCreateStatic( ( xBufferSizeBytes ), 0, sbTYPE_MESSAGE_BUFFER, ( pucMessageBufferStorageArea ), ( pxStaticMessageBuffer ), NULL, NULL )

◆ xMessageBufferIsEmpty

#define xMessageBufferIsEmpty ( xMessageBuffer)
Value:
xStreamBufferIsEmpty( xMessageBuffer )
BaseType_t xStreamBufferIsEmpty(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION

message_buffer.h

#define xMessageBufferIsEmpty(xMessageBuffer)
Definition message_buffer.h:757
long BaseType_t
Definition portmacro.h:59

Tests to see if a message buffer is empty (does not contain any messages).

configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for xMessageBufferIsEmpty() to be available.

Parameters
xMessageBufferThe handle of the message buffer being queried.
Returns
If the message buffer referenced by xMessageBuffer is empty then pdTRUE is returned. Otherwise pdFALSE is returned.

◆ xMessageBufferIsFull

#define xMessageBufferIsFull ( xMessageBuffer)
Value:
xStreamBufferIsFull( xMessageBuffer )
BaseType_t xStreamBufferIsFull(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION

message_buffer.h

#define xMessageBufferIsFull(xMessageBuffer)
Definition message_buffer.h:737

Tests to see if a message buffer is full. A message buffer is full if it cannot accept any more messages, of any size, until space is made available by a message being removed from the message buffer.

configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for xMessageBufferIsFull() to be available.

Parameters
xMessageBufferThe handle of the message buffer being queried.
Returns
If the message buffer referenced by xMessageBuffer is full then pdTRUE is returned. Otherwise pdFALSE is returned.

◆ xMessageBufferNextLengthBytes

#define xMessageBufferNextLengthBytes ( xMessageBuffer)
Value:
size_t xStreamBufferNextMessageLengthBytes(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION

◆ xMessageBufferReceive

#define xMessageBufferReceive ( xMessageBuffer,
pvRxData,
xBufferLengthBytes,
xTicksToWait )
Value:
xStreamBufferReceive( ( xMessageBuffer ), ( pvRxData ), ( xBufferLengthBytes ), ( xTicksToWait ) )
size_t xStreamBufferReceive(StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait) PRIVILEGED_FUNCTION

◆ xMessageBufferReceiveCompletedFromISR

#define xMessageBufferReceiveCompletedFromISR ( xMessageBuffer,
pxHigherPriorityTaskWoken )
Value:
xStreamBufferReceiveCompletedFromISR( ( xMessageBuffer ), ( pxHigherPriorityTaskWoken ) )
BaseType_t xStreamBufferReceiveCompletedFromISR(StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION

◆ xMessageBufferReceiveFromISR

#define xMessageBufferReceiveFromISR ( xMessageBuffer,
pvRxData,
xBufferLengthBytes,
pxHigherPriorityTaskWoken )
Value:
xStreamBufferReceiveFromISR( ( xMessageBuffer ), ( pvRxData ), ( xBufferLengthBytes ), ( pxHigherPriorityTaskWoken ) )
size_t xStreamBufferReceiveFromISR(StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION

◆ xMessageBufferReset

#define xMessageBufferReset ( xMessageBuffer)
Value:
xStreamBufferReset( xMessageBuffer )
BaseType_t xStreamBufferReset(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION

◆ xMessageBufferResetFromISR

#define xMessageBufferResetFromISR ( xMessageBuffer)
Value:
xStreamBufferResetFromISR( xMessageBuffer )
BaseType_t xStreamBufferResetFromISR(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION

◆ xMessageBufferSend

#define xMessageBufferSend ( xMessageBuffer,
pvTxData,
xDataLengthBytes,
xTicksToWait )
Value:
xStreamBufferSend( ( xMessageBuffer ), ( pvTxData ), ( xDataLengthBytes ), ( xTicksToWait ) )
size_t xStreamBufferSend(StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait) PRIVILEGED_FUNCTION

◆ xMessageBufferSendCompletedFromISR

#define xMessageBufferSendCompletedFromISR ( xMessageBuffer,
pxHigherPriorityTaskWoken )
Value:
xStreamBufferSendCompletedFromISR( ( xMessageBuffer ), ( pxHigherPriorityTaskWoken ) )
BaseType_t xStreamBufferSendCompletedFromISR(StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION

◆ xMessageBufferSendFromISR

#define xMessageBufferSendFromISR ( xMessageBuffer,
pvTxData,
xDataLengthBytes,
pxHigherPriorityTaskWoken )
Value:
xStreamBufferSendFromISR( ( xMessageBuffer ), ( pvTxData ), ( xDataLengthBytes ), ( pxHigherPriorityTaskWoken ) )
size_t xStreamBufferSendFromISR(StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION

◆ xMessageBufferSpaceAvailable

#define xMessageBufferSpaceAvailable ( xMessageBuffer)
Value:
xStreamBufferSpacesAvailable( xMessageBuffer )
size_t xStreamBufferSpacesAvailable(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION

◆ xMessageBufferSpacesAvailable

#define xMessageBufferSpacesAvailable ( xMessageBuffer)
Value:
xStreamBufferSpacesAvailable( xMessageBuffer ) /* Corrects typo in original macro name. */

Typedef Documentation

◆ MessageBufferHandle_t

Type by which message buffers are referenced. For example, a call to xMessageBufferCreate() returns an MessageBufferHandle_t variable that can then be used as a parameter to xMessageBufferSend(), xMessageBufferReceive(), etc. Message buffer is essentially built as a stream buffer hence its handle is also set to same type as a stream buffer handle.