OVMS3-idf/components/driver
chuck todd 3a9c713748 1. Slow down I2C to 100khz During Reset
I am stealing this delay coding from @jeremyherbert #2493 pr.

2. Change Bus Reset to handle interrupted READ sequences.

The current code does not handle interrupted READ cycles.

 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.

3. fix typo

correct `sda_id` to `sda_io` in `i2c_master_clear_bus()` @ryan-ma found it.  This typo was generated when I manually edited this patch on GitHub, I should have done a Copy/Paste operation!
2019-01-22 13:48:23 +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 1. Slow down I2C to 100khz During Reset 2019-01-22 13:48:23 +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