6 #include "driver/i2c.h" 13 ESP_ERROR_CHECK(i2c_param_config(i2c_num, i2c_conf));
14 ESP_ERROR_CHECK(i2c_driver_install(i2c_num, I2C_MODE_MASTER, 0, 0, ESP_INTR_FLAG_IRAM));
19 ESP_ERROR_CHECK(i2c_driver_delete(
i2c_num));
25 ESP_ERROR_CHECK(i2c_master_write_byte(
i2c_cmd_handler, (address << 1) | I2C_MASTER_WRITE, I2C_MASTER_ACK));
26 ESP_ERROR_CHECK(i2c_master_write_byte(
i2c_cmd_handler, (uint8_t) reg, I2C_MASTER_ACK));
27 ESP_ERROR_CHECK(i2c_master_write(
i2c_cmd_handler, data, data_size, I2C_MASTER_ACK));
33 case ESP_ERR_INVALID_ARG:
37 case ESP_ERR_INVALID_STATE:
47 ESP_ERROR_CHECK(i2c_master_write_byte(
i2c_cmd_handler, (address << 1) | I2C_MASTER_WRITE, I2C_MASTER_ACK));
48 ESP_ERROR_CHECK(i2c_master_write_byte(
i2c_cmd_handler, (uint8_t) reg, I2C_MASTER_ACK));
50 ESP_ERROR_CHECK(i2c_master_write_byte(
i2c_cmd_handler, (address << 1) | I2C_MASTER_READ,
true));
51 ESP_ERROR_CHECK(i2c_master_read(
i2c_cmd_handler, buffer, buffer_size, I2C_MASTER_ACK));
57 case ESP_ERR_INVALID_ARG:
61 case ESP_ERR_INVALID_STATE:
err_t _write(uint8_t address, uint8_t reg, uint8_t *data, size_t data_size) override
ESP32_I2C_master(i2c_port_t i2c_num, const i2c_config_t *i2c_conf)
err_t _read(uint8_t address, uint8_t reg, uint8_t *buffer, size_t buffer_size) override
i2c_cmd_handle_t i2c_cmd_handler