Skip to content

Commit 125064b

Browse files
committed
Merge branch 'master' of github.com:adafruit/arduino-esp32
2 parents 879c109 + 9522169 commit 125064b

File tree

326 files changed

+3596
-731
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

326 files changed

+3596
-731
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ You can use [Arduino-ESP32 Online Documentation](https://docs.espressif.com/proj
2727
* [FAQ](https://docs.espressif.com/projects/arduino-esp32/en/latest/faq.html)
2828
* [Troubleshooting](https://docs.espressif.com/projects/arduino-esp32/en/latest/troubleshooting.html)
2929

30+
### Supported Chips
31+
32+
Visit the [supported chips](https://docs.espressif.com/projects/arduino-esp32/en/latest/getting_started.html#supported-soc-s) documentation to see the list of current supported ESP32 SoCs.
33+
3034
### Decoding exceptions
3135

3236
You can use [EspExceptionDecoder](https://github.com/me-no-dev/EspExceptionDecoder) to get meaningful call trace.

boards.txt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10017,10 +10017,20 @@ deneyapmini.build.boot=qio
1001710017
deneyapmini.build.partitions=default
1001810018
deneyapmini.build.defines=
1001910019

10020-
deneyapmini.menu.CDCOnBoot.default=Disabled
10021-
deneyapmini.menu.CDCOnBoot.default.build.cdc_on_boot=0
10022-
deneyapmini.menu.CDCOnBoot.cdc=Enabled
10023-
deneyapmini.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
10020+
deneyapmini.menu.CDCOnBoot.default=Enabled
10021+
deneyapmini.menu.CDCOnBoot.default.build.cdc_on_boot=1
10022+
deneyapmini.menu.CDCOnBoot.cdc=Disabled
10023+
deneyapmini.menu.CDCOnBoot.cdc.build.cdc_on_boot=0
10024+
10025+
deneyapmini.menu.MSCOnBoot.default=Disabled
10026+
deneyapmini.menu.MSCOnBoot.default.build.msc_on_boot=0
10027+
deneyapmini.menu.MSCOnBoot.msc=Enabled
10028+
deneyapmini.menu.MSCOnBoot.msc.build.msc_on_boot=1
10029+
10030+
deneyapmini.menu.DFUOnBoot.default=Disabled
10031+
deneyapmini.menu.DFUOnBoot.default.build.dfu_on_boot=0
10032+
deneyapmini.menu.DFUOnBoot.dfu=Enabled
10033+
deneyapmini.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
1002410034

1002510035
deneyapmini.menu.PSRAM.disabled=Disabled
1002610036
deneyapmini.menu.PSRAM.disabled.build.defines=

cores/esp32/cbuf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class cbuf
6262

6363
cbuf *next;
6464

65-
private:
65+
protected:
6666
inline char* wrap_if_bufend(char* ptr) const
6767
{
6868
return (ptr == _bufend) ? _buf : ptr;

cores/esp32/esp32-hal-i2c-slave.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t
302302
i2c_ll_slave_init(i2c->dev);
303303
i2c_ll_set_fifo_mode(i2c->dev, true);
304304
i2c_ll_set_slave_addr(i2c->dev, slaveID, false);
305-
i2c_ll_set_tout(i2c->dev, 32000);
305+
i2c_ll_set_tout(i2c->dev, I2C_LL_MAX_TIMEOUT);
306306
i2c_slave_set_frequency(i2c, frequency);
307307

308308
if (!i2c_slave_check_line_state(sda, scl)) {

cores/esp32/esp32-hal-i2c.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include "soc/soc_caps.h"
2525
#include "soc/i2c_periph.h"
2626
#include "hal/i2c_hal.h"
27+
#include "hal/i2c_ll.h"
2728
#include "driver/i2c.h"
2829

2930
typedef volatile struct {
@@ -91,6 +92,8 @@ esp_err_t i2cInit(uint8_t i2c_num, int8_t sda, int8_t scl, uint32_t frequency){
9192
} else {
9293
bus[i2c_num].initialized = true;
9394
bus[i2c_num].frequency = frequency;
95+
//Clock Stretching Timeout: 20b:esp32, 5b:esp32-c3, 24b:esp32-s2
96+
i2c_set_timeout((i2c_port_t)i2c_num, I2C_LL_MAX_TIMEOUT);
9497
}
9598
}
9699
#if !CONFIG_DISABLE_HAL_LOCKS

docs/source/esp-idf_component.rst

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ Arduino as a ESP-IDF component
55
ESP32 Arduino lib-builder
66
-------------------------
77

8-
For a simplified method, see `lib-builder <lib_builder>`_.
8+
For a simplified method, see `lib-builder <https://github.com/espressif/esp32-arduino-lib-builder>`_.
99

1010
Installation
1111
------------
1212

13-
.. note:: Latest Arduino Core ESP32 version is now compatible with [ESP-IDF v4.4](https://github.com/espressif/esp-idf/tree/release/v4.4). Please consider this compability when using Arduino as component in ESP-IDF.
13+
.. note:: Latest Arduino Core ESP32 version is now compatible with `ESP-IDF v4.4 <https://github.com/espressif/esp-idf/tree/release/v4.4>`_. Please consider this compability when using Arduino as component in ESP-IDF.
1414

1515
- Download and install `ESP-IDF <https://github.com/espressif/esp-idf>`_.
16-
- Create blank idf project (from one of the examples).
16+
- Create blank ESP-IDF project (use sample_project from /examples/get-started) or choose one of the examples.
1717
- In the project folder, create a new folder called `components` and clone this repository inside the new created folder.
1818

1919
.. code-block:: bash
@@ -26,10 +26,19 @@ Installation
2626
cd ../.. && \
2727
idf.py menuconfig
2828
29+
Option 1. Using Arduino setup() and loop()
30+
******************************************
2931

3032
- The `idf.py menuconfig` has some Arduino options.
31-
- On `Autostart Arduino setup and loop on boot`.
32-
- If you enable these options, your main.cpp should be formated like any other sketch.
33+
- Turn on `Autostart Arduino setup and loop on boot`.
34+
- In main folder rename file `main.c` to `main.cpp`.
35+
- In main folder open file `CMakeList.txt` and change `main.c` to `main.cpp` as described below.
36+
37+
.. code-block:: bash
38+
39+
idf_component_register(SRCS "main.cpp" INCLUDE_DIRS ".")
40+
41+
- Your main.cpp should be formated like any other sketch.
3342

3443
.. code-block:: c
3544
@@ -45,14 +54,17 @@ Installation
4554
delay(1000);
4655
}
4756
48-
- Otherwise, you need to implement ```app_main()``` and call ```initArduino();``` in it.
57+
Option 2. Using ESP-IDF appmain()
58+
*********************************
59+
60+
- You need to implement ``app_main()`` and call ``initArduino();`` in it.
4961

5062
Keep in mind that setup() and loop() will not be called in this case.
5163
If you plan to base your code on examples provided in `examples <https://github.com/espressif/esp-idf/tree/master/examples>`_, please make sure to move the app_main() function in main.cpp from the files in the example.
5264

5365
.. code-block:: cpp
5466
55-
//file: main.cpp
67+
//file: main.c or main.cpp
5668
#include "Arduino.h"
5769
5870
extern "C" void app_main()
@@ -69,7 +81,11 @@ If you plan to base your code on examples provided in `examples <https://github.
6981
- If enabled, WiFi will start with the last known configuration
7082
- Otherwise it will wait for WiFi.begin
7183

72-
- ```idf.py -p <your-board-serial-port> flash monitor``` will build, upload and open serial monitor to your board
84+
Build, flash and monitor
85+
************************
86+
87+
- For both options use command ``idf.py -p <your-board-serial-port> flash monitor``
88+
- It will build, upload and open serial monitor to your board.
7389

7490
Logging To Serial
7591
-----------------

docs/source/getting_started.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ SoC Stable Development Datasheet
3737
ESP32 Yes Yes `ESP32 Datasheet`_
3838
ESP32-S2 Yes Yes `ESP32-S2 Datasheet`_
3939
ESP32-C3 Yes Yes `ESP32-C3 Datasheet`_
40-
ESP32-S3 No No Not Available Yet
40+
ESP32-S3 No No `ESP32-S3 Datasheet`_
4141
======== ====== =========== ===================================
4242

4343
See `Boards <boards/boards.html>`_ for more details about ESP32 development boards.
@@ -122,6 +122,7 @@ Resources
122122
.. _ESP32 Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
123123
.. _ESP32-S2 Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf
124124
.. _ESP32-C3 Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf
125+
.. _ESP32-S3 Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf
125126
.. _Arduino.cc: https://www.arduino.cc/en/Main/Software
126127
.. _Arduino Reference: https://www.arduino.cc/reference/en/
127128
.. _ESP32 Forum: https://esp32.com

platform.txt

Lines changed: 6 additions & 6 deletions
Large diffs are not rendered by default.

tools/platformio-build-esp32.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@
100100
"-u", "pthread_include_pthread_impl",
101101
"-u", "pthread_include_pthread_cond_impl",
102102
"-u", "pthread_include_pthread_local_storage_impl",
103+
"-u", "pthread_include_pthread_rwlock_impl",
103104
"-u", "ld_include_highint_hdl",
104105
"-u", "start_app",
105106
"-u", "start_app_other_cores",
@@ -303,8 +304,9 @@
303304
"UNITY_INCLUDE_CONFIG_H",
304305
"WITH_POSIX",
305306
"_GNU_SOURCE",
306-
("IDF_VER", '\\"v4.4-dev-3569-g6a7d83af19\\"'),
307+
("IDF_VER", '\\"v4.4-dev-3703-gddc44956bf\\"'),
307308
"ESP_PLATFORM",
309+
"_POSIX_READER_WRITER_LOCKS",
308310
"ARDUINO_ARCH_ESP32",
309311
"ESP32",
310312
("F_CPU", "$BOARD_F_CPU"),

tools/platformio-build-esp32c3.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@
127127
"-u", "pthread_include_pthread_impl",
128128
"-u", "pthread_include_pthread_cond_impl",
129129
"-u", "pthread_include_pthread_local_storage_impl",
130+
"-u", "pthread_include_pthread_rwlock_impl",
130131
"-u", "start_app",
131132
"-u", "__ubsan_include",
132133
"-u", "__assert_func",
@@ -293,8 +294,9 @@
293294
"UNITY_INCLUDE_CONFIG_H",
294295
"WITH_POSIX",
295296
"_GNU_SOURCE",
296-
("IDF_VER", '\\"v4.4-dev-3569-g6a7d83af19\\"'),
297+
("IDF_VER", '\\"v4.4-dev-3703-gddc44956bf\\"'),
297298
"ESP_PLATFORM",
299+
"_POSIX_READER_WRITER_LOCKS",
298300
"ARDUINO_ARCH_ESP32",
299301
"ESP32",
300302
("F_CPU", "$BOARD_F_CPU"),

0 commit comments

Comments
 (0)