17 #ifndef _ADAFRUIT_AW9523_H 18 #define _ADAFRUIT_AW9523_H 21 #include <Adafruit_I2CDevice.h> 22 #include <Adafruit_I2CRegister.h> 24 #define AW9523_DEFAULT_ADDR 0x58 26 #define AW9523_LED_MODE 0x99 28 #define AW9523_REG_CHIPID 0x10 29 #define AW9523_REG_SOFTRESET 0x7F 30 #define AW9523_REG_INPUT0 0x00 31 #define AW9523_REG_OUTPUT0 0x02 32 #define AW9523_REG_CONFIG0 0x04 33 #define AW9523_REG_INTENABLE0 0x06 34 #define AW9523_REG_GCR 0x11 35 #define AW9523_REG_LEDMODE 0x12 58 void pinMode(uint8_t pin, uint8_t mode);
uint16_t inputGPIO(void)
Reads input value (1 == high) for all 16 GPIO.
Definition: Adafruit_AW9523.cpp:112
void pinMode(uint8_t pin, uint8_t mode)
Sets pin mode / direction for one pin.
Definition: Adafruit_AW9523.cpp:253
void enableInterrupt(uint8_t pin, bool en)
Sets interrupt enable for one pin.
Definition: Adafruit_AW9523.cpp:238
#define AW9523_DEFAULT_ADDR
The default I2C address for our breakout.
Definition: Adafruit_AW9523.h:24
void digitalWrite(uint8_t pin, bool val)
Sets digital output for one pin.
Definition: Adafruit_AW9523.cpp:210
bool outputGPIO(uint16_t pins)
Sets output value (1 == high) for all 16 GPIO.
Definition: Adafruit_AW9523.cpp:93
bool reset(void)
Perform a soft reset over I2C.
Definition: Adafruit_AW9523.cpp:82
bool configureDirection(uint16_t pins)
Sets direction for all 16 GPIO, 1 == output, 0 == input.
Definition: Adafruit_AW9523.cpp:145
Class that stores state and functions for interacting with the AW9523 I2C GPIO expander.
Definition: Adafruit_AW9523.h:41
bool openDrainPort0(bool od)
Turns on/off open drain output for ALL port 0 pins (GPIO 0-7)
Definition: Adafruit_AW9523.cpp:286
bool configureLEDMode(uint16_t pins)
Sets constant-current mode for all 16 GPIO.
Definition: Adafruit_AW9523.cpp:165
bool digitalRead(uint8_t pin)
Reads digital input for one pin.
Definition: Adafruit_AW9523.cpp:224
void analogWrite(uint8_t pin, uint8_t val)
Sets constant-current setting for one pin.
Definition: Adafruit_AW9523.cpp:186
bool begin(uint8_t address=AW9523_DEFAULT_ADDR, TwoWire *wire=&Wire)
Sets up the hardware and initializes I2C.
Definition: Adafruit_AW9523.cpp:51
bool interruptEnableGPIO(uint16_t pins)
Sets interrupt watch for all 16 GPIO, 1 == enabled.
Definition: Adafruit_AW9523.cpp:126
Adafruit_AW9523()
Instantiates a new AW9523 class.
Definition: Adafruit_AW9523.cpp:40
Adafruit_I2CDevice * i2c_dev
Pointer to I2C bus interface.
Definition: Adafruit_AW9523.h:65