FreeRTOScpp
FreeRTOScpp::MessageBuffer< size > Class Template Reference

Template to implement a Message Buffer of a given size. More...

#include <MessageBufferCPP.h>

Inheritance diagram for FreeRTOScpp::MessageBuffer< size >:
Collaboration diagram for FreeRTOScpp::MessageBuffer< size >:

Public Member Functions

 MessageBuffer ()
 
virtual ~MessageBuffer ()
 
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

template<size_t size>
class FreeRTOScpp::MessageBuffer< size >

Template to implement a Message Buffer of a given size.

MessageBuffer will be created statically if possible.

Template Parameters
sizeThe number of bytes to store in the buffer, 0 = dynamically created

Constructor & Destructor Documentation

◆ MessageBuffer()

template<size_t size>
FreeRTOScpp::MessageBuffer< size >::MessageBuffer ( )
inline

◆ ~MessageBuffer()

template<size_t size>
virtual FreeRTOScpp::MessageBuffer< size >::~MessageBuffer ( )
inlinevirtual

References FreeRTOScpp::MessageBufferBase::MessageBufferBase(), and FreeRTOScpp::MessageBufferBase::msgHandle.

Here is the call graph for this function:

Member Function Documentation

◆ available()

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

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 FreeRTOScpp::MessageBufferBase::msgHandle.

◆ isEmpty()

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

◆ isFull()

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

◆ read() [1/2]

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

◆ read() [2/2]

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

References FreeRTOScpp::ms2ticks(), and FreeRTOScpp::MessageBufferBase::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 
)
inlineinherited

◆ reset()

bool FreeRTOScpp::MessageBufferBase::reset ( )
inlineinherited

Resets the buffer to empty.

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

References FreeRTOScpp::MessageBufferBase::msgHandle.

◆ send() [1/2]

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

◆ send() [2/2]

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

References FreeRTOScpp::ms2ticks(), and FreeRTOScpp::MessageBufferBase::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 
)
inlineinherited

Member Data Documentation

◆ msgHandle


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