arduino-esp32/cores/esp32
chuck todd 9a7946e685 I2C fix READ of zero bytes hardware hang (#2301)
The i2c peripheral will hang if a READ request is issued with a zero data length.  The peripheral
drops into a continuous timeout interrupt response.  The STOP command can not be set out to the I2C
bus. The SLAVE device correctly ACK'd the address byte, with READ bit set, it has control of the SDA
 pin.  The ESP32 send out the next SCL HIGH pulse but, since the SLAVE is in READ Mode, and the First
bit it is sending happened to be a ZERO, the ESP32 cannot send the STOP.  When it releases SDA during
the SCL HIGH, the pin does not change state.  The pin stays low because the SLAVE is outputing a LOW!
The ESP32 drops into a perminent WAIT state waiting for SDA to go HIGH (the STOP).

**esp32-hal-i2c.c**
* add databuff length checks to `i2cRead()` and `i2cWrite()`
2019-01-10 21:37:13 +01:00
..
apps/sntp Update IDF to 3.2-3276a13 and esptool.py to 2.5.0 (#1878) 2018-09-21 08:39:36 +02:00
libb64 use libbase64 macro to calculate base64 length (#2007) 2018-11-19 17:01:38 +01:00
Arduino.h cores: replace max, min, round macros with imports from std (#1783) 2018-09-17 21:33:01 +02:00
base64.cpp use libbase64 macro to calculate base64 length (#2007) 2018-11-19 17:01:38 +01:00
base64.h Convert the few remaining cr/lf files to use lf for eol. (#1316) 2018-04-16 16:34:39 +02:00
binary.h initial import 2016-10-06 07:09:44 -06:00
cbuf.cpp Fix cbuf not being able to hold the full length 2017-01-24 17:57:44 +02:00
cbuf.h initial import 2016-10-06 07:09:44 -06:00
Client.h initial import 2016-10-06 07:09:44 -06:00
esp32-hal-adc.c Add Arduino SAM compatible analogReadResolution and Non-Blocking ADC api 2017-03-03 15:53:20 +02:00
esp32-hal-adc.h Add Arduino SAM compatible analogReadResolution and Non-Blocking ADC api 2017-03-03 15:53:20 +02:00
esp32-hal-bt.c Update IDF to aaf1239 (#1539) 2018-06-27 09:01:06 +02:00
esp32-hal-bt.h BT define the hal methods even if BT is disabled (but return false) 2017-05-06 18:50:20 +03:00
esp32-hal-cpu.c Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp32-hal-cpu.h Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp32-hal-dac.c Add analogRead, touchRead, dacWrite and updated esp-idf 2016-12-08 23:43:41 +02:00
esp32-hal-dac.h Missing include gpio.h in esp32-hal-dac.h (#1512) 2018-06-19 11:33:17 +03:00
esp32-hal-gpio.c Update esp32-hal-gpio.c 2018-12-28 19:14:15 +02:00
esp32-hal-gpio.h InterruptArg should take voidFuncPtrArg as argument (#1776) 2018-09-17 23:10:13 +02:00
esp32-hal-i2c.c I2C fix READ of zero bytes hardware hang (#2301) 2019-01-10 21:37:13 +01:00
esp32-hal-i2c.h Wire ReSTART fix, with others (#1717) 2018-08-14 11:51:15 +02:00
esp32-hal-ledc.c Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp32-hal-ledc.h LEDC Driver Update 2017-01-09 18:05:30 +02:00
esp32-hal-log.h Update IDF to 3.2-3276a13 and esptool.py to 2.5.0 (#1878) 2018-09-21 08:39:36 +02:00
esp32-hal-matrix.c initial import 2016-10-06 07:09:44 -06:00
esp32-hal-matrix.h initial import 2016-10-06 07:09:44 -06:00
esp32-hal-misc.c Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp32-hal-psram.c Add Wrover Support and Option to enable SPIRAM 2018-07-03 23:03:50 +02:00
esp32-hal-psram.h Add Wrover Support and Option to enable SPIRAM 2018-07-03 23:03:50 +02:00
esp32-hal-rmt.c allow component projects to compile with CONFIG_DISABLE_HAL_LOCKS (#1880) 2018-11-19 16:39:42 +01:00
esp32-hal-rmt.h Initial version of rmt driver (#1525) 2018-09-17 23:19:27 +02:00
esp32-hal-sigmadelta.c Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp32-hal-sigmadelta.h fix renamed method names for SigmaDelta 2017-01-09 21:55:37 +02:00
esp32-hal-spi.c Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp32-hal-spi.h SPI implement transaction locking 2017-02-14 04:15:38 +02:00
esp32-hal-time.c Some fixes found by gcc 8 2018-11-28 00:35:43 +01:00
esp32-hal-timer.c Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp32-hal-timer.h Initial Timers driver 2016-12-09 17:47:30 +02:00
esp32-hal-touch.c Change Touch interrupt allocator 2017-09-28 16:44:47 +08:00
esp32-hal-touch.h Add analogRead, touchRead, dacWrite and updated esp-idf 2016-12-08 23:43:41 +02:00
esp32-hal-uart.c fix leak in log_printf 2019-01-09 21:37:31 +01:00
esp32-hal-uart.h Added baudrate detection to esp32-hal-uart and HardwareSerial (#1961) 2018-11-19 16:51:55 +01:00
esp32-hal.h Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp8266-compat.h Convert the few remaining cr/lf files to use lf for eol. (#1316) 2018-04-16 16:34:39 +02:00
Esp.cpp Update ESP-IDF da2116f + esp32-camera f8f26ab + BLE b232e7f (#2194) 2018-12-15 17:38:34 +01:00
Esp.h Add MD5 computation to Esp and add request header with MD5 hash of the running sketch to HTTPUpdate (#2176) 2018-12-11 02:06:58 +01:00
FunctionalInterrupt.cpp Functional interrupt (#1728) 2018-09-17 23:13:58 +02:00
FunctionalInterrupt.h Functional interrupt (#1728) 2018-09-17 23:13:58 +02:00
HardwareSerial.cpp HardwareSerial - add changeBaudRate method (#2223) 2018-12-23 21:15:06 +02:00
HardwareSerial.h HardwareSerial - add changeBaudRate method (#2223) 2018-12-23 21:15:06 +02:00
IPAddress.cpp const correctness (#89) 2016-12-12 01:32:55 +02:00
IPAddress.h const correctness (#89) 2016-12-12 01:32:55 +02:00
IPv6Address.cpp Add initial IPv6 Support 2017-01-06 00:54:50 +02:00
IPv6Address.h Add initial IPv6 Support 2017-01-06 00:54:50 +02:00
main.cpp Update IDF to 97eecfa, enable reboot on WDT and add WDT API (#2248) 2018-12-28 20:37:33 +02:00
MD5Builder.cpp initial import 2016-10-06 07:09:44 -06:00
MD5Builder.h initial import 2016-10-06 07:09:44 -06:00
pgmspace.h std::functioanl for WFIF event + Minor fix (#1366) 2018-05-14 13:05:49 +02:00
Print.cpp correct bounds checking in Print::printf to avoid corner case of len=64 (#2204) 2018-12-16 17:09:26 +01:00
Print.h Fixes implementation of __FlashStringHelper (#183) 2017-02-08 19:57:26 +02:00
Printable.h initial import 2016-10-06 07:09:44 -06:00
Server.h Update IDF to aaf1239 (#1539) 2018-06-27 09:01:06 +02:00
stdlib_noniso.c include stdlib_noniso in Arduino.h 2016-10-26 02:13:00 +03:00
stdlib_noniso.h initial import 2016-10-06 07:09:44 -06:00
Stream.cpp Wiring.h -> Arduino.h 2016-10-06 07:09:45 -06:00
Stream.h initial import 2016-10-06 07:09:44 -06:00
StreamString.cpp Convert the few remaining cr/lf files to use lf for eol. (#1316) 2018-04-16 16:34:39 +02:00
StreamString.h Convert the few remaining cr/lf files to use lf for eol. (#1316) 2018-04-16 16:34:39 +02:00
Udp.h initial import 2016-10-06 07:09:44 -06:00
WCharacter.h Wiring.h -> Arduino.h 2016-10-06 07:09:45 -06:00
wiring_private.h Do not include file that does not exist 2016-11-13 13:26:49 +02:00
wiring_pulse.c Enable pulseIn() (#140) 2017-01-20 21:49:17 +02:00
wiring_shift.c add shiftIn shiftOut 2016-11-13 16:53:56 +02:00
WMath.cpp use esp_random in WMath.cpp 2016-12-02 13:42:31 +02:00
WString.cpp Update WString.cpp (#1936) 2018-11-19 16:45:09 +01:00
WString.h Update WString.h (#1935) 2018-11-19 16:44:53 +01:00