Microchip® Advanced Software Framework

message_buffer.h File Reference
#include "stream_buffer.h"

Macros

#define vMessageBufferDelete(xMessageBuffer)   vStreamBufferDelete( ( StreamBufferHandle_t ) xMessageBuffer )
 message_buffer.h More...
 
#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 xMessageBufferIsEmpty(xMessageBuffer)   xStreamBufferIsEmpty( ( StreamBufferHandle_t ) xMessageBuffer )
 message_buffer.h More...
 
#define xMessageBufferIsFull(xMessageBuffer)   xStreamBufferIsFull( ( StreamBufferHandle_t ) xMessageBuffer )
 message_buffer.h More...
 
#define xMessageBufferReceive(xMessageBuffer, pvRxData, xBufferLengthBytes, xTicksToWait)   xStreamBufferReceive( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, xTicksToWait )
 
#define xMessageBufferReceiveCompletedFromISR(xMessageBuffer, pxHigherPriorityTaskWoken)   xStreamBufferReceiveCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken )
 
#define xMessageBufferReceiveFromISR(xMessageBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken)   xStreamBufferReceiveFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken )
 
#define xMessageBufferReset(xMessageBuffer)   xStreamBufferReset( ( StreamBufferHandle_t ) xMessageBuffer )
 
#define xMessageBufferSend(xMessageBuffer, pvTxData, xDataLengthBytes, xTicksToWait)   xStreamBufferSend( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, xTicksToWait )
 
#define xMessageBufferSendCompletedFromISR(xMessageBuffer, pxHigherPriorityTaskWoken)   xStreamBufferSendCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken )
 
#define xMessageBufferSendFromISR(xMessageBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken)   xStreamBufferSendFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken )
 
#define xMessageBufferSpaceAvailable(xMessageBuffer)   xStreamBufferSpacesAvailable( ( StreamBufferHandle_t ) xMessageBuffer )
 

Typedefs

typedef void * MessageBufferHandle_t
 Type by which message buffers are referenced. More...
 

#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.
#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 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.
#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.
#define xMessageBufferReceive (   xMessageBuffer,
  pvRxData,
  xBufferLengthBytes,
  xTicksToWait 
)    xStreamBufferReceive( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, xTicksToWait )
#define xMessageBufferReceiveCompletedFromISR (   xMessageBuffer,
  pxHigherPriorityTaskWoken 
)    xStreamBufferReceiveCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken )
#define xMessageBufferReceiveFromISR (   xMessageBuffer,
  pvRxData,
  xBufferLengthBytes,
  pxHigherPriorityTaskWoken 
)    xStreamBufferReceiveFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken )
#define xMessageBufferReset (   xMessageBuffer)    xStreamBufferReset( ( StreamBufferHandle_t ) xMessageBuffer )
#define xMessageBufferSend (   xMessageBuffer,
  pvTxData,
  xDataLengthBytes,
  xTicksToWait 
)    xStreamBufferSend( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, xTicksToWait )
#define xMessageBufferSendCompletedFromISR (   xMessageBuffer,
  pxHigherPriorityTaskWoken 
)    xStreamBufferSendCompletedFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pxHigherPriorityTaskWoken )
#define xMessageBufferSendFromISR (   xMessageBuffer,
  pvTxData,
  xDataLengthBytes,
  pxHigherPriorityTaskWoken 
)    xStreamBufferSendFromISR( ( StreamBufferHandle_t ) xMessageBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken )
#define xMessageBufferSpaceAvailable (   xMessageBuffer)    xStreamBufferSpacesAvailable( ( StreamBufferHandle_t ) xMessageBuffer )

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.