supla-device
Loading...
Searching...
No Matches
Supla::Io::MCP23017 Class Reference
Inheritance diagram for Supla::Io::MCP23017:
Collaboration diagram for Supla::Io::MCP23017:

Public Member Functions

 MCP23017 (uint8_t address=0x20, Supla::Mutex *mutex=nullptr, TwoWire *wire=&Wire, bool pullUp=false)
void onInit ()
 Third method called on element in SuplaDevice.begin().
void customPinMode (int channelNumber, uint8_t pin, uint8_t mode) override
void customDigitalWrite (int channelNumber, uint8_t pin, uint8_t val) override
int customDigitalRead (int channelNumber, uint8_t pin) override
unsigned int customPulseIn (int channelNumber, uint8_t pin, uint8_t value, uint64_t timeoutMicro) override
void customAnalogWrite (int channelNumber, uint8_t pin, int val) override
int customAnalogRead (int channelNumber, uint8_t pin) override
void onTimer () override
 Method called on timer interupt.
void read16FromMCP ()
void write16ToMCP ()
Public Member Functions inherited from Supla::Io::Base
 Base (bool useAsSingleton=true)
virtual bool isReady () const
virtual void customAttachInterrupt (uint8_t pin, void(*func)(void), int mode)
virtual void customDetachInterrupt (uint8_t pin)
virtual uint8_t customPinToInterrupt (uint8_t pin)

Protected Attributes

::MCP23017 mcp_
uint16_t outState_ = 0
uint16_t inState_ = 0
uint16_t lastOutState_ = 0
Supla::Mutexmutex_ = nullptr

Additional Inherited Members

Static Public Attributes inherited from Supla::Io::Base
static Base * ioInstance = nullptr

Member Function Documentation

◆ customAnalogRead()

int Supla::Io::MCP23017::customAnalogRead ( int channelNumber,
uint8_t pin )
inlineoverridevirtual

Reimplemented from Supla::Io::Base.

◆ customAnalogWrite()

void Supla::Io::MCP23017::customAnalogWrite ( int channelNumber,
uint8_t pin,
int val )
inlineoverridevirtual

Reimplemented from Supla::Io::Base.

◆ customDigitalRead()

int Supla::Io::MCP23017::customDigitalRead ( int channelNumber,
uint8_t pin )
inlineoverridevirtual

Reimplemented from Supla::Io::Base.

◆ customDigitalWrite()

void Supla::Io::MCP23017::customDigitalWrite ( int channelNumber,
uint8_t pin,
uint8_t val )
inlineoverridevirtual

Reimplemented from Supla::Io::Base.

◆ customPinMode()

void Supla::Io::MCP23017::customPinMode ( int channelNumber,
uint8_t pin,
uint8_t mode )
inlineoverridevirtual

Reimplemented from Supla::Io::Base.

◆ customPulseIn()

unsigned int Supla::Io::MCP23017::customPulseIn ( int channelNumber,
uint8_t pin,
uint8_t value,
uint64_t timeoutMicro )
inlineoverridevirtual

Reimplemented from Supla::Io::Base.

◆ onInit()

void Supla::Io::MCP23017::onInit ( )
inlinevirtual

Third method called on element in SuplaDevice.begin().

Method called during SuplaDevice initialization. I.e. load initial state, initialize pins etc.

Reimplemented from Supla::Element.

◆ onTimer()

void Supla::Io::MCP23017::onTimer ( )
inlineoverridevirtual

Method called on timer interupt.

It should provide all actions that have to be executed periodically regardless of other SuplaDevice activities. It is usually called every 10 ms.

Reimplemented from Supla::Element.


The documentation for this class was generated from the following file: