Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 51bf183

Browse files
Fix onRequest being called for every slave address (#6649)
Fixes: #5907
1 parent 384dbc2 commit 51bf183

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

‎cores/esp32/esp32-hal-i2c-slave.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -719,10 +719,12 @@ static void i2c_slave_isr_handler(void* arg)
719719
}
720720
if(slave_rw){ // READ
721721
#if CONFIG_IDF_TARGET_ESP32
722-
//SEND TX Event
723-
i2c_slave_queue_event_t event;
724-
event.event = I2C_SLAVE_EVT_TX;
725-
pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event);
722+
if(i2c->dev->status_reg.scl_main_state_last == 6){
723+
//SEND TX Event
724+
i2c_slave_queue_event_t event;
725+
event.event = I2C_SLAVE_EVT_TX;
726+
pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event);
727+
}
726728
#else
727729
//reset TX data
728730
i2c_ll_txfifo_rst(i2c->dev);

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /