From 5d06a2591533b331ba30e4bcf2d5c9de8ff7dd01 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Fri, 26 Jan 2024 12:13:23 +0100 Subject: [PATCH] Add ESP32-C3 support for GPIO11 (#18350) --- CHANGELOG.md | 2 ++ RELEASENOTES.md | 2 ++ tasmota/tasmota_support/support.ino | 10 +++++++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b460dc3cb..76e5dbab7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file. ## [13.3.0.4] ### Added - HASPmota support for `min` and `max` attribute in `slider` (#20582) +- ESP32-C3 support for GPIO11 (#18350) ### Breaking Changed @@ -13,6 +14,7 @@ All notable changes to this project will be documented in this file. - Refactored rules ``Subscribe`` using LList allowing full message size and enabled by default - Refactored rules USE_EXPRESSION and SUPPORT_IF_STATEMENT replacing LinkedList with arrays and enabled by default - ESP32 Core3 platform update from 2024.01.11 to 2024.01.12 (#20576) +- Utouch optimizations, rgb i2c init (#20596) ### Fixed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index d983584c0..d69d460b4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -133,6 +133,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - ESP32 used UART information - ESP32 experimental support GPIOViewer when ``define USE_ESP32_GPIO_VIEWER`` is enabled - ESP32 MI BLE support for Xiaomi LYWSD02MMC [#20381](https://github.com/arendst/Tasmota/issues/20381) +- ESP32-C3 support for GPIO11 [#18350](https://github.com/arendst/Tasmota/issues/18350) - Berry GPIO viewer initial version using async webserver [#20416](https://github.com/arendst/Tasmota/issues/20416) - Berry `introspect.set()` for class attributes [#20339](https://github.com/arendst/Tasmota/issues/20339) - Berry support for `tcpclientasync` in `tcpserver` [#20401](https://github.com/arendst/Tasmota/issues/20401) @@ -171,6 +172,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Support syslog updates every sleep or every second if `#define SYSLOG_UPDATE_SECOND` [#20260](https://github.com/arendst/Tasmota/issues/20260) - Web file upload response on upload error [#20340](https://github.com/arendst/Tasmota/issues/20340) - Header `Host` is now collected by Webserver [#20446](https://github.com/arendst/Tasmota/issues/20446) +- Utouch optimizations, rgb i2c init [#20596](https://github.com/arendst/Tasmota/issues/20596) - Webcam tweaks [#20451](https://github.com/arendst/Tasmota/issues/20451) - IP stack compatible with new Core3 IPv6 implementation [#20509](https://github.com/arendst/Tasmota/issues/20509) - Refactored Pio filesystem download script [#20544](https://github.com/arendst/Tasmota/issues/20544) diff --git a/tasmota/tasmota_support/support.ino b/tasmota/tasmota_support/support.ino index c38ac087f..8966df9f2 100755 --- a/tasmota/tasmota_support/support.ino +++ b/tasmota/tasmota_support/support.ino @@ -1680,8 +1680,10 @@ bool FlashPin(uint32_t pin) { return (((pin > 5) && (pin < 9)) || (11 == pin)); #endif // ESP8266 #ifdef ESP32 -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 +#if CONFIG_IDF_TARGET_ESP32C2 return (((pin > 10) && (pin < 12)) || ((pin > 13) && (pin < 18))); // ESP32C3 has GPIOs 11-17 reserved for Flash, with some boards GPIOs 12 13 are useable +#elif CONFIG_IDF_TARGET_ESP32C3 + return ((pin > 13) && (pin < 18)); // ESP32C3 has GPIOs 11-17 reserved for Flash, with some boards GPIOs 11 12 13 are useable #elif CONFIG_IDF_TARGET_ESP32C6 return ((pin == 24) || (pin == 25) || (pin == 27) || (pin == 29) || (pin == 30)); // ESP32C6 has GPIOs 24-30 reserved for Flash, with some boards GPIOs 26 28 are useable #elif CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 @@ -1697,8 +1699,10 @@ bool RedPin(uint32_t pin) { // Pin may be dangerous to change, displa return (9 == pin) || (10 == pin); #endif // ESP8266 #ifdef ESP32 -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 - return (12 == pin) || (13 == pin); // ESP32C3: GPIOs 12 13 are usually used for Flash (mode QIO/QOUT) +#if CONFIG_IDF_TARGET_ESP32C2 + return (12 == pin) || (13 == pin); // ESP32C2: GPIOs 12 13 are usually used for Flash (mode QIO/QOUT) +#elif CONFIG_IDF_TARGET_ESP32C3 + return (11 == pin) || (12 == pin) || (13 == pin); // ESP32C3: GPIOs 11 12 13 are usually used for Flash (mode QIO/QOUT) #elif CONFIG_IDF_TARGET_ESP32C6 return (26 == pin) || (28 == pin); // ESP32C6: GPIOs 26 28 are usually used for Flash (mode QIO/QOUT) #elif CONFIG_IDF_TARGET_ESP32S2