esp-idf/components/driver
Wangjialin c3bd2a7539 bugfix(i2c): reduce speed of I2C master bus reset routine and release SDA
closes https://github.com/espressif/esp-idf/issues/2494
closes https://github.com/espressif/esp-idf/pull/2493
closes https://github.com/espressif/esp-idf/pull/2496

1. Change bus reset to handle interrupted READ sequences.
2. Slow down I2C to 100khz during reset
3. If a SLAVE device was in a read operation when the bus was interrupted, the SLAVE device is controlling SDA.The only bit during the 9 clock cycles of a byte READ the MASTER(ESP32) is guaranteed control over, is during the ACK bit period.
If the SLAVE is sending a stream of ZERO bytes, it will only release SDA during the ACK bit period. The master(ESP32) cannot generate a STOP unless SDA is HIGH. So, this reset code synchronizes the bit stream with, Either, the ACK bit, Or a 1 bit.
2019-01-22 13:48:37 +08:00
..
include/driver spi: fix the crash when callbacks are not in the IRAM 2018-12-05 10:25:57 +08:00
test unit tests: Only initialise tcpip_adapter() when needed by the test 2018-12-28 09:56:15 +08:00
adc1_i2s_private.h driver(i2s): fix broken i2s adc mode 2018-02-07 17:17:20 +08:00
CMakeLists.txt cmake: make main a component again 2018-09-13 11:13:27 +08:00
component.mk build system: Refactor component.mk to not need component_common.mk 2016-11-10 15:52:22 +11:00
gpio.c gpio: Bitmask overflow fix in gpio_reset_pin 2018-08-14 04:23:56 +03:00
i2c.c bugfix(i2c): reduce speed of I2C master bus reset routine and release SDA 2019-01-22 13:48:37 +08:00
i2s.c fix i2s mix result and error code 2018-05-17 10:59:04 +08:00
Kconfig spi: fix the crash when callbacks are not in the IRAM 2018-12-05 10:25:57 +08:00
ledc.c bugfix(ledc): fix bugs reported from unit-test and github. 2018-07-24 13:22:50 +08:00
mcpwm.c feature: add Motor Control PWM(mcpwm) driver 2017-05-12 15:47:59 +08:00
pcnt.c Add some comments in pcnt.h. 2018-07-24 10:46:50 +08:00
periph_ctrl.c aes/sha/mpi: Bugfix a use of shared registers. 2018-11-26 02:42:37 +00:00
rmt.c Modify the rmt_mem_num maximum limit value from 15 to 8. 2018-07-18 16:33:45 +08:00
rtc_module.c Merge branch 'bugfix/add_mutex_for_some_touchpad_apis_v3.1' into 'release/v3.1' 2018-08-10 12:18:33 +08:00
sdio_slave.c sdio_slave: fix the ret_queue crash issue when being reset by the master 2018-09-27 21:33:45 +08:00
sdmmc_host.c fix(sdmmc): disable all pulldowns used by sdmmc host 2018-08-03 11:03:25 +08:00
sdmmc_private.h sdmmc: add peripheral driver and protocol layer 2017-01-09 04:51:24 +08:00
sdmmc_transaction.c sdmmc: enable host auto_stop only for certain commands 2018-07-19 10:23:58 +03:00
sdspi_crc.c driver: SD protocol driver for SPI peripheral 2017-07-20 13:43:07 +08:00
sdspi_crc.h driver: SD protocol driver for SPI peripheral 2017-07-20 13:43:07 +08:00
sdspi_host.c sdspi: handle delayed responses for data write commands 2018-04-26 10:04:44 +08:00
sdspi_private.h sdmmc: improve error handling during SPI mode init 2018-04-11 11:11:17 +08:00
sdspi_transaction.c sdmmc: improve error handling during SPI mode init 2018-04-11 11:11:17 +08:00
sigmadelta.c components/driver: 'const' all config calls. 2017-04-13 18:33:33 +01:00
spi_common.c spi: move gpio direction config to common func for coinsistence 2018-10-08 19:19:47 +08:00
spi_master.c spi: fix the crash when callbacks are not in the IRAM 2018-12-05 10:25:57 +08:00
spi_slave.c spi: fix the crash when callbacks are not in the IRAM 2018-12-05 10:25:57 +08:00
timer.c Timer API docs update, refactored example 2017-10-27 07:13:59 +02:00
uart.c driver(uart): fixed uart read error bug when using dual core for release/v3.1. 2018-11-28 16:46:23 +08:00