#include #include #include #include #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "esp_log.h" #include "driver/i2c_master.h" #include "mpr121.h" void i2c_setRegister(MPR121_t * dev, uint8_t reg, uint8_t value) { uint8_t out_buf[2]; out_buf[0] = reg; out_buf[1] = value; esp_err_t espRc = i2c_master_transmit(dev->_i2c_dev_handle, out_buf, 2, I2C_TICKS_TO_WAIT); if (espRc == ESP_OK) { ESP_LOGD(__FUNCTION__, "setRegister reg=0x%02x value=0x%02x successfully", reg, value); dev->error &= ~(1<error |= 1<_i2c_dev_handle, out_buf, 1, in_buf, 1, -1); if (espRc == ESP_OK) { dev->error &= ~(1<error |= 1<_address, .scl_speed_hz = I2C_MASTER_FREQ_HZ, }; i2c_master_dev_handle_t i2c_dev_handle; ESP_ERROR_CHECK(i2c_master_bus_add_device(i2c_bus_handle, &dev_cfg, &i2c_dev_handle)); dev->_i2c_bus_handle = i2c_bus_handle; dev->_i2c_dev_handle = i2c_dev_handle; ESP_LOGI(__FUNCTION__, "New i2c driver installed"); }