No description
Find a file
Gonzalo Brusco 0cc8eab836
Add an option to force IDF's default UART clock source (#11191)
* Add an option to force IDF's default UART clock source

* feat(uart): adds function to set clock source

* feat(uart): add uart clock source selection method

* feat(uart): add uart hall function to set the uart clock source

* feat(uart): add function to set the uart clock source

* feat(uart): set clock source as necessary

* fix(uart): missing class qualifier declaration

* fix(uart): fixing a typo and non LP UART SoC clk src setting

* fix(uart): variable name, typo error

* fix(uart): retores previous identation reducing diff load

* feat(uart): apply CONFIG_ARDUINO_SERIAL_FORCE_IDF_DEFAULT_CLOCK_SOURCE to LP UART

* feat(uart): adds option for UART_CLK_SRC_DEFAULT

* feat(uart): adds option for setting default uart clock source from IDF

* feat(uart): documents UART_CLK_SRC_DEFAULT as option in header file

* feat(uart): documents using the IDF default uart clock source

* fix(uart): type missmatch may cause error

* fix(uart): type missmatch may cause error, test for -1

* feat(uart): considering both HP and LP default uart clock source

* feat(uart): improve the defined value for UART_CLK_SRC_DEFAULT

* fix(uart): using uart_sclk_t as hal level parameter

* feat(uart): apply default LP uart clock source

* fix(uart): considers that it may set the LP UART as well

* feat(uart): using UART SCLK enum for uart clock source values

* fix(uart): using UART_CLK_SRC_RTC now

* fix(uart): documentation using UART_CLK_SRC_RTC now

* fix(uart): fix old commentary that is not correct anymore

* fix(uart): wrong identation in code line

* fix(uart): using uart number as argument instead

* fix(uart): using uart number as argument in setClockSource()

* fix(uart): using uart number as parameter in uartSetClockSource()

* feat(uart): update Kconfig.projbuild to reflect functionality

* feat(uart): removing Kconfig.projbuild option to force default clk src

* feat(uart): removes kconfig option to force uart default clk src

* fix(uart): replacing #if #endif by #if #elif #endif for the same enum

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: Sugar Glider <rodrigo.garcia@espressif.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-04-09 11:25:06 +03:00
.github Update Issue-report.yml with the latest versions 2025-03-29 14:13:57 +02:00
cores/esp32 Add an option to force IDF's default UART clock source (#11191) 2025-04-09 11:25:06 +03:00
docs docs(esp32p4): Add missing information and improve organization (#11081) 2025-03-17 12:37:41 +02:00
idf_component_examples Update Matter Light README.md (#10357) 2024-09-24 18:26:34 +03:00
libraries fix(zigbeeEP): review of names and memory allocation (#11199) 2025-04-05 18:47:38 +03:00
package IDF release/v5.4 (#11149) 2025-03-28 10:37:48 +02:00
tests fix(uart): Fixes UART CI script to work with Arduino Core 3.2.x (#11077) 2025-03-17 17:36:10 +02:00
tools Add a Default 32MB partition (#11143) 2025-03-20 22:11:11 +02:00
variants Modify T-LoRa-Pager device PID (#11194) 2025-03-31 11:06:18 +03:00
.clang-format refactor(style): Change some style options (#9526) 2024-04-19 18:16:55 +03:00
.codespellrc fix(spelling): Fix misspellings detected by codespell and enable it (#10232) 2024-08-28 15:43:02 +03:00
.editorconfig ci(json): Add requires_any field and use QIO by default to match IDE (#10472) 2024-10-19 12:00:48 +03:00
.flake8 ci(performance): Add performance tests to CI (#9560) 2024-05-07 13:16:13 +02:00
.gitignore fix(get.py): Remove existing files before extracting (#10247) 2024-08-28 09:54:52 +03:00
.gitmodules v2.0.0 Add support for ESP32S2 and update ESP-IDF to 4.4 (#4996) 2021-04-05 14:23:58 +03:00
.pre-commit-config.yaml ci(pre-commit): Add bash script formatter and linter (#10681) 2024-12-09 15:25:11 +02:00
.prettierignore Style Checker and Pre-commit hook CI (#9132) 2024-04-15 18:41:51 +03:00
.readthedocs.yaml Removed YML wron file and changed the YAML (#8785) 2023-10-20 16:35:06 +03:00
.shellcheckrc ci(pre-commit): Add bash script formatter and linter (#10681) 2024-12-09 15:25:11 +02:00
.vale.ini docs(vale): Enable vale and fix errors (#10231) 2024-08-28 15:48:18 +03:00
boards.txt Update LilyGo variants and add new variants (#11192) 2025-03-28 10:38:31 +02:00
CMakeLists.txt feat(zigbee): Add PM2.5 endpoint support (#11205) 2025-04-05 18:46:20 +03:00
CODE_OF_CONDUCT.md fix(spelling): Fix misspellings detected by codespell and enable it (#10232) 2024-08-28 15:43:02 +03:00
idf_component.yml feat(matter): necessary changes to insights version for esp_matter (#11042) 2025-03-08 00:00:58 +02:00
Kconfig.projbuild fix(build): Update required components and menu 2024-10-22 15:55:37 +03:00
LICENSE.md Refactor repository with pre-commit hooks (#9515) 2024-04-15 19:40:56 +03:00
package.json Update core version to 3.2.0 2025-02-18 19:10:54 +02:00
platform.txt Update core version to 3.2.0 2025-02-18 19:10:54 +02:00
programmers.txt Add support for ArduinoIDE 2.0.0 (#6506) 2022-04-04 17:19:23 +03:00
README.md docs(esp32p4): Add missing information and improve organization (#11081) 2025-03-17 12:37:41 +02:00

Arduino core for the ESP32, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-P4, ESP32-S2 and ESP32-S3.

Build Status Verbose Build Status External Libraries Test Runtime Tests

Need help or have a question? Join the chat at Discord or open a new Discussion

Discord invite

Contents

Development Status

Latest Stable Release

Release Version Release Date Downloads

Latest Development Release

Release Version Release Date Downloads

Development Planning

Our Development is fully tracked on this public Roadmap 🎉

For even more information you can join our Monthly Community Meetings 🔔.

Documentation

You can use the Arduino-ESP32 Online Documentation to get all information about this project.


Migration guide from version 2.x to 3.x is available here.


APIs compatibility with ESP8266 and Arduino-CORE (Arduino.cc) is explained here.


Supported Chips

Here are the ESP32 series supported by the Arduino-ESP32 project:

SoC Stable Development Datasheet
ESP32 Yes Yes ESP32
ESP32-C3 Yes Yes ESP32-C3
ESP32-C6 Yes Yes ESP32-C6
ESP32-H2 Yes Yes ESP32-H2
ESP32-P4 Yes Yes ESP32-P4
ESP32-S2 Yes Yes ESP32-S2
ESP32-S3 Yes Yes ESP32-S3

Note

ESP32-C2 is also supported by Arduino-ESP32 but requires using Arduino as an ESP-IDF component or rebuilding the static libraries. For more information, see the Arduino as an ESP-IDF component documentation or the Lib Builder documentation, respectively.

For more details visit the supported chips documentation page.

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 labeled as Type: For reference.

Finally, if you are sure no one else had the issue, follow the Issue template or Feature request template while reporting any new Issue.

External libraries compilation test

We have set-up CI testing for external libraries for ESP32 Arduino core. You can check test results in the file LIBRARIES_TEST. For more information and how to add your library to the test see external library testing in the documentation.

Contributing

We welcome contributions to the Arduino ESP32 project!

See contributing in the documentation for more information on how to contribute to the project.

We would like to have this repository in a polite and friendly atmosphere, so please be kind and respectful to others. For more details, look at Code of Conduct.