#include <Stream.h>
Public Member Functions | |
virtual int | available ()=0 |
virtual int | peek ()=0 |
virtual int | read ()=0 |
virtual void | flush ()=0 |
Stream () | |
void | setTimeout (unsigned long timeout) |
Set maximum milliseconds to wait for stream data, default is 1 second. More... | |
bool | find (const char *target) |
Read data from the stream until the target string is found. More... | |
bool | find (const char *target, size_t length) |
Read data from the stream until the target string of given length is found. More... | |
bool | findUntil (const char *target, const char *terminator) |
As find() but search ends if the terminator string is found. More... | |
bool | findUntil (const char *target, size_t targetLen, const char *terminate, size_t termLen) |
As findUntil(const char*, const char*) but search ends if the terminate string is found. More... | |
long | parseInt () |
Returns the first valid (long) integer value from the current position. More... | |
float | parseFloat () |
float version of parseInt More... | |
virtual size_t | readBytes (char *buffer, size_t length) |
Read chars from stream into buffer. More... | |
size_t | readBytes (uint8_t *buffer, size_t length) |
size_t | readBytesUntil (char terminator, char *buffer, size_t length) |
As readBytes() with terminator character. More... | |
virtual String | readString (size_t maxLen) |
Like readBytes but place content into a String More... | |
String | readStringUntil (char terminator) |
virtual int | indexOf (char c) |
Public Member Functions inherited from Print | |
virtual | ~Print () |
int | getWriteError () |
Gets last error. More... | |
void | clearWriteError () |
Clears the last write error. More... | |
virtual size_t | write (uint8_t c)=0 |
Writes a single character to output stream. More... | |
size_t | write (const char *str) |
Writes a c-string to output stream. More... | |
virtual size_t | write (const uint8_t *buffer, size_t size) |
Writes characters from a buffer to output stream. More... | |
size_t | write (const char *buffer, size_t size) |
Writes characters from a buffer to output stream. More... | |
size_t | print (char c) |
Prints a single character to output stream. More... | |
size_t | print (const char str[]) |
Prints a c-string to output stream. More... | |
size_t | print (double num, int digits=2) |
Print a floating-point number to output stream. More... | |
template<typename T > | |
std::enable_if< has_printTo< T >::value, size_t >::type | print (const T &obj) |
Prints a Printable object to output stream. More... | |
size_t | print (const String &s) |
Prints a String to output stream. More... | |
template<typename E > | |
std::enable_if< std::is_enum< E >::value &&!std::is_convertible< E, int >::value, size_t >::type | print (E value) |
enums can be printed as strings provided they have a toString(E) implementation. More... | |
size_t | println () |
Prints a newline to output stream. More... | |
template<typename... Args> | |
size_t | println (const Args &... args) |
Print value plus newline to output stream. More... | |
size_t | printf (const char *fmt,...) |
Prints a formatted c-string to output stream. More... | |
size_t | print (unsigned long num, uint8_t base=DEC) |
template<typename... Args> | |
size_t | print (unsigned long num, Args... args) |
template<typename... Args> | |
size_t | print (const unsigned long long &num, Args... args) |
size_t | print (long num, uint8_t base=DEC) |
template<typename... Args> | |
size_t | print (long num, Args... args) |
template<typename... Args> | |
size_t | print (const long long &num, Args... args) |
template<typename... Args> | |
size_t | print (unsigned int num, Args... args) |
template<typename... Args> | |
size_t | print (unsigned char num, Args... args) |
template<typename... Args> | |
size_t | print (int num, Args... args) |
Protected Member Functions | |
int | timedRead () |
int | timedPeek () |
int | peekNextDigit () |
returns the next numeric digit in the stream or -1 if timeout More... | |
long | parseInt (char skipChar) |
Like regular parseInt() but the given skipChar is ignored. More... | |
float | parseFloat (char skipChar) |
Like parseInt(skipChar) for float. More... | |
Protected Member Functions inherited from Print | |
void | setWriteError (int err=1) |
Protected Attributes | |
uint16_t | receiveTimeout = 1000 |
number of milliseconds to wait for the next char before aborting timed read More... | |
Detailed Description
Base Stream class.
Constructor & Destructor Documentation
◆ Stream()
|
inline |
Member Function Documentation
◆ available()
|
pure virtual |
Implemented in USB::VENDOR::Device, USB::CDC::HostDevice, USB::CDC::Device, OtaUpgrade::BasicStream, Ota::UpgradeOutputStream, Graphics::SubStream, JsonObjectStream, TwoWire, HardwareSerial, StreamTransformer, XorOutputStream, SharedMemoryStream< T >, SectionStream, MemoryDataStream, LimitedMemoryStream, IFS::FileStream, CircularBuffer, Storage::PartitionStream, UrlencodedOutputStream, Hosted::Transport::TcpClientStream, Hosted::Serial, FSTR::Stream, and IDataSourceStream.
◆ find() [1/2]
|
inline |
Read data from the stream until the target string is found.
- Parameters
-
target String to watch for
- Return values
-
bool true if target string is found, false if timed out (see setTimeout)
◆ find() [2/2]
|
inline |
Read data from the stream until the target string of given length is found.
- Parameters
-
target length
- Return values
-
bool returns true if target string is found, false if timed out
◆ findUntil() [1/2]
bool Stream::findUntil | ( | const char * | target, |
const char * | terminator | ||
) |
As find()
but search ends if the terminator string is found.
◆ findUntil() [2/2]
bool Stream::findUntil | ( | const char * | target, |
size_t | targetLen, | ||
const char * | terminate, | ||
size_t | termLen | ||
) |
As findUntil(const char*, const char*)
but search ends if the terminate string is found.
◆ flush()
|
pure virtual |
◆ indexOf()
|
inlinevirtual |
Reimplemented in HardwareSerial.
◆ parseFloat() [1/2]
float Stream::parseFloat | ( | ) |
float version of parseInt
◆ parseFloat() [2/2]
|
protected |
Like parseInt(skipChar)
for float.
◆ parseInt() [1/2]
long Stream::parseInt | ( | ) |
Returns the first valid (long) integer value from the current position.
Initial characters that are not digits (or the minus sign) are skipped. integer is terminated by the first character that is not a digit.
◆ parseInt() [2/2]
|
protected |
Like regular parseInt()
but the given skipChar is ignored.
This allows format characters (typically commas) in values to be ignored
◆ peek()
|
pure virtual |
◆ peekNextDigit()
|
protected |
returns the next numeric digit in the stream or -1 if timeout
◆ read()
|
pure virtual |
◆ readBytes() [1/2]
|
virtual |
Read chars from stream into buffer.
Terminates if length characters have been read or timeout (see setTimeout). Returns the number of characters placed in the buffer (0 means no valid data found).
- Note
- Inherited classes may provide more efficient implementations without timeout.
Reimplemented in USB::VENDOR::Device, USB::CDC::HostDevice, USB::CDC::Device, IFS::FileStream, IDataSourceStream, Hosted::Transport::TcpClientStream, and Hosted::Serial.
◆ readBytes() [2/2]
|
inline |
◆ readBytesUntil()
size_t Stream::readBytesUntil | ( | char | terminator, |
char * | buffer, | ||
size_t | length | ||
) |
As readBytes()
with terminator character.
Terminates if length characters have been read, timeout, or if the terminator character detected.
- Return values
-
size_t Number of characters placed in the buffer (0 means no valid data found)
◆ readString()
|
virtual |
Like readBytes
but place content into a String
- Parameters
-
maxLen Limit number of bytes read
- Return values
-
String
Reimplemented in IDataSourceStream.
◆ readStringUntil()
String Stream::readStringUntil | ( | char | terminator | ) |
◆ setTimeout()
|
inline |
Set maximum milliseconds to wait for stream data, default is 1 second.
◆ timedPeek()
|
protected |
◆ timedRead()
|
protected |
Member Data Documentation
◆ receiveTimeout
|
protected |
number of milliseconds to wait for the next char before aborting timed read
The documentation for this class was generated from the following file: