7141e3e29d
The cycle count that micros() is using to report timing is a PER Task value. When micros() or delayMicroseconds() is called from different Tasks, the lastCycleCount value may have no relationship to the current Task specific cycleCount. If the current cycleCount is less than the saved lastCycleCount a rollover condition is assumed. This erroneous conditions results in incorrect delays and reported microseconds. This fix creates thread local storage so that each Task will have accurate microsecond reporting and delays. The reported microseconds are not real time, they are microseconds of the current Task execution. |
||
---|---|---|
cores/esp32 | ||
docs | ||
libraries | ||
package | ||
tools | ||
variants | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
appveyor.yml | ||
boards.txt | ||
component.mk | ||
Kconfig | ||
Makefile.projbuild | ||
package.json | ||
platform.txt | ||
programmers.txt | ||
README.md |
Arduino core for ESP32 WiFi chip
Need help or have a question? Join the chat at
Contents
- Development Status
- Installation Instructions
- Decoding Exceptions
- Issue/Bug report template
- ESP32Dev Board PINMAP
Development Status
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
- Using Arduino IDE
- Using PlatformIO
- Building with make
- Using as ESP-IDF component
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
Hint
Sometimes to program ESP32 via serial you must keep GPIO0 LOW during the programming process