FreeRTOScpp
FreeRTOScpp::StreamBufferBase Class Reference

Base class for the Various Stream Buffers. More...

#include <StreamBufferCPP.h>

Inheritance diagram for FreeRTOScpp::StreamBufferBase:
Collaboration diagram for FreeRTOScpp::StreamBufferBase:

Public Member Functions

 StreamBufferBase (StreamBufferHandle_t sbHandle)
 
virtual ~StreamBufferBase ()
 
size_t available () const
 Get the amount of available space open in the StreamBuffer. 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)
 
bool trigger (size_t trigger)
 Sets the Trigger Level for the StreamBuffer. More...
 
size_t waiting () const
 Get number of bytes of data available in the StreamBuffer. More...
 

Public Attributes

StreamBufferHandle_t streamHandle
 

Detailed Description

Base class for the Various Stream Buffers.

This class provides all the generic operations.

The derived class will create the buffer, or can be created as a wrapper from an existing streambuffer.

Constructor & Destructor Documentation

◆ StreamBufferBase()

FreeRTOScpp::StreamBufferBase::StreamBufferBase ( StreamBufferHandle_t  sbHandle)
inline

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

Here is the caller graph for this function:

◆ ~StreamBufferBase()

virtual FreeRTOScpp::StreamBufferBase::~StreamBufferBase ( )
inlinevirtual

Member Function Documentation

◆ available()

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

Get the amount of available space open in the StreamBuffer.

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

References streamHandle.

◆ isEmpty()

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

References streamHandle.

◆ isFull()

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

References streamHandle.

◆ read() [1/2]

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

References streamHandle.

◆ read() [2/2]

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

References FreeRTOScpp::ms2ticks(), and streamHandle.

Here is the call graph for this function:

◆ read_ISR()

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

References streamHandle.

◆ reset()

bool FreeRTOScpp::StreamBufferBase::reset ( )
inline

Resets the buffer to empty.

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

References streamHandle.

◆ send() [1/2]

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

References streamHandle.

◆ send() [2/2]

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

References FreeRTOScpp::ms2ticks(), and streamHandle.

Here is the call graph for this function:

◆ send_ISR()

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

References streamHandle.

◆ trigger()

bool FreeRTOScpp::StreamBufferBase::trigger ( size_t  trigger)
inline

Sets the Trigger Level for the StreamBuffer.

Parameters
triggerthe Trigger Level
Returns
If trigger level was set (false means trigger bigger than the buffer size)

References streamHandle.

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

Here is the caller graph for this function:

◆ waiting()

size_t FreeRTOScpp::StreamBufferBase::waiting ( ) const
inline

Get number of bytes of data available in the StreamBuffer.

Returns
The number of bytes that can be read

References streamHandle.

Member Data Documentation

◆ streamHandle

StreamBufferHandle_t FreeRTOScpp::StreamBufferBase::streamHandle

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