diff --git a/README.md b/README.md index 757c9c80697..e420f9e1d71 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,10 @@ You can use [Arduino-ESP32 Online Documentation](https://docs.espressif.com/proj * [FAQ](https://docs.espressif.com/projects/arduino-esp32/en/latest/faq.html) * [Troubleshooting](https://docs.espressif.com/projects/arduino-esp32/en/latest/troubleshooting.html) +### Supported Chips + +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. + ### Decoding exceptions You can use [EspExceptionDecoder](https://github.com/me-no-dev/EspExceptionDecoder) to get meaningful call trace. diff --git a/boards.txt b/boards.txt index c8c2f6e2a1c..1d1540dc783 100644 --- a/boards.txt +++ b/boards.txt @@ -9690,10 +9690,20 @@ deneyapmini.build.boot=qio deneyapmini.build.partitions=default deneyapmini.build.defines= -deneyapmini.menu.CDCOnBoot.default=Disabled -deneyapmini.menu.CDCOnBoot.default.build.cdc_on_boot=0 -deneyapmini.menu.CDCOnBoot.cdc=Enabled -deneyapmini.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 +deneyapmini.menu.CDCOnBoot.default=Enabled +deneyapmini.menu.CDCOnBoot.default.build.cdc_on_boot=1 +deneyapmini.menu.CDCOnBoot.cdc=Disabled +deneyapmini.menu.CDCOnBoot.cdc.build.cdc_on_boot=0 + +deneyapmini.menu.MSCOnBoot.default=Disabled +deneyapmini.menu.MSCOnBoot.default.build.msc_on_boot=0 +deneyapmini.menu.MSCOnBoot.msc=Enabled +deneyapmini.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +deneyapmini.menu.DFUOnBoot.default=Disabled +deneyapmini.menu.DFUOnBoot.default.build.dfu_on_boot=0 +deneyapmini.menu.DFUOnBoot.dfu=Enabled +deneyapmini.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 deneyapmini.menu.PSRAM.disabled=Disabled deneyapmini.menu.PSRAM.disabled.build.defines= diff --git a/cores/esp32/cbuf.h b/cores/esp32/cbuf.h index ca65affcce9..490352e3202 100644 --- a/cores/esp32/cbuf.h +++ b/cores/esp32/cbuf.h @@ -62,7 +62,7 @@ class cbuf cbuf *next; -private: +protected: inline char* wrap_if_bufend(char* ptr) const { return (ptr == _bufend) ? _buf : ptr; diff --git a/cores/esp32/esp32-hal-i2c-slave.c b/cores/esp32/esp32-hal-i2c-slave.c index 458b74f2cb0..49da0c82b0d 100755 --- a/cores/esp32/esp32-hal-i2c-slave.c +++ b/cores/esp32/esp32-hal-i2c-slave.c @@ -302,7 +302,7 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t i2c_ll_slave_init(i2c->dev); i2c_ll_set_fifo_mode(i2c->dev, true); i2c_ll_set_slave_addr(i2c->dev, slaveID, false); - i2c_ll_set_tout(i2c->dev, 32000); + i2c_ll_set_tout(i2c->dev, I2C_LL_MAX_TIMEOUT); i2c_slave_set_frequency(i2c, frequency); if (!i2c_slave_check_line_state(sda, scl)) { diff --git a/cores/esp32/esp32-hal-i2c.c b/cores/esp32/esp32-hal-i2c.c index 18ef4c115e7..c4ec85e732c 100644 --- a/cores/esp32/esp32-hal-i2c.c +++ b/cores/esp32/esp32-hal-i2c.c @@ -24,6 +24,7 @@ #include "soc/soc_caps.h" #include "soc/i2c_periph.h" #include "hal/i2c_hal.h" +#include "hal/i2c_ll.h" #include "driver/i2c.h" typedef volatile struct { @@ -91,6 +92,8 @@ esp_err_t i2cInit(uint8_t i2c_num, int8_t sda, int8_t scl, uint32_t frequency){ } else { bus[i2c_num].initialized = true; bus[i2c_num].frequency = frequency; + //Clock Stretching Timeout: 20b:esp32, 5b:esp32-c3, 24b:esp32-s2 + i2c_set_timeout((i2c_port_t)i2c_num, I2C_LL_MAX_TIMEOUT); } } #if !CONFIG_DISABLE_HAL_LOCKS diff --git a/docs/source/getting_started.rst b/docs/source/getting_started.rst index 434fad2dec8..91b66b343a3 100644 --- a/docs/source/getting_started.rst +++ b/docs/source/getting_started.rst @@ -37,7 +37,7 @@ SoC Stable Development Datasheet ESP32 Yes Yes `ESP32 Datasheet`_ ESP32-S2 Yes Yes `ESP32-S2 Datasheet`_ ESP32-C3 Yes Yes `ESP32-C3 Datasheet`_ -ESP32-S3 No No Not Available Yet +ESP32-S3 No No `ESP32-S3 Datasheet`_ ======== ====== =========== =================================== See `Boards `_ for more details about ESP32 development boards. @@ -122,6 +122,7 @@ Resources .. _ESP32 Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf .. _ESP32-S2 Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf .. _ESP32-C3 Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf +.. _ESP32-S3 Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf .. _Arduino.cc: https://www.arduino.cc/en/Main/Software .. _Arduino Reference: https://www.arduino.cc/reference/en/ .. _ESP32 Forum: https://esp32.com