7 Commits

Author SHA1 Message Date
Cao Sen Miao
016877b7ce fix(i2c_master): Fix issue that initialize esp32 and using i2c_master_probe issue,
and probe might failed.
Fixed I2C cannot return err code when nack detected
Closes https://github.com/espressif/esp-idf/issues/13213,
Closes https://github.com/espressif/esp-idf/issues/12929,
Closes https://github.com/espressif/esp-idf/issues/13398,
2024-03-19 11:07:13 +08:00
Eric Wheeler
6e1bba7430 fix(i2c_master): fix deadlock on s_i2c_transaction_start failure
As pointed out in PR #13134 by @MatthiasKunnen, there is a deadlock in
`s_i2c_synchronous_transaction()` if `s_i2c_transaction_start()` should fail
because, on error, s_i2c_synchronous_transaction() returns before releasing the
lock.

This commit fixes the deadlock without any other changes.

Closes: #13387

Signed-off-by: Eric Wheeler <esp-idf@z.ewheeler.org>
2024-03-15 14:13:13 +08:00
Cao Sen Miao
1517d61add fix(i2c): Fix I2C synchronous transaction cost so much CPU source,
Closes https://github.com/espressif/esp-idf/issues/13137,
Closes https://github.com/espressif/esp-idf/pull/13322
2024-03-07 17:51:23 +08:00
Cao Sen Miao
1e3ffdf628 fix(i2c_master): Fix bug on esp32 that read one byte data fails 2024-01-22 11:13:10 +08:00
Cao Sen Miao
0bf2b35b33 fix(i2c): Use hardware fsm reset on esp32c6/h2/p4 2024-01-16 10:05:05 +08:00
Cao Sen Miao
85d0fdabde fix(i2c_master): Fix issue that use callback may cause memory leak,
Closes https://github.com/espressif/esp-idf/issues/12878
2024-01-15 19:09:07 +08:00
Cao Sen Miao
aa10770323 refactor(i2c): Make i2c driver as a seperate component 2023-12-14 15:39:35 +08:00