FreeRTOS-Cpp
|
Class that encapsulates the functionality of a FreeRTOS message buffer. More...
#include <FreeRTOS/MessageBuffer.hpp>
Public Member Functions | |
StaticMessageBuffer () | |
Construct a new StaticMessageBuffer object by calling MessageBufferHandle_t xMessageBufferCreateStatic( size_t xBufferSizeBytes, uint8_t *pucMessageBufferStorageArea, StaticMessageBuffer_t *pxStaticMessageBuffer ) More... | |
StaticMessageBuffer (const StaticMessageBuffer &)=delete | |
StaticMessageBuffer & | operator= (const StaticMessageBuffer &)=delete |
StaticMessageBuffer (StaticMessageBuffer &&) noexcept=default | |
StaticMessageBuffer & | operator= (StaticMessageBuffer &&) noexcept=default |
![]() | |
MessageBufferBase (const MessageBufferBase &)=delete | |
MessageBufferBase & | operator= (const MessageBufferBase &)=delete |
bool | isValid () const |
Function that checks if the underlying message buffer handle is not NULL. This should be used to ensure a message buffer has been created correctly. More... | |
size_t | send (const void *data, const size_t length, const TickType_t ticksToWait=portMAX_DELAY) const |
Function that calls size_t xMessageBufferSend( MessageBufferHandle_t xMessageBuffer, const void *pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait ) More... | |
size_t | sendFromISR (bool &higherPriorityTaskWoken, const void *data, const size_t length) const |
Function that calls size_t xMessageBufferSendFromISR( MessageBufferHandle_t xMessageBuffer, const void *pvTxData, size_t xDataLengthBytes, BaseType_t *pxHigherPriorityTaskWoken ) More... | |
size_t | sendFromISR (const void *data, const size_t length) const |
Function that calls size_t xMessageBufferSendFromISR( MessageBufferHandle_t xMessageBuffer, const void *pvTxData, size_t xDataLengthBytes, BaseType_t *pxHigherPriorityTaskWoken ) More... | |
size_t | receive (void *buffer, const size_t bufferLength, const TickType_t ticksToWait=portMAX_DELAY) const |
Function that calls size_t xMessageBufferReceive( MessageBufferHandle_t xMessageBuffer, void *pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait ) More... | |
size_t | receiveFromISR (bool &higherPriorityTaskWoken, void *buffer, const size_t bufferLength) const |
Function that calls size_t xMessageBufferReceiveFromISR( MessageBufferHandle_t xMessageBuffer, void *pvRxData, size_t xBufferLengthBytes, BaseType_t *pxHigherPriorityTaskWoken ) More... | |
size_t | receiveFromISR (void *buffer, const size_t bufferLength) const |
Function that calls size_t xMessageBufferReceiveFromISR( MessageBufferHandle_t xMessageBuffer, void *pvRxData, size_t xBufferLengthBytes, BaseType_t *pxHigherPriorityTaskWoken ) More... | |
size_t | spacesAvailable () const |
Function that calls size_t xMessageBufferSpacesAvailable( MessageBufferHandle_t xMessageBuffer ) More... | |
bool | reset () const |
Function that calls BaseType_t xMessageBufferReset( MessageBufferHandle_t xMessageBuffer ) More... | |
bool | isEmpty () const |
Function that calls BaseType_t xMessageBufferIsEmpty( MessageBufferHandle_t xMessageBuffer ) More... | |
bool | isFull () const |
Function that calls BaseType_t xMessageBufferIsFull( MessageBufferHandle_t xMessageBuffer ) More... | |
Private Attributes | |
StaticMessageBuffer_t | staticMessageBuffer |
uint8_t | storage [N] = {0} |
Additional Inherited Members | |
![]() | |
static void * | operator new (size_t, void *ptr) |
static void * | operator new[] (size_t, void *ptr) |
static void * | operator new (size_t)=delete |
static void * | operator new[] (size_t)=delete |
Class that encapsulates the functionality of a FreeRTOS message buffer.
If a message buffer is created using this class then the RAM is provided by the application writer as part of the object instance and allows the RAM to be statically allocated at compile time.
N | The size, in bytes, of the storage for the message buffer. |
|
inline |
Construct a new StaticMessageBuffer object by calling MessageBufferHandle_t xMessageBufferCreateStatic( size_t xBufferSizeBytes, uint8_t *pucMessageBufferStorageArea, StaticMessageBuffer_t *pxStaticMessageBuffer )
Example Usage