35 static void pinMode(uint8_t pin, uint8_t mode,
Supla::Io *io = ioInstance);
36 static int digitalRead(uint8_t pin,
Supla::Io *io = ioInstance);
37 static void digitalWrite(uint8_t pin,
40 static void analogWrite(uint8_t pin,
int value,
Supla::Io *io = ioInstance);
41 static int analogRead(uint8_t pin,
Supla::Io *io = ioInstance);
42 static unsigned int pulseIn(uint8_t pin,
44 uint64_t timeoutMicro,
47 static void pinMode(
int channelNumber,
51 static int digitalRead(
int channelNumber,
54 static void digitalWrite(
int channelNumber,
58 static void analogWrite(
int channelNumber,
62 static int analogRead(
int channelNumber,
65 static unsigned int pulseIn(
int channelNumber,
68 uint64_t timeoutMicro,
71 static void attachInterrupt(uint8_t pin,
75 static void detachInterrupt(uint8_t pin, Io *io = ioInstance);
76 static uint8_t pinToInterrupt(uint8_t pin, Io *io = ioInstance);
78 static Io *ioInstance;
80 explicit Io(
bool useAsSingleton =
true);
82 virtual void customPinMode(
int channelNumber, uint8_t pin, uint8_t mode);
83 virtual int customDigitalRead(
int channelNumber, uint8_t pin);
84 virtual unsigned int customPulseIn(
int channelNumber,
87 uint64_t timeoutMicro);
88 virtual void customDigitalWrite(
int channelNumber, uint8_t pin, uint8_t val);
89 virtual void customAnalogWrite(
int channelNumber, uint8_t pin,
int val);
90 virtual int customAnalogRead(
int channelNumber, uint8_t pin);
91 virtual void customAttachInterrupt(uint8_t pin,
void (*func)(
void),
int mode);
92 virtual void customDetachInterrupt(uint8_t pin);
93 virtual uint8_t customPinToInterrupt(uint8_t pin);
96 bool useAsSingleton =
true;