Go to the documentation of this file.
5#ifndef _NEGATING_IO_ABSTRACTION_
6#define _NEGATING_IO_ABSTRACTION_
27 delegate->pinDirection(pin, mode);
31 delegate->writeValue(pin, !value);
35 return !delegate->readValue(pin);
38 void attachInterrupt(pinid_t pin, RawIntHandler interruptHandler, uint8_t mode)
override {
39 delegate->attachInterrupt(pin, interruptHandler, mode);
43 return delegate->runLoop();
46 void writePort(pinid_t pin, uint8_t portVal)
override {
47 delegate->writePort(pin, ~portVal);
51 return ~(delegate->readPort(pin));
Provides the core IoAbstraction interface and Arduino implementation of that interface.
BasicIoAbstraction * IoAbstractionRef
Definition BasicIoAbstraction.h:174
Definition BasicIoAbstraction.h:42
void attachInterrupt(pinid_t pin, RawIntHandler interruptHandler, uint8_t mode) override
Definition NegatingIoAbstraction.h:38
uint8_t readValue(pinid_t pin) override
Definition NegatingIoAbstraction.h:34
bool runLoop() override
Definition NegatingIoAbstraction.h:42
void pinDirection(pinid_t pin, uint8_t mode) override
Definition NegatingIoAbstraction.h:26
void writeValue(pinid_t pin, uint8_t value) override
Definition NegatingIoAbstraction.h:30
uint8_t readPort(pinid_t pin) override
Definition NegatingIoAbstraction.h:50
void writePort(pinid_t pin, uint8_t portVal) override
Definition NegatingIoAbstraction.h:46