FreeRTOScpp
FreeRTOScpp::MessageBufferBase Class Reference

Base Wrapper Class for MessageBuffer. More...

#include <MessageBufferCPP.h>

Inheritance diagram for FreeRTOScpp::MessageBufferBase:
Collaboration diagram for FreeRTOScpp::MessageBufferBase:

Public Member Functions

 MessageBufferBase (MessageBufferHandle_t mbHandle)
 
virtual ~MessageBufferBase ()
 
size_t available () const
 Get the amount of available space open in the MessageBuffer. More...
 
bool isEmpty () const
 
bool isFull () const
 
size_t read (void *data, size_t len, TickType_t delay=portMAX_DELAY)
 
size_t read (void *data, size_t len, Time_ms delay)
 
size_t read_ISR (void *data, size_t len, BaseType_t &wasWoken)
 
bool reset ()
 Resets the buffer to empty. More...
 
size_t send (const void *data, size_t len, TickType_t delay=portMAX_DELAY)
 
size_t send (const void *data, size_t len, Time_ms delay)
 
size_t send_ISR (const void *data, size_t len, BaseType_t &wasWoken)
 

Public Attributes

MessageBufferHandle_t msgHandle
 

Detailed Description

Base Wrapper Class for MessageBuffer.

Base Class does all the operations, there is then a derived class to build the buffer, or the base class can be a wrapper around an elsewhere created handle.

Constructor & Destructor Documentation

◆ MessageBufferBase()

FreeRTOScpp::MessageBufferBase::MessageBufferBase ( MessageBufferHandle_t  mbHandle)
inline

Referenced by FreeRTOScpp::MessageBuffer< size >::~MessageBuffer().

Here is the caller graph for this function:

◆ ~MessageBufferBase()

virtual FreeRTOScpp::MessageBufferBase::~MessageBufferBase ( )
inlinevirtual

Member Function Documentation

◆ available()

size_t FreeRTOScpp::MessageBufferBase::available ( ) const
inline

Get the amount of available space open in the MessageBuffer.

Returns
The number of bytes that can be sent before the buffer is full

References msgHandle.

◆ isEmpty()

bool FreeRTOScpp::MessageBufferBase::isEmpty ( ) const
inline

References msgHandle.

◆ isFull()

bool FreeRTOScpp::MessageBufferBase::isFull ( ) const
inline

References msgHandle.

◆ read() [1/2]

size_t FreeRTOScpp::MessageBufferBase::read ( void *  data,
size_t  len,
TickType_t  delay = portMAX_DELAY 
)
inline

References msgHandle.

◆ read() [2/2]

size_t FreeRTOScpp::MessageBufferBase::read ( void *  data,
size_t  len,
Time_ms  delay 
)
inline

References FreeRTOScpp::ms2ticks(), and msgHandle.

Here is the call graph for this function:

◆ read_ISR()

size_t FreeRTOScpp::MessageBufferBase::read_ISR ( void *  data,
size_t  len,
BaseType_t &  wasWoken 
)
inline

References msgHandle.

◆ reset()

bool FreeRTOScpp::MessageBufferBase::reset ( )
inline

Resets the buffer to empty.

Returns
True if done, stream can not be reset if a task is waiting on the MessageBuffer.

References msgHandle.

◆ send() [1/2]

size_t FreeRTOScpp::MessageBufferBase::send ( const void *  data,
size_t  len,
TickType_t  delay = portMAX_DELAY 
)
inline

References msgHandle.

◆ send() [2/2]

size_t FreeRTOScpp::MessageBufferBase::send ( const void *  data,
size_t  len,
Time_ms  delay 
)
inline

References FreeRTOScpp::ms2ticks(), and msgHandle.

Here is the call graph for this function:

◆ send_ISR()

size_t FreeRTOScpp::MessageBufferBase::send_ISR ( const void *  data,
size_t  len,
BaseType_t &  wasWoken 
)
inline

References msgHandle.

Member Data Documentation

◆ msgHandle

MessageBufferHandle_t FreeRTOScpp::MessageBufferBase::msgHandle

The documentation for this class was generated from the following file: