Go to file
Angus Gratton 2f249edb8e Use std::abs for a float-compatible abs() function (#2738)
* Other Arduino cores uses a macro to redefine libc abs() to take any
  type, meaning abs(-3.3) == 3.3 not the normal libc result of 3.

* 1e4bf14a3 (#1783) replaced similar min, max macros with c++ stdlib. However
  this change includes <algorithm> after the line which defines the abs() macro.
  <algorithm> includes <cstdlib> which undefines abs() and re-defines it.

* This means abs() becomes the plain libc version again which only takes
  integers, so abs(-3.3) == 3. As reported here:
  https://github.com/espressif/esp-idf/issues/3405

This fix tries to keep in the spirit of #1783 by using libstdc++. The other
option would be to include <cstdlib> before defining the abs() macro, so it
doesn't get undef-ed again later on.
2019-05-11 11:18:39 +03:00
.github/ISSUE_TEMPLATE Update issue templates 2019-01-11 02:21:32 +01:00
cores/esp32 Use std::abs for a float-compatible abs() function (#2738) 2019-05-11 11:18:39 +03:00
docs python2 get.py does not work behind proxy (#2349) 2019-01-22 17:28:27 +08:00
libraries Fix semaphores in IDF & std::string assert (#2728) 2019-05-11 11:03:09 +03:00
package Add board "WEMOS D1 MINI ESP32". (#2710) 2019-04-27 14:10:21 +03:00
tools Fix libgcc not being in rom 2019-05-09 13:07:49 +03:00
variants Add board "WEMOS D1 MINI ESP32". (#2710) 2019-04-27 14:10:21 +03:00
.gitignore Convert the few remaining cr/lf files to use lf for eol. (#1316) 2018-04-16 16:34:39 +02:00
.gitmodules Set ESP-IDF to 3.2 (#2662) 2019-04-12 15:43:53 +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 Add board "WEMOS D1 MINI ESP32". (#2710) 2019-04-27 14:10:21 +03:00
CMakeLists.txt add missing EEPROM lib to CMakeLists.txt, moved the EEPROM files to proper dir (#2333) 2019-02-14 12:49:34 +01:00
component.mk Fix compilation errors when used as IDF component 2019-01-26 21:37:03 +01:00
Kconfig.projbuild Allow selecting in IDF the running core for Arduino's core tasks 2019-04-13 17:13:13 +02:00
LICENSE.md Add LGPL 2.1 License 2019-04-16 03:08:50 +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 libgcc not being in rom 2019-05-09 13:07:49 +03:00
programmers.txt initial import 2016-10-06 07:09:44 -06:00
README.md Update README.md 2019-01-11 10:17:45 +01: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 Downloads

Latest development release Development Version Development Date Downloads

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