From 13a8f5b9774bd665716c4f359ca45d289f9cd8e3 Mon Sep 17 00:00:00 2001 From: mrengineer7777 <44048235+mrengineer7777@users.noreply.github.com> Date: Fri, 7 Jan 2022 09:47:13 -0600 Subject: [PATCH] Fix I2C Slave Compile I2C Slave currently doesn't compile for projects where Arduino is an IDF component. This adds missing conditionals. --- cores/esp32/esp32-hal-i2c-slave.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cores/esp32/esp32-hal-i2c-slave.c b/cores/esp32/esp32-hal-i2c-slave.c index 49da0c82b0d..20686c96420 100644 --- a/cores/esp32/esp32-hal-i2c-slave.c +++ b/cores/esp32/esp32-hal-i2c-slave.c @@ -360,10 +360,12 @@ esp_err_t i2cSlaveDeinit(uint8_t num){ } i2c_slave_struct_t * i2c = &_i2c_bus_array[num]; +#if !CONFIG_DISABLE_HAL_LOCKS if(!i2c->lock){ log_e("Lock is not initialized! Did you call i2c_slave_init()?"); return ESP_ERR_NO_MEM; } +#endif I2C_SLAVE_MUTEX_LOCK(); i2c_slave_free_resources(i2c); I2C_SLAVE_MUTEX_UNLOCK(); @@ -377,10 +379,12 @@ size_t i2cSlaveWrite(uint8_t num, const uint8_t *buf, uint32_t len, uint32_t tim } size_t to_queue = 0, to_fifo = 0; i2c_slave_struct_t * i2c = &_i2c_bus_array[num]; +#if !CONFIG_DISABLE_HAL_LOCKS if(!i2c->lock){ log_e("Lock is not initialized! Did you call i2c_slave_init()?"); return ESP_ERR_NO_MEM; } +#endif if(!i2c->tx_queue){ return 0; }