mirror of
https://github.com/arendst/Tasmota.git
synced 2025-04-24 23:07:17 +00:00
Add ESP32-C6 GPIO26/28 in template
Add ESP32-C6 GPIO26/28 in template as Red pins used by flash (QIO) but optionally free if DIO/DOUT
This commit is contained in:
parent
8e8e019e0f
commit
62c36a49b3
@ -2855,8 +2855,8 @@ const mytmplt kModules[] PROGMEM = {
|
||||
AGPIO(GPIO_USER), // 9 IO GPIO9, Strapping
|
||||
AGPIO(GPIO_USER), // 10 IO GPIO10
|
||||
0, // 11 IO GPIO11, output power supply for flash
|
||||
0, // 12 IO GPIO12, SPIHD
|
||||
0, // 13 IO GPIO13, SPIWP
|
||||
0, // 12 IO GPIO12, SPIHD - Free if flash DIO/DOUT
|
||||
0, // 13 IO GPIO13, SPIWP - Free if flash DIO/DOUT
|
||||
0, // 14 IO GPIO14, SPICS0
|
||||
0, // 15 IO GPIO15, SPICLK
|
||||
0, // 16 IO GPIO16, SPID
|
||||
@ -2909,8 +2909,8 @@ const mytmplt kModules[] PROGMEM = {
|
||||
AGPIO(GPIO_USER), // 9 IO GPIO9
|
||||
AGPIO(GPIO_USER), // 10 IO GPIO10
|
||||
0, // 11 IO GPIO11, output power supply for flash
|
||||
0, // 12 IO GPIO12, SPIHD
|
||||
0, // 13 IO GPIO13, SPIWP
|
||||
0, // 12 IO GPIO12, SPIHD - Free if flash DIO/DOUT
|
||||
0, // 13 IO GPIO13, SPIWP - Free if flash DIO/DOUT
|
||||
0, // 14 IO GPIO14, SPICS0
|
||||
0, // 15 IO GPIO15, SPICLK
|
||||
0, // 16 IO GPIO16, SPID
|
||||
@ -2978,9 +2978,9 @@ const mytmplt kModules[] PROGMEM = {
|
||||
AGPIO(GPIO_USER), // 23 IO GPIO23, SDIO_DATA3
|
||||
0, // 24 IO GPIO24, SPICS1, PSRAM
|
||||
0, // 25 IO GPIO25, SPIQ
|
||||
0, // 26 IO GPIO26, SPIWP
|
||||
0, // 26 IO GPIO26, SPIWP - Free if flash DIO/DOUT
|
||||
0, // 27 IO GPIO27, SPIVDD
|
||||
0, // 28 IO GPIO28, SPIHD
|
||||
0, // 28 IO GPIO28, SPIHD - Free if flash DIO/DOUT
|
||||
0, // 29 IO GPIO29, SPICLK
|
||||
0, // 30 IO GPIO30, SPID
|
||||
0 // Flag
|
||||
|
@ -1682,26 +1682,28 @@ bool FlashPin(uint32_t pin) {
|
||||
#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3
|
||||
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_ESP32C6
|
||||
return (pin > 23); // ESP32C6 flash pins 24-30
|
||||
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
|
||||
return (pin > 21) && (pin < 33); // ESP32S2 skip 22-32
|
||||
return (pin > 21) && (pin < 33); // ESP32S2 skip 22-32
|
||||
#else
|
||||
return (pin >= 28) && (pin <= 31); // ESP32 skip 28-31
|
||||
return (pin >= 28) && (pin <= 31); // ESP32 skip 28-31
|
||||
#endif // ESP32C2/C3/C6 and S2/S3
|
||||
#endif // ESP32
|
||||
}
|
||||
|
||||
bool RedPin(uint32_t pin) { // Pin may be dangerous to change, display in RED in template console
|
||||
bool RedPin(uint32_t pin) { // Pin may be dangerous to change, display in RED in template console
|
||||
#ifdef ESP8266
|
||||
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)
|
||||
#elif CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S2
|
||||
return false; // No red pin on ESP32C6 and ESP32S3
|
||||
return (12 == pin) || (13 == pin); // ESP32C3: GPIOs 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
|
||||
return false; // No red pin on ESP32S3
|
||||
#elif CONFIG_IDF_TARGET_ESP32S3
|
||||
return (33 <= pin) && (37 >= pin); // ESP32S3: GPIOs 33..37 are usually used for PSRAM
|
||||
return (33 <= pin) && (37 >= pin); // ESP32S3: GPIOs 33..37 are usually used for PSRAM
|
||||
#else // ESP32 red pins are 6-11 for original ESP32, other models like PICO are not impacted if flash pins are condfigured
|
||||
// PICO can also have 16/17/18/23 not available
|
||||
return ((6 <= pin) && (11 >= pin)) || (16 == pin) || (17 == pin); // TODO adapt depending on the exact type of ESP32
|
||||
|
Loading…
x
Reference in New Issue
Block a user