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
AdafruitPCF8574ExpanderAdapter Class Reference

Description

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

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

#include <AdafruitPCF8574ExpanderAdapter.h>

Inheritance diagram for AdafruitPCF8574ExpanderAdapter:
Inheritance graph
[legend]

Public Member Functions

 AdafruitPCF8574ExpanderAdapter ()
 Construct a AdafruitPCF8574ExpanderAdapter. An Adafruit_PCF8574 instance will be created for you.
 
 AdafruitPCF8574ExpanderAdapter (Adafruit_PCF8574 &_pcf)
 Construct a AdafruitPCF8574ExpanderAdapter with an already created Adafruit_PCF8574 instance. More...
 
void begin () override
 The default begin for a GPIOExpanderAdapter will use the default I2C address for the PCF8574. More...
 
bool begin (uint8_t i2c_addr, TwoWire *wire=&Wire)
 Use this method instead of the default begin() to specify a different I2C addreess and optional Wire. 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 PCF8574 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

◆ AdafruitPCF8574ExpanderAdapter()

AdafruitPCF8574ExpanderAdapter::AdafruitPCF8574ExpanderAdapter ( Adafruit_PCF8574 &  _pcf)
inline

Construct a AdafruitPCF8574ExpanderAdapter with an already created Adafruit_PCF8574 instance.

Parameters
_pcf

Member Function Documentation

◆ attachPin()

void AdafruitPCF8574ExpanderAdapter::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 AdafruitPCF8574ExpanderAdapter::begin ( )
inlineoverridevirtual

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

Implements GpioExpanderAdapter.

◆ begin() [2/2]

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

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

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

◆ canWrite()

bool AdafruitPCF8574ExpanderAdapter::canWrite ( )
inline

The PCF8574 can write a pins state.

Returns
true

◆ read()

bool AdafruitPCF8574ExpanderAdapter::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 AdafruitPCF8574ExpanderAdapter::update ( )
inlineoverridevirtual

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

Implements GpioExpanderAdapter.

◆ updateAndRead()

bool AdafruitPCF8574ExpanderAdapter::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 AdafruitPCF8574ExpanderAdapter::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: