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
virtual bool isReady () const
virtual void customSetPwmResolutionBits (uint8_t pin, uint8_t resolutionBits)
virtual void customConfigureAnalogOutput (int channelNumber, uint8_t pin, bool outputInvert=false)
virtual void customSetPwmFrequency (uint16_t pwmFrequency)
virtual uint8_t customDefaultPwmResolutionBits (uint8_t pin) const
virtual bool customCanSetPwmResolutionBits (uint8_t pin) const
virtual uint8_t customPwmResolutionBits (uint8_t pin) const
virtual uint32_t customPwmMaxValue (uint8_t pin) const
virtual uint16_t customPwmFrequency () 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

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: