Fix onRequest being called for every slave address (#6649)

Fixes: https://github.com/espressif/arduino-esp32/issues/5907
This commit is contained in:
Me No Dev
2022-04-28 02:31:32 +03:00
committed by GitHub
parent 384dbc2081
commit 51bf1832b8

View File

@ -719,10 +719,12 @@ static void i2c_slave_isr_handler(void* arg)
}
if(slave_rw){ // READ
#if CONFIG_IDF_TARGET_ESP32
//SEND TX Event
i2c_slave_queue_event_t event;
event.event = I2C_SLAVE_EVT_TX;
pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event);
if(i2c->dev->status_reg.scl_main_state_last == 6){
//SEND TX Event
i2c_slave_queue_event_t event;
event.event = I2C_SLAVE_EVT_TX;
pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event);
}
#else
//reset TX data
i2c_ll_txfifo_rst(i2c->dev);