InputEvents v1.5.2
An easy to use but comprehensive Event Library for Buttons, Encoders, Encoder Buttons, Analog Inputs, Joysticks and Switches.
Public Member Functions | List of all members
AdafruitPCF8575ExpanderAdapter Class Reference

Description

An implementation of the GpioExpanderAdapter For Adafruit's PCF8575 library.

Details: https://learn.adafruit.com/adafruit-pcf8575

#include <AdafruitPCF8575ExpanderAdapter.h>

Inheritance diagram for AdafruitPCF8575ExpanderAdapter:
Inheritance graph
[legend]

Public Member Functions

 AdafruitPCF8575ExpanderAdapter ()
 Construct a AdafruitPCF8575ExpanderAdapter. An Adafruit_PCF8575 instance will be created for you.
 
 AdafruitPCF8575ExpanderAdapter (Adafruit_PCF8575 &_pcf)
 Construct a AdafruitPCF8575ExpanderAdapter with an already created Adafruit_PCF8575 instance. More...
 
void begin () override
 The default begin for a GPIOExpanderAdapter will use the default I2C address for the PCF8575. More...
 
bool begin (uint8_t i2c_addr, TwoWire *wire=&Wire)
 Use this method instead of the default begin() to specify a different I2C addreess. More...
 
void update () override
 Update the state of all input pins (called from loop() before updating EventButtons) More...
 
void attachPin (byte pin, int mode=INPUT_PULLUP) override
 Attach a pin and set its pin mode. More...
 
bool read (byte pin) override
 Returns the state of a pin on the expander. More...
 
bool updateAndRead (byte pin)
 Update the expander over I2C and return a pin state. Not recommended, use a single uptate() and then multiple pin read()s in loop(). More...
 
void write (byte pin, bool state)
 Write bool state to a pin. More...
 
bool canWrite ()
 The PCF8575 can write a pins state. More...
 
- Public Member Functions inherited from GpioExpanderAdapter
virtual void begin ()=0
 Initialize the expander. (Idempotent) More...
 
virtual void update ()=0
 Read the state of all pins on the expander. More...
 
virtual bool read (byte pin)=0
 Returns the state of a pin on the expander. More...
 
virtual void attachPin (byte pin, int mode=INPUT_PULLUP)=0
 Use it to configure individual pin mode, if expander allows it. Not all of them do. More...
 
void write (byte pin, bool state)
 Optionally implemented by concrete GpioExpanderAdapters if they support writing to pins. More...
 
bool canWrite ()
 Returns true if the concrete GpioExpanderAdapter has implemented the write() method. More...
 

Constructor & Destructor Documentation

◆ AdafruitPCF8575ExpanderAdapter()

AdafruitPCF8575ExpanderAdapter::AdafruitPCF8575ExpanderAdapter ( Adafruit_PCF8575 &  _pcf)
inline

Construct a AdafruitPCF8575ExpanderAdapter with an already created Adafruit_PCF8575 instance.

Parameters
_pcf

Member Function Documentation

◆ attachPin()

void AdafruitPCF8575ExpanderAdapter::attachPin ( byte  pin,
int  mode = INPUT_PULLUP 
)
inlineoverridevirtual

Attach a pin and set its pin mode.

Parameters
pinThe pin number on the expander
modeDefault INPUT_PULLUP

Implements GpioExpanderAdapter.

◆ begin() [1/2]

void AdafruitPCF8575ExpanderAdapter::begin ( )
inlineoverridevirtual

The default begin for a GPIOExpanderAdapter will use the default I2C address for the PCF8575.

Implements GpioExpanderAdapter.

◆ begin() [2/2]

bool AdafruitPCF8575ExpanderAdapter::begin ( uint8_t  i2c_addr,
TwoWire *  wire = &Wire 
)
inline

Use this method instead of the default begin() to specify a different I2C addreess.

Parameters
i2c_addrThe I2C address to use for the PCF8575
wireOptional
Returns
true
false

◆ canWrite()

bool AdafruitPCF8575ExpanderAdapter::canWrite ( )
inline

The PCF8575 can write a pins state.

Returns
true

◆ read()

bool AdafruitPCF8575ExpanderAdapter::read ( byte  pin)
inlineoverridevirtual

Returns the state of a pin on the expander.

Parameters
pinThe pin number on the expander board
Returns
true/HIGH
false/LOW

Implements GpioExpanderAdapter.

◆ update()

void AdafruitPCF8575ExpanderAdapter::update ( )
inlineoverridevirtual

Update the state of all input pins (called from loop() before updating EventButtons)

Implements GpioExpanderAdapter.

◆ updateAndRead()

bool AdafruitPCF8575ExpanderAdapter::updateAndRead ( byte  pin)
inline

Update the expander over I2C and return a pin state. Not recommended, use a single uptate() and then multiple pin read()s in loop().

Parameters
pinThe pin number on the expander board
Returns
true/HIGH
false/LOW

◆ write()

void AdafruitPCF8575ExpanderAdapter::write ( byte  pin,
bool  state 
)
inline

Write bool state to a pin.

Sets the pin state directlu over I2C

Parameters
pinThe pin number on the expander
statetrue/false or HIGH/LOW

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