summaryrefslogtreecommitdiff
path: root/src/drivers/i2c.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/i2c.cpp')
-rw-r--r--src/drivers/i2c.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/drivers/i2c.cpp b/src/drivers/i2c.cpp
index 04a6d7d1..6c6fc407 100644
--- a/src/drivers/i2c.cpp
+++ b/src/drivers/i2c.cpp
@@ -9,8 +9,8 @@
namespace drivers {
static const i2c_port_t kI2CPort = I2C_NUM_0;
-static const gpio_num_t kI2CSdaPin = GPIO_NUM_2;
-static const gpio_num_t kI2CSclPin = GPIO_NUM_4;
+static const gpio_num_t kI2CSdaPin = GPIO_NUM_4;
+static const gpio_num_t kI2CSclPin = GPIO_NUM_2;
static const uint32_t kI2CClkSpeed = 400'000;
static constexpr int kCmdLinkSize = I2C_LINK_RECOMMENDED_SIZE(12);
@@ -36,6 +36,9 @@ esp_err_t init_i2c(void) {
if (esp_err_t err = i2c_driver_install(kI2CPort, config.mode, 0, 0, 0)) {
return err;
}
+ if (esp_err_t err = i2c_set_timeout(kI2CPort, 400000)) {
+ return err;
+ }
// TODO: INT line
@@ -57,8 +60,8 @@ I2CTransaction::~I2CTransaction() {
free(buffer_);
}
-esp_err_t I2CTransaction::Execute() {
- return i2c_master_cmd_begin(I2C_NUM_0, handle_, kI2CTimeout);
+esp_err_t I2CTransaction::Execute(uint8_t port) {
+ return i2c_master_cmd_begin(port, handle_, kI2CTimeout);
}
I2CTransaction& I2CTransaction::start() {