|
FreeRTOS-Cpp
|
Class that encapsulates the functionality of a FreeRTOS message buffer. More...
#include <FreeRTOS/MessageBuffer.hpp>


Public Member Functions | |
| MessageBuffer (size_t size) | |
Construct a new MessageBuffer object by calling MessageBufferHandle_t xMessageBufferCreate( size_t xBufferSizeBytes ) More... | |
| MessageBuffer (const MessageBuffer &)=delete | |
| MessageBuffer & | operator= (const MessageBuffer &)=delete |
| MessageBuffer (MessageBuffer &&) noexcept=default | |
| MessageBuffer & | operator= (MessageBuffer &&) noexcept=default |
Public Member Functions inherited from FreeRTOS::MessageBufferBase | |
| 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... | |
Additional Inherited Members | |
Static Public Member Functions inherited from FreeRTOS::MessageBufferBase | |
| 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.
A message buffer using dynamically allocated memory from the FreeRTOS heap. See FreeRTOS::StaticMessageBuffer for a version that uses statically allocated memory (memory that is allocated at compile time).
|
inlineexplicit |
Construct a new MessageBuffer object by calling MessageBufferHandle_t xMessageBufferCreate( size_t xBufferSizeBytes )
| size | The total number of bytes (not messages) the message buffer will be able to hold at any one time. When a message is written to the message buffer an additional sizeof( size_t ) bytes are also written to store the message's length. sizeof( size_t ) is typically 4 bytes on a 32-bit architecture, so on most 32-bit architectures a 10 byte message will take up 14 bytes of message buffer space. |
Example Usage