Go to file
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
cores/esp32 I2C fix READ of zero bytes hardware hang (#2301) 2019-01-10 21:37:13 +01:00
docs layout fix (#1845) 2018-09-17 21:20:57 +02:00
libraries An example to read high frequency analog data using i2s_adc (#2295) 2019-01-10 08:24:17 +01:00
package Update build tools (#2200) 2018-12-16 17:09:44 +01:00
tools Test @PlatformIO with CameraWebServer example (#2300) 2019-01-10 15:54:12 +01:00
variants Added ESP32 FM DevKit - Fixed unused pins definitions. (#2288) 2019-01-09 16:50:41 +01:00
.gitignore Convert the few remaining cr/lf files to use lf for eol. (#1316) 2018-04-16 16:34:39 +02:00
.gitmodules Add submodule of Azure IoT library (#1448) 2018-05-31 14:52:02 +02:00
.travis.yml * remove git clone --depth parameter (#2124) 2018-11-28 13:15:49 +01:00
appveyor.yml Initial version of build script for @PlatformIO; CI integration for Linux, macOS and Windows (#153) 2017-01-28 14:19:56 +02:00
boards.txt Fix compilation failing on Windows because of liblib.a 2019-01-10 09:23:25 +01:00
CMakeLists.txt Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
component.mk fix compilation errors in idf 2018-07-25 22:39:32 +02:00
Kconfig.projbuild Feature/selective compilation (#1671) 2018-07-25 13:02:37 +02:00
Makefile.projbuild Remove duplicate ota_data flashing under IDF 2018-08-16 13:34:47 +02:00
package.json Initial version of build script for @PlatformIO; CI integration for Linux, macOS and Windows (#153) 2017-01-28 14:19:56 +02:00
platform.txt Fix compilation failing on Windows because of liblib.a 2019-01-10 09:23:25 +01:00
programmers.txt initial import 2016-10-06 07:09:44 -06:00
README.md Cleanup on README and boards_manager (#1693) 2018-07-30 10:21:03 +03:00

Arduino core for ESP32 WiFi chip Build Status

Need help or have a question? Join the chat at https://gitter.im/espressif/arduino-esp32

Contents

Development Status

Latest stable release Release Version Release Date

Latest development release Development Version Development Date

Most of the framework is implemented. Most noticable is the missing analogWrite. While analogWrite is on it's way, there are a few other options that you can use:

  • 16 channels LEDC which is PWM
  • 8 channels SigmaDelta which uses SigmaDelta modulation
  • 2 channels DAC which gives real analog output

Installation Instructions

Decoding exceptions

You can use EspExceptionDecoder to get meaningful call trace.

Issue/Bug report template

Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labelled as for reference.

Finally, if you're sure no one else had the issue, follow the ISSUE_TEMPLATE while reporting any issue.

ESP32Dev Board PINMAP

Pin Functions

Hint

Sometimes to program ESP32 via serial you must keep GPIO0 LOW during the programming process