Commit Graph
55 Commits
Author SHA1 Message Date
Chen Chen bcae0e1c0a docs(i2c): update i2c_master_probe parameter comment
closes https://github.com/espressif/esp-idf/issues/18442
2026-04-13 15:13:50 +08:00
C.S.M c6795167c6 fix(i2c_master): Fix concurrency issue with task and interrupt when nack 2026-04-01 14:58:53 +08:00
Chen Chen b17fe62b8d fix(i2c_master): Add i2c master timeout range check
Closes https://github.com/espressif/esp-idf/issues/17930
2026-01-07 10:09:11 +08:00
C.S.M 4f5001a262 fix(i2c): Make i2c nack log as debug level 2025-07-11 15:51:02 +08:00
C.S.M 6fc4752d26 test(i2c): Add tests for customize i2c usage 2025-05-08 13:24:36 +08:00
C.S.M 11216d293a fix(i2c): Fix that fsm reset cause i2c scl frequency changed on esp32s2 2025-04-29 17:30:34 +08:00
C.S.M 1adcce2520 fix(i2c): Fix some i2c coverity issue 2025-04-29 17:30:34 +08:00
C.S.M 3428659218 fix(i2c): I2C should not clear bus in a nack state 2025-04-29 17:30:34 +08:00
Jonathan Swoboda 271fa78101 fix(i2c): Fix clear bus issue in legacy i2c driver,
Closes https://github.com/espressif/esp-idf/pull/15638
2025-04-29 17:10:07 +08:00
C.S.M 927697c197 fix(i2c_master): Fix the stretch happen cause timeout in probe,
Closes https://github.com/espressif/esp-idf/issues/15589
2025-04-29 17:05:08 +08:00
C.S.M 8e5523cc33 fix(i2c): Fix i2c slave auto selection issue,
Closes https://github.com/espressif/esp-idf/issues/15644
2025-04-29 17:05:06 +08:00
C.S.M 25b6b52734 fix(i2c): Fix the array size of static operation,
Closes https://github.com/espressif/esp-idf/issues/15583
2025-04-29 17:04:04 +08:00
C.S.M 3a9d0e0202 fix(i2c_master): Fix i2c master race condition issue,
Closes https://github.com/espressif/esp-idf/issues/15444
2025-04-29 17:04:04 +08:00
C.S.M 33570df4e4 fix(i2c): Fix i2c customize only read one byte issue 2025-04-10 16:28:36 +08:00
C.S.M 2570f95935 docs(i2c): Add document for customize i2c transaction interface for un-standard i2c device 2025-04-07 15:04:21 +08:00
C.S.M c4edd66f74 feat(i2c): Add api for customize i2c transaction interface for un-standard i2c device 2025-04-07 15:04:21 +08:00
C.S.M 34ab6cc454 fix(i2c): Correct internal function spelling,
Closes https://github.com/espressif/esp-idf/issues/15100
2024-12-30 13:23:22 +08:00
Chen Jichang 94d50d90e2 feat(legacy_driver): add kconfig to skip legacy confilct check 2024-12-12 19:33:59 +08:00
C.S.M bbf2908b54 fix(i2c_master): Fix the memory leak in the async transaction 2024-10-25 16:26:31 +08:00
C.S.M cecfd7a4a0 feat(i2c_master): Add an api for retrieveing handle via port 2024-10-25 16:26:05 +08:00
C.S.M fdc5fa2931 fix(i2c): Fix possible error state in clear the bus,
Closes https://github.com/espressif/esp-idf/issues/13647
2024-09-12 11:56:51 +08:00
C.S.M 6adee5052f 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:56:51 +08:00
C.S.M 4ce9b783f3 fix(i2c): Fix i2c not release semaphore in command send loop 2024-07-04 12:29:05 +08:00
Cao Sen Miao a44f8179de refactor(i2c): Add reset and clock control to i2c ll layer 2024-07-04 12:29:05 +08:00
Cao Sen Miao 5847ba0b9a 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-07-04 12:29:05 +08:00
Cao Sen Miao 34abdaea46 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-07-04 12:29:05 +08:00
Omar Chebib dcc7a41ad8 fix(i2c): fix issues related to timeout and alive interval tick
Fixes https://github.com/espressif/esp-idf/issues/4999

Former usage of I2C_CMD_ALIVE_INTERVAL_TICK macro overrode the ticks_to_wait
parameter when the latter was too big
2024-04-17 15:52:56 +08:00
morris f2fd239471 Merge branch 'bugfix/i2c_slave_bugs_v5.2' into 'release/v5.2'
fix(i2c_slave): Fix multiple issues on i2c slave (backport v5.2)

See merge request espressif/esp-idf!30073
2024-04-07 18:38:06 +08:00
Cao Sen Miao b8855fbd03 fix(i2c_slave): Fixed the isr_flags not really parse to the intr_allocate,
Closes https://github.com/espressif/esp-idf/issues/13374
2024-04-07 15:18:06 +08:00
Cao Sen Miao 3ac6c10d11 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-04-07 15:17:48 +08:00
Cao Sen Miao 7c233ebc80 feat(i2c_master): Add parameter to config I2C scl await time 2024-04-07 15:06:31 +08:00
Cao Sen Miao ae94c0134b fix(i2c_master): Fix issue that i2c clock got wrong after reset,
Closes https://github.com/espressif/esp-idf/issues/13397
2024-04-01 10:55:39 +08:00
Cao Sen Miao 2291ded9a1 fix(i2c): Use hardware fsm reset on esp32c6/h2/p4 2024-04-01 10:15:50 +08:00
Cao Sen Miao 90afc33cd8 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-04-01 10:15:47 +08:00
Cao Sen Miao 8567102be4 fix(i2c_master): Fix issue that use callback may cause memory leak,
Closes https://github.com/espressif/esp-idf/issues/12878
2024-04-01 10:15:45 +08:00
Cao Sen Miao f93ebedcb6 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-04-01 10:15:42 +08:00
Eric Wheeler 27690e0990 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-04-01 10:15:39 +08:00
Cao Sen Miao 715ee3576e fix(i2c_master): Fix bug on esp32 that read one byte data fails 2024-02-21 18:42:21 +08:00
Jiang Jiang Jian c3b7aa76d9 Merge branch 'change/add_scl_check_v5.2' into 'release/v5.2'
change(i2c): Add check for scl frequency for master_bus_add_device(backport v5.2)

See merge request espressif/esp-idf!27662
2023-12-26 10:34:00 +08:00
Vikram Dattu 504c6a09e1 fix(docs): fixed doxygen warnings in few headers
- non-matching arguments in `i2c_types.h` and `esp_wifi_crypto_types.h`
 - Fixed unended `@cond` macro in `esp_err.h`
2023-12-19 13:12:28 +05:30
Cao Sen Miao 1625943486 change(i2c): Add check for scl frequency for master_bus_add_device
Closes https://github.com/espressif/esp-idf/issues/12598
2023-12-05 13:36:39 +08:00
Cao Sen Miao 9d3d9d16f0 docs(i2c): Modify some variables in I2C driver for good docs 2023-11-08 10:48:48 +08:00
Cao Sen Miao 8d639492f2 feat(i2c_slave): Add new implementation and API for I2C slave 2023-10-24 18:44:49 +08:00
Cao Sen Miao c7740b4c2b fix(i2c_master): Fix I2C new master cannot continously probe 2023-09-05 12:27:18 +08:00
Cao Sen Miao 6e3e923290 fix(i2c_master): Fix issue that i2c master probe device failed,
Closes https://github.com/espressif/esp-idf/issues/12159
2023-09-01 10:00:46 +08:00
Cao Sen Miao 0f8e60368c fix(i2c_master): Add doc for internal pull-ups 2023-08-16 18:05:10 +08:00
Cao Sen Miao 317da3ffaf fix(i2c_master): Fix some static issue checked by coverity 2023-08-16 10:43:18 +08:00
Cao Sen Miao 4ef94fc0dc feat(i2c): Add new API and implementation for I2C driver 2023-08-10 11:55:54 +08:00
Darian Leung 9ed58bf564 feat(driver): updated drivers to use CreateWithCaps() API
This commit simplifies various drivers by using the ...CreateWithCaps() API
when creating driver objects in internal RAM.
2023-08-08 04:26:42 +00:00
Darian Leung 6fc935e584 refactor(freertos): Refactor usage of portBASE_TYPE to BaseType_t
portBASE_TYPE is an internal macro defined by the porting layer. This commit
changes all references to BaseType_t which is the official type exposed by
FreeRTOS.
2023-07-31 17:10:34 +02:00