pcf8575 - Driver for PCF8575 16-bit I/O expander for I2C-bus

group pcf8575

ESP-IDF driver for PCF8575 remote 16-bit I/O expander for I2C-bus.

Copyright (c) 2019 Ruslan V. Uss unclerus@gmail.com

MIT Licensed as described in the file LICENSE

Defines

PCF8575_I2C_ADDR_BASE

Functions

esp_err_t pcf8575_init_desc(i2c_dev_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)

Initialize device descriptor.

Default SCL frequency is 400kHz

Parameters:
  • dev – Pointer to I2C device descriptor

  • port – I2C port number

  • addr – I2C address (0b0100<A2><A1><A0> for PCF8575)

  • sda_gpio – SDA GPIO

  • scl_gpio – SCL GPIO

Returns:

ESP_OK on success

esp_err_t pcf8575_free_desc(i2c_dev_t *dev)

Free device descriptor.

Parameters:

dev – Pointer to I2C device descriptor

Returns:

ESP_OK on success

esp_err_t pcf8575_port_read(i2c_dev_t *dev, uint16_t *val)

Read GPIO port value.

Parameters:
  • dev – Pointer to I2C device descriptor

  • val – 8-bit GPIO port value

Returns:

ESP_OK on success

esp_err_t pcf8575_port_write(i2c_dev_t *dev, uint16_t value)

Write value to GPIO port.

Parameters:
  • dev – Pointer to I2C device descriptor

  • value – GPIO port value

Returns:

ESP_OK on success