arduino-audio-tools
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
audio_tools::BufferedStream Class Referenceabstract

The Arduino Stream supports operations on single characters. This is usually not the best way to push audio information, but we will support it anyway - by using a buffer. On reads: if the buffer is empty it gets refilled - for writes if it is full it gets flushed. More...

#include <AudioStreams.h>

Inheritance diagram for audio_tools::BufferedStream:
Stream Print audio_tools::AnalogAudioStream audio_tools::AudioOutputWithCallback audio_tools::AudioUSB audio_tools::CallbackAudioStream audio_tools::CallbackStream< T > audio_tools::I2SStream audio_tools::MetaDataID3 audio_tools::NullStream audio_tools::PortAudioStream

Public Member Functions

 BufferedStream (size_t buffer_size)
 
virtual int available ()
 Returns the available bytes in the buffer: to be avoided.
 
virtual void flush ()
 empties the buffer
 
virtual int peek ()
 peeks a byte - to be avoided
 
virtual int read ()
 reads a byte - to be avoided
 
size_t readBytes (uint8_t *data, size_t length)
 Use this method !!
 
virtual size_t write (const uint8_t *data, size_t len)
 Use this method: write an array.
 
virtual size_t write (uint8_t c)
 writes a byte to the buffer
 
- Public Member Functions inherited from Stream
bool find (char target)
 
bool find (const char *target)
 
bool find (const char *target, size_t length)
 
bool find (const uint8_t *target)
 
bool find (const uint8_t *target, size_t length)
 
bool findUntil (const char *target, const char *terminator)
 
bool findUntil (const char *target, size_t targetLen, const char *terminate, size_t termLen)
 
bool findUntil (const uint8_t *target, const char *terminator)
 
bool findUntil (const uint8_t *target, size_t targetLen, const char *terminate, size_t termLen)
 
unsigned long getTimeout (void)
 
float parseFloat (LookaheadMode lookahead=SKIP_ALL, char ignore=NO_IGNORE_CHAR)
 
long parseInt (LookaheadMode lookahead=SKIP_ALL, char ignore=NO_IGNORE_CHAR)
 
size_t readBytes (char *buffer, size_t length)
 
size_t readBytes (uint8_t *buffer, size_t length)
 
size_t readBytesUntil (char terminator, char *buffer, size_t length)
 
size_t readBytesUntil (char terminator, uint8_t *buffer, size_t length)
 
String readString ()
 
String readStringUntil (char terminator)
 
void setTimeout (unsigned long timeout)
 
- Public Member Functions inherited from Print
virtual int availableForWrite ()
 
void clearWriteError ()
 
int getWriteError ()
 
size_t print (char)
 
size_t print (const __FlashStringHelper *)
 
size_t print (const char[])
 
size_t print (const Printable &)
 
size_t print (const String &)
 
size_t print (double, int=2)
 
size_t print (int, int=DEC)
 
size_t print (long long, int=DEC)
 
size_t print (long, int=DEC)
 
size_t print (unsigned char, int=DEC)
 
size_t print (unsigned int, int=DEC)
 
size_t print (unsigned long long, int=DEC)
 
size_t print (unsigned long, int=DEC)
 
size_t println (char)
 
size_t println (const __FlashStringHelper *)
 
size_t println (const char[])
 
size_t println (const Printable &)
 
size_t println (const String &s)
 
size_t println (double, int=2)
 
size_t println (int, int=DEC)
 
size_t println (long long, int=DEC)
 
size_t println (long, int=DEC)
 
size_t println (unsigned char, int=DEC)
 
size_t println (unsigned int, int=DEC)
 
size_t println (unsigned long long, int=DEC)
 
size_t println (unsigned long, int=DEC)
 
size_t println (void)
 
size_t write (const char *buffer, size_t size)
 
size_t write (const char *str)
 

Protected Member Functions

virtual size_t readExt (uint8_t *data, size_t length)=0
 
void refill ()
 
virtual size_t writeExt (const uint8_t *data, size_t len)=0
 
- Protected Member Functions inherited from Stream
int findMulti (struct MultiTarget *targets, int tCount)
 
float parseFloat (char ignore)
 
long parseInt (char ignore)
 
int peekNextDigit (LookaheadMode lookahead, bool detectDecimal)
 
int timedPeek ()
 
int timedRead ()
 
- Protected Member Functions inherited from Print
void setWriteError (int err=1)
 

Protected Attributes

SingleBuffer< uint8_t > * buffer =nullptr
 
- Protected Attributes inherited from Stream
unsigned long _startMillis
 
unsigned long _timeout
 

Detailed Description

The Arduino Stream supports operations on single characters. This is usually not the best way to push audio information, but we will support it anyway - by using a buffer. On reads: if the buffer is empty it gets refilled - for writes if it is full it gets flushed.

Author
Phil Schatzmann

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