Implements CDC interface for a connected serial device. More...
#include <HostDevice.h>
Public Member Functions | |
size_t | setRxBufferSize (size_t size) override |
Sets receiving buffer size. More... | |
virtual size_t | setTxBufferSize (size_t size) override |
Sets transmit buffer size. More... | |
int | available () override |
Return the total length of the stream. More... | |
bool | isFinished () override |
Check if all data has been read. More... | |
int | read () override |
Read one character and moves the stream pointer. More... | |
size_t | readBytes (char *buffer, size_t length) override |
Read chars from stream into buffer. More... | |
int | peek () override |
Read a character without advancing the stream pointer. More... | |
void | clear (SerialMode mode=SERIAL_FULL) override |
Clear the serial port transmit/receive buffers. More... | |
void | flush () override |
size_t | write (const uint8_t *buffer, size_t size) override |
Write chars to stream. More... | |
Public Member Functions inherited from USB::HostInterface | |
void | begin (const Instance &inst) |
Descendant classes should override this method to peform initialisation. More... | |
virtual void | end () |
Called when device is disconnected. Override as required. More... | |
const char * | getName () const |
uint8_t | getAddress () const |
bool | operator== (const HostInterface &other) const |
bool | operator== (const Instance &other) const |
Public Member Functions inherited from USB::CDC::UsbSerial | |
void | setTxWait (bool wait) |
Governs write behaviour when UART transmit buffers are full. More... | |
uint16_t | readMemoryBlock (char *buf, int max_len) override |
Read a block of memory. More... | |
bool | seek (int len) override |
Move read cursor. More... | |
void | systemDebugOutput (bool enabled) |
Configure serial port for system debug output and redirect output from debugf. More... | |
bool | onDataReceived (DataReceived callback) |
bool | onTransmitComplete (TransmitComplete callback) |
unsigned | getStatus () |
Get status error flags and clear them. More... | |
void | handleEvent (Event event) |
Public Member Functions inherited from ReadWriteStream | |
size_t | write (uint8_t charToWrite) override |
From Stream class: We don't write using this stream. More... | |
virtual size_t | copyFrom (IDataSourceStream *source, size_t size=SIZE_MAX) |
Copy data from a source stream. 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... | |
Public Member Functions inherited from IDataSourceStream | |
virtual StreamType | getStreamType () const |
Get the stream type. More... | |
virtual bool | isValid () const |
Determine if the stream object contains valid data. More... | |
virtual int | seekFrom (int offset, SeekOrigin origin) |
Change position in stream. More... | |
virtual String | id () const |
Returns unique id of the resource. More... | |
virtual String | getName () const |
Returns name of the resource. More... | |
virtual MimeType | getMimeType () const |
Get MIME type for stream content. More... | |
String | readString (size_t maxLen) override |
Overrides Stream method for more efficient reading. More... | |
virtual bool | moveString (String &s) |
Memory-based streams may be able to move content into a String. 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) |
Public Member Functions inherited from Stream | |
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... | |
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... | |
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... | |
size_t | write (const char *str) |
Writes a c-string 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) |
Additional Inherited Members | |
Public Types inherited from USB::CDC::UsbSerial | |
using | DataReceived = StreamDataReceivedDelegate |
using | TransmitComplete = Delegate< void(UsbSerial &device)> |
Protected Member Functions inherited from USB::CDC::UsbSerial | |
void | queueFlush () |
Protected Member Functions inherited from Stream | |
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 inherited from USB::HostInterface | |
Instance | inst |
Protected Attributes inherited from USB::CDC::UsbSerial | |
uart_options_t | options {_BV(UART_OPT_TXWAIT)} |
Protected Attributes inherited from Stream | |
uint16_t | receiveTimeout = 1000 |
number of milliseconds to wait for the next char before aborting timed read More... | |
Detailed Description
Implements CDC interface for a connected serial device.
Member Function Documentation
◆ available()
|
inlineoverridevirtual |
Return the total length of the stream.
- Return values
-
int -1 is returned when the size cannot be determined
Reimplemented from IDataSourceStream.
◆ clear()
|
inlineoverridevirtual |
Clear the serial port transmit/receive buffers.
- Parameters
-
mode Whether to flush TX, RX or both (the default)
- Note
- All un-read buffered data is removed and any error condition cleared
Implements USB::CDC::UsbSerial.
◆ flush()
|
inlineoverridevirtual |
Reimplemented from IDataSourceStream.
◆ isFinished()
|
inlineoverridevirtual |
◆ peek()
|
inlineoverridevirtual |
Read a character without advancing the stream pointer.
- Return values
-
int The character that was read or -1 if none is available
Reimplemented from IDataSourceStream.
◆ read()
|
inlineoverridevirtual |
Read one character and moves the stream pointer.
- Return values
-
The character that was read or -1 if none is available
Reimplemented from IDataSourceStream.
◆ readBytes()
|
inlineoverridevirtual |
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 from IDataSourceStream.
◆ setRxBufferSize()
|
inlineoverridevirtual |
Sets receiving buffer size.
- Parameters
-
size requested size
- Return values
-
size_t actual size
Implements USB::CDC::UsbSerial.
◆ setTxBufferSize()
|
inlineoverridevirtual |
Sets transmit buffer size.
- Parameters
-
size requested size
- Return values
-
size_t actual size
Implements USB::CDC::UsbSerial.
◆ write()
|
overridevirtual |
Write chars to stream.
- Parameters
-
buffer Pointer to buffer to write to the stream size Quantity of chars to write
- Return values
-
size_t Quantity of chars written to stream
- Note
- Although this is defined in the Print class, ReadWriteStream uses this as the core output method so descendants are required to implement it
Implements ReadWriteStream.
The documentation for this class was generated from the following file: