FreeRTOScpp
FreeRTOScpp::StreamBuffer< size > Class Template Reference

StreamBuffer wrapper. More...

#include <StreamBufferCPP.h>

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

Public Member Functions

 StreamBuffer (size_t trigger=1)
 
virtual ~StreamBuffer ()
 
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

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

StreamBuffer wrapper.

Template Parameters
sizeThe size of the stream buffer, 0 for dynamically created

Constructor & Destructor Documentation

◆ StreamBuffer()

template<size_t size>
FreeRTOScpp::StreamBuffer< size >::StreamBuffer ( size_t  trigger = 1)
inline

◆ ~StreamBuffer()

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

Member Function Documentation

◆ available()

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

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 FreeRTOScpp::StreamBufferBase::streamHandle.

◆ isEmpty()

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

◆ isFull()

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

◆ read() [1/2]

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

◆ read() [2/2]

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

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

◆ reset()

bool FreeRTOScpp::StreamBufferBase::reset ( )
inlineinherited

Resets the buffer to empty.

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

References FreeRTOScpp::StreamBufferBase::streamHandle.

◆ send() [1/2]

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

◆ send() [2/2]

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

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

◆ trigger()

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

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 FreeRTOScpp::StreamBufferBase::streamHandle.

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

Here is the caller graph for this function:

◆ waiting()

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

Get number of bytes of data available in the StreamBuffer.

Returns
The number of bytes that can be read

References FreeRTOScpp::StreamBufferBase::streamHandle.

Member Data Documentation

◆ streamHandle


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