DatanoiseTV
48c80d81e6
fix(i2c_master): yield from ISR when no matching device is found
...
`i2c_master_isr_handler_default()` may set HPTaskAwoken to pdTRUE via
`xQueueSendFromISR()` (event_queue), `xSemaphoreTakeFromISR()` and
`xSemaphoreGiveFromISR()` on `bus_lock_mux`. When the device list lookup
returns no matching device, the function returned directly, skipping
the `portYIELD_FROM_ISR()` at the bottom of the handler. A higher-
priority task waiting on the bus mux or the event queue would then have
to wait for the next scheduler tick instead of being preempted into
immediately, inflating worst-case event latency.
Replace the early return with a goto to the existing yield check at the
end of the ISR.
Merges https://github.com/espressif/esp-idf/pull/18569
2026-05-27 09:49:34 +08:00
Evgeny Torbin
59f62ad15f
test: format all test scripts
2026-04-17 16:01:00 +02:00
morris
06135ef56c
Merge branch 'fix/i2c_fsm_reset_sequence_v5.3' into 'release/v5.3'
...
fix(i2c): reset master before bus clear on chips without HW FSM reset (v5.3)
See merge request espressif/esp-idf!47510
2026-04-17 16:21:02 +08:00
morris
5f2ec0d750
Merge branch 'fix/i2c_null_check_v5.3' into 'release/v5.3'
...
fix(i2c): add NULL check and correct log (v5.3)
See merge request espressif/esp-idf!46689
2026-04-15 11:08:59 +08:00
Chen Chen
f22dc4828a
docs(i2c): update i2c_master_probe parameter comment
...
closes https://github.com/espressif/esp-idf/issues/18442
2026-04-13 15:13:44 +08:00
Chen Chen
d93f1f5ef6
fix(i2c): reset master before bus clear on chips without HW FSM reset
...
Reorder s_i2c_hw_fsm_reset() so i2c_ll_reset_register and interrupt
masking run before s_i2c_master_clear_bus(). Avoids ISR firing when
i2c_common_set_pins reconnects GPIOs to a stuck FSM (IDFGH-17497).
Closes https://github.com/espressif/esp-idf/issues/18438
Made-with: Cursor
2026-04-13 15:12:38 +08:00
Hu Rui
de40896138
test(i2c): with malloc comes from PSRAM by default
2026-04-01 15:57:19 +08:00
Hu Rui
dfe60c5935
fix(i2c): add NULL check and correct log
2026-04-01 15:54:16 +08:00
Chen Chen
81bd79f7f9
ci(i2c): bypass the know failure case for deprecated driver
2026-03-31 17:14:08 +08:00
Jiang Jiang Jian
e2be25ecc4
Merge branch 'fix/i2c_nack_c5_v5.3' into 'release/v5.3'
...
fix(i2c_master): Fix potential concurrency issue with task and interrupt when nack happens (v5.3)
See merge request espressif/esp-idf!46485
2026-03-25 10:48:56 +08:00
Chen Chen
ffeb869509
ci(i2c): ignore known failure test case for legacy i2c driver
2026-03-23 15:22:27 +08:00
C.S.M
486f843814
fix(i2c_master): Fix concurrency issue with task and interrupt when nack
2026-03-11 17:50:17 +08:00
Xiao Xufeng
dd4de2b171
fix(i2c): fix LOG_LOCAL_LEVEL redefinition error when CONFIG_I2C_ENABLE_DEBUG_LOG is enabled
...
- Move LOG_LOCAL_LEVEL definition before including esp_check.h
- Fixes compilation error: 'LOG_LOCAL_LEVEL' redefined [-Werror]
Closes https://github.com/espressif/esp-idf/issues/17877
2026-02-05 00:42:30 +08:00
Chen Chen
9c5d0446fe
fix(i2c_master): Add i2c master timeout range check
...
Closes https://github.com/espressif/esp-idf/issues/17930
2026-01-07 10:05:23 +08:00
C.S.M
331921744b
fix(i2c): Make i2c nack log as debug level
2025-10-10 18:38:56 +08:00
C.S.M
87c6979b97
fix(i2c): Fix that fsm reset cause i2c scl frequency changed on esp32s2
2025-05-08 13:01:30 +08:00
C.S.M
debbb61451
fix(i2c): Fix some i2c coverity issue
2025-05-08 13:01:30 +08:00
C.S.M
0fdd061500
fix(i2c): I2C should not clear bus in a nack state
2025-05-08 13:01:30 +08:00
C.S.M
31999770a6
fix(i2c): Fix i2c customize only read one byte issue
2025-05-08 13:01:30 +08:00
C.S.M
d5ceed3d96
feat(i2c): Add api for customize i2c transaction interface for un-standard i2c device
2025-05-08 13:01:30 +08:00
C.S.M
6efaf6b85c
fix(i2c_master): Fix the stretch happen cause timeout in probe,
...
Closes https://github.com/espressif/esp-idf/issues/15589
2025-04-15 13:09:12 +08:00
C.S.M
e225e29196
fix(i2c): Fix i2c slave auto selection issue,
...
Closes https://github.com/espressif/esp-idf/issues/15644
2025-04-15 13:09:12 +08:00
C.S.M
3aeeb7585d
fix(i2c): Fix the array size of static operation,
...
Closes https://github.com/espressif/esp-idf/issues/15583
2025-04-15 13:09:12 +08:00
C.S.M
7f37a6fd66
fix(i2c_master): Fix i2c master race condition issue,
...
Closes https://github.com/espressif/esp-idf/issues/15444
2025-04-15 13:09:12 +08:00
C.S.M
385fa9870f
fix(i2c): Add bus handle check so that it will not be panic when there is no free bus,
...
Closes https://github.com/espressif/esp-idf/issues/14819
2024-12-31 12:01:10 +08:00
C.S.M
d4f3c9c0d5
fix(i2c): Enhance lp clock source and avoid deadlock,
...
Closes https://github.com/espressif/esp-idf/issues/14908 ,
Closes https://github.com/espressif/esp-idf/issues/14906
2024-12-30 13:40:37 +08:00
C.S.M
22edfd2021
test(i2c): Support test for esp32p4 lp i2c
2024-10-25 16:09:21 +08:00
C.S.M
3419abf601
fix(i2c_master): Fix the memory leak in the async transaction
2024-10-25 16:08:50 +08:00
C.S.M
399b8b6ef1
feat(i2c_master): Add an api for retrieveing handle via port
2024-10-25 16:06:15 +08:00
C.S.M
189db78bec
fix(i2c): Fix possible error state in clear the bus,
...
Closes https://github.com/espressif/esp-idf/issues/13647
2024-09-12 11:21:08 +08:00
C.S.M
deb91c7abe
fix(i2c_master): Fix an I2C issue that slave streth happen but master timeout set seems doesn't work
...
Closes https://github.com/espressif/esp-idf/issues/14129
Closes https://github.com/espressif/esp-idf/issues/14401
2024-09-12 11:20:46 +08:00
C.S.M
d6162c4a78
fix(i2c): Fix i2c not release semaphore in command send loop,
...
Closes https://github.com/espressif/esp-idf/issues/13962
2024-07-08 15:12:49 +08:00
wuzhenghui
1854036f92
change(esp_hw_support): use union retention link priority definiation
2024-06-13 14:08:37 +08:00
C.S.M
4a94f9b27c
Merge branch 'fix/i2c_pin_short_cut' into 'master'
...
fix(i2c_master): Modify the behavior from ISR WDT to return timeout when circut get shortcut
See merge request espressif/esp-idf!30188
2024-04-15 19:15:35 +08:00
Cao Sen Miao
4ba3a4e482
fix(i2c_master): Fix the issue that probe cannot work properly after a general call,
...
Closes https://github.com/espressif/esp-idf/issues/13547
2024-04-15 11:29:13 +08:00
Cao Sen Miao
a69c6e8f41
fix(i2c_master): Modify the behavior from ISR WDT to return timeout when circut get shortcut,
...
Closes https://github.com/espressif/esp-idf/issues/13587
2024-04-15 11:05:43 +08:00
Lou Tianhao
4061e282dd
draft(i2c): need to support regdma_i2c for esp32c5beta3
2024-04-12 14:14:06 +08:00
Cao Sen Miao
1fe7cc8d13
test(i2c_master): Add test for lp_i2c support in i2c master driver
2024-04-03 11:39:07 +08:00
Cao Sen Miao
0985bfbe27
feat(i2c_master): Add lp_i2c support in i2c master driver
2024-04-03 11:39:04 +08:00
Li Shuai
fc308a4234
change(driver/i2c): modify i2c sleep retention test case to fix memory leakage issue
2024-03-30 11:51:52 +08:00
Li Shuai
91bb0e7276
change(driver/i2c): use new retention api to implement i2c retention
2024-03-30 11:51:52 +08:00
wuzhenghui
38fe4e136a
feat(esp_hw_support): support esp32p4 sleep peripheral retention
2024-03-28 19:18:25 +08:00
morris
c0289ee6eb
fix(drivers): fix typos found by codespell
...
codespell components/esp_driver*
2024-03-28 10:01:27 +08:00
Cao Sen Miao
ede1df51b0
feat(i2c_master): Add parameter to config I2C scl await time
2024-03-27 10:35:11 +08:00
Cao Sen Miao
c0e5f2b73a
fix(i2c_master): Fix issue that i2c clock got wrong after reset,
...
Closes https://github.com/espressif/esp-idf/issues/13397
2024-03-21 13:13:53 +08:00
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
C.S.M
812d197011
Merge branch 'bugfix/i2c_slave_bugs' into 'master'
...
fix(i2c_slave): Fix multiple issues on i2c slave
Closes IDFGH-12343 and IDFGH-12319
See merge request espressif/esp-idf!29566
2024-03-15 19:36:56 +08:00
Cao Sen Miao
60419a4892
fix(i2c_slave): Fixed the isr_flags not really parse to the intr_allocate,
...
Closes https://github.com/espressif/esp-idf/issues/13374
2024-03-15 14:40:55 +08:00
Cao Sen Miao
7b731cae39
fix(i2c_slave): Fix bugs on i2c slave,
...
1. Fixed read data number smaller than master has sent it will fail
2. Disable interrupt when destroy bus
Closes https://github.com/espressif/esp-idf/issues/13354
2024-03-15 14:40:52 +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