arduino-audio-tools
Loading...
Searching...
No Matches
BaseStream Class Referenceabstract

Base class for all Streams. It relies on write(const uint8_t *buffer, size_t size) and readBytes(uint8_t *buffer, size_t length). More...

#include <BaseStream.h>

Inheritance diagram for BaseStream:
Stream Print Print

Public Member Functions

 BaseStream ()=default
 BaseStream (BaseStream &)=default
virtual ~BaseStream ()=default
virtual int available () override
virtual int availableForWrite () override
virtual bool begin ()
virtual void end ()
virtual void flush () override
 operator bool ()
 operator bool ()
BaseStream & operator= (BaseStream &)=default
virtual size_t readBytes (uint8_t *data, size_t len)=0
void setWriteBufferSize (int size)
virtual size_t write (const uint8_t *data, size_t len) override=0
virtual size_t write (uint8_t ch) override

Protected Member Functions

void refillReadBuffer ()
 Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read().

Protected Attributes

int _timeout = 10
RingBuffer< uint8_t > tmp_in {0}
RingBuffer< uint8_t > tmp_out {0}
int write_buffer_size = MAX_SINGLE_CHARS

Detailed Description

Base class for all Streams. It relies on write(const uint8_t *buffer, size_t size) and readBytes(uint8_t *buffer, size_t length).

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ BaseStream() [1/2]

BaseStream ( )
default

◆ ~BaseStream()

virtual ~BaseStream ( )
virtualdefault

◆ BaseStream() [2/2]

BaseStream ( BaseStream & )
default

Member Function Documentation

◆ available()

virtual int available ( )
inlineoverridevirtual

Reimplemented from Stream.

◆ availableForWrite()

virtual int availableForWrite ( )
inlineoverridevirtual

Reimplemented from Print.

◆ begin()

virtual bool begin ( )
inlinevirtual

◆ end()

virtual void end ( )
inlinevirtual

◆ flush()

virtual void flush ( )
inlineoverridevirtual

Reimplemented from Print.

◆ operator bool() [1/2]

operator bool ( )
inlineinherited

◆ operator bool() [2/2]

operator bool ( )
inlineinherited

◆ operator=()

BaseStream & operator= ( BaseStream & )
default

◆ readBytes()

virtual size_t readBytes ( uint8_t * data,
size_t len )
pure virtual

Reimplemented from Stream.

◆ refillReadBuffer()

void refillReadBuffer ( )
inlineprotected

Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read().

◆ setWriteBufferSize()

void setWriteBufferSize ( int size)
inline

◆ write() [1/2]

virtual size_t write ( const uint8_t * data,
size_t len )
overridepure virtual

Reimplemented from Print.

◆ write() [2/2]

virtual size_t write ( uint8_t ch)
inlineoverridevirtual

Member Data Documentation

◆ _timeout

int _timeout = 10
protectedinherited

◆ tmp_in

RingBuffer<uint8_t> tmp_in {0}
protected

◆ tmp_out

RingBuffer<uint8_t> tmp_out {0}
protected

◆ write_buffer_size

int write_buffer_size = MAX_SINGLE_CHARS
protected

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