34#ifndef SHELLMINATOR_IO_HPP_
35#define SHELLMINATOR_IO_HPP_
43#ifdef SHELLMINATOR_USE_WIFI_CLIENT
45 #include <ESP8266WiFi.h>
75 virtual int read() {
return -1; }
80 virtual int peek() {
return 0; }
83 virtual void flush() {
return; }
89 virtual size_t write( uint8_t b ) {
return 0; }
95 virtual size_t print(
char c ) {
return 0; }
101 virtual size_t print( uint8_t b ) {
return 0; }
107 virtual size_t print(
char *str ) {
return 0; }
113 virtual size_t print(
const char *str ) {
return 0; }
117#ifdef SHELLMINATOR_USE_ARDUINO_SERIAL
128 void select( HardwareSerial *serialPort_p );
146 void flush()
override;
152 size_t write( uint8_t b )
override;
158 size_t print(
char c )
override;
164 size_t print( uint8_t b );
170 size_t print(
char *str )
override;
176 size_t print(
const char *str )
override;
184 HardwareSerial *serialPort = NULL;
190#ifdef SHELLMINATOR_USE_ARDUINO_32U4_SERIAL
201 void select( Serial_ *serialPort_p );
219 void flush()
override;
225 size_t write( uint8_t b )
override;
231 size_t print(
char c )
override;
237 size_t print( uint8_t b );
243 size_t print(
char *str )
override;
249 size_t print(
const char *str )
override;
257 Serial_ *serialPort = NULL;
263#ifdef SHELLMINATOR_USE_WIFI_CLIENT
273 void select( WiFiClient *client_p );
291 void flush()
override;
297 size_t write( uint8_t b )
override;
303 size_t print(
char c )
override;
309 size_t print( uint8_t b );
315 size_t print(
char *str )
override;
321 size_t print(
const char *str )
override;
329 WiFiClient *client = NULL;
Shellminator channel class for Arduino Serial objects.
size_t print(char c) override
Print one character to the channel.
void select(Serial_ *serialPort_p)
Select Serial Port.
Serial_ * getSerialObject()
Get the address of the chosen Serial Port.
int read() override
Read one byte form the channel.
int peek() override
Peek the firtst byte from the channel.
void flush() override
Flush the channel.
int available() override
Available bytes in the channel.
size_t write(uint8_t b) override
Write one byte to the channel.
Shellminator channel class for Arduino Serial objects.
size_t write(uint8_t b) override
Write one byte to the channel.
int peek() override
Peek the firtst byte from the channel.
int read() override
Read one byte form the channel.
int available() override
Available bytes in the channel.
void select(HardwareSerial *serialPort_p)
Select Serial Port.
HardwareSerial * getSerialObject()
Get the address of the chosen Serial Port.
size_t print(char c) override
Print one character to the channel.
void flush() override
Flush the channel.
Shellminator channel class.
virtual size_t print(uint8_t b)
Print one byte to the channel.
virtual size_t print(char *str)
Print c-string to the channel.
virtual int available()
Available bytes in the channel.
virtual size_t print(const char *str)
Print c-string to the channel.
virtual int read()
Read one byte form the channel.
virtual int peek()
Peek the firtst byte from the channel.
virtual size_t write(uint8_t b)
Write one byte to the channel.
virtual size_t print(char c)
Print one character to the channel.
virtual void flush()
Flush the channel.
size_t print(char c) override
Print one character to the channel.
int available() override
Available bytes in the channel.
void flush() override
Flush the channel.
void select(WiFiClient *client_p)
Select WiFi Client.
size_t write(uint8_t b) override
Write one byte to the channel.
int peek() override
Peek the firtst byte from the channel.
int read() override
Read one byte form the channel.
WiFiClient * getClientObject()
Get the address of the chosen WiFi Client.