Labor04
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)   ( MessageBufferHandle_t ) xStreamBufferGenericCreate( xBufferSizeBytes, ( size_t ) 0, pdTRUE )
 
#define xMessageBufferCreateStatic(xBufferSizeBytes, pucMessageBufferStorageArea, pxStaticMessageBuffer)   ( MessageBufferHandle_t ) xStreamBufferGenericCreateStatic( xBufferSizeBytes, 0, pdTRUE, pucMessageBufferStorageArea, pxStaticMessageBuffer )
 
#define xMessageBufferSend(xMessageBuffer, pvTxData, xDataLengthBytes, xTicksToWait)   xStreamBufferSend( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, xTicksToWait )
 
#define xMessageBufferSendFromISR(xMessageBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken)   xStreamBufferSendFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken )
 
#define xMessageBufferReceive(xMessageBuffer, pvRxData, xBufferLengthBytes, xTicksToWait)   xStreamBufferReceive( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, xTicksToWait )
 
#define xMessageBufferReceiveFromISR(xMessageBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken)   xStreamBufferReceiveFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken )
 
#define vMessageBufferDelete(xMessageBuffer)   vStreamBufferDelete( ( StreamBufferHandle_t ) xMessageBuffer )
 
#define xMessageBufferIsFull(xMessageBuffer)   xStreamBufferIsFull( ( StreamBufferHandle_t ) xMessageBuffer )
 
#define xMessageBufferIsEmpty(xMessageBuffer)   xStreamBufferIsEmpty( ( StreamBufferHandle_t ) xMessageBuffer )
 
#define xMessageBufferReset(xMessageBuffer)   xStreamBufferReset( ( StreamBufferHandle_t ) xMessageBuffer )
 
#define xMessageBufferSpaceAvailable(xMessageBuffer)   xStreamBufferSpacesAvailable( ( StreamBufferHandle_t ) xMessageBuffer )
 
#define xMessageBufferSendCompletedFromISR(xMessageBuffer, pxHigherPriorityTaskWoken)   xStreamBufferSendCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken )
 
#define xMessageBufferReceiveCompletedFromISR(xMessageBuffer, pxHigherPriorityTaskWoken)   xStreamBufferReceiveCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken )
 

Typedefs

typedef void * MessageBufferHandle_t
 

Macro Definition Documentation

◆ vMessageBufferDelete

#define vMessageBufferDelete (   xMessageBuffer)    vStreamBufferDelete( ( StreamBufferHandle_t ) xMessageBuffer )

message_buffer.h

void vMessageBufferDelete( MessageBufferHandle_t xMessageBuffer );

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.

Parameters
xMessageBufferThe handle of the message buffer to be deleted.

◆ xMessageBufferCreate

#define xMessageBufferCreate (   xBufferSizeBytes)    ( MessageBufferHandle_t ) xStreamBufferGenericCreate( xBufferSizeBytes, ( size_t ) 0, pdTRUE )

◆ xMessageBufferCreateStatic

#define xMessageBufferCreateStatic (   xBufferSizeBytes,
  pucMessageBufferStorageArea,
  pxStaticMessageBuffer 
)    ( MessageBufferHandle_t ) xStreamBufferGenericCreateStatic( xBufferSizeBytes, 0, pdTRUE, pucMessageBufferStorageArea, pxStaticMessageBuffer )

◆ xMessageBufferIsEmpty

#define xMessageBufferIsEmpty (   xMessageBuffer)    xStreamBufferIsEmpty( ( StreamBufferHandle_t ) xMessageBuffer )

message_buffer.h

BaseType_t xMessageBufferIsEmpty( MessageBufferHandle_t xMessageBuffer ) );

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

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)    xStreamBufferIsFull( ( StreamBufferHandle_t ) xMessageBuffer )

message_buffer.h

BaseType_t xMessageBufferIsFull( MessageBufferHandle_t xMessageBuffer ) );

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.

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.

◆ xMessageBufferReceive

#define xMessageBufferReceive (   xMessageBuffer,
  pvRxData,
  xBufferLengthBytes,
  xTicksToWait 
)    xStreamBufferReceive( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, xTicksToWait )

◆ xMessageBufferReceiveCompletedFromISR

#define xMessageBufferReceiveCompletedFromISR (   xMessageBuffer,
  pxHigherPriorityTaskWoken 
)    xStreamBufferReceiveCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken )

◆ xMessageBufferReceiveFromISR

#define xMessageBufferReceiveFromISR (   xMessageBuffer,
  pvRxData,
  xBufferLengthBytes,
  pxHigherPriorityTaskWoken 
)    xStreamBufferReceiveFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken )

◆ xMessageBufferReset

#define xMessageBufferReset (   xMessageBuffer)    xStreamBufferReset( ( StreamBufferHandle_t ) xMessageBuffer )

◆ xMessageBufferSend

#define xMessageBufferSend (   xMessageBuffer,
  pvTxData,
  xDataLengthBytes,
  xTicksToWait 
)    xStreamBufferSend( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, xTicksToWait )

◆ xMessageBufferSendCompletedFromISR

#define xMessageBufferSendCompletedFromISR (   xMessageBuffer,
  pxHigherPriorityTaskWoken 
)    xStreamBufferSendCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken )

◆ xMessageBufferSendFromISR

#define xMessageBufferSendFromISR (   xMessageBuffer,
  pvTxData,
  xDataLengthBytes,
  pxHigherPriorityTaskWoken 
)    xStreamBufferSendFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken )

◆ xMessageBufferSpaceAvailable

#define xMessageBufferSpaceAvailable (   xMessageBuffer)    xStreamBufferSpacesAvailable( ( StreamBufferHandle_t ) xMessageBuffer )

Typedef Documentation

◆ MessageBufferHandle_t

typedef void* 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.