2020-04-10 17:24:08 +01:00
/*
tasmota_template_ESP32 . h - template settings for Tasmota
Copyright ( C ) 2020 Theo Arends
This program is free software : you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation , either version 3 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# ifndef _TASMOTA_TEMPLATE_ESP32_H_
# define _TASMOTA_TEMPLATE_ESP32_H_
# ifdef ESP32
// Hardware has no ESP32
# undef USE_TUYA_DIMMER
# undef USE_PWM_DIMMER
# undef USE_EXS_DIMMER
# undef USE_ARMTRONIX_DIMMERS
# undef USE_SONOFF_RF
# undef USE_SONOFF_SC
# undef USE_SONOFF_IFAN
# undef USE_SONOFF_L1
# undef USE_SONOFF_D1
# undef USE_RF_FLASH
2020-04-14 16:36:36 +01:00
// Not ported (yet)
2020-04-10 17:24:08 +01:00
# undef USE_DISCOVERY
2020-04-14 16:36:36 +01:00
# undef USE_ADC_VCC // Needs to be ported
2020-04-10 17:24:08 +01:00
# undef USE_DEEPSLEEP
# undef USE_MY92X1
# undef USE_TUYA_MCU
# undef USE_PS_16_DZ
/********************************************************************************************/
// Supported hardware modules
enum SupportedModules {
WEMOS ,
ESP32_CAM ,
MAXMODULE
} ;
const char kModuleNames [ ] PROGMEM =
" WeMos D1 ESP32|ESP32 CAM| "
;
// Default module settings
const uint8_t kModuleNiceList [ MAXMODULE ] PROGMEM = {
WEMOS ,
ESP32_CAM
} ;
const mytmplt kModules [ MAXMODULE ] PROGMEM = {
{ // "WeMos D1 ESP32", // Any ESP32 device like WeMos and NodeMCU hardware (ESP32)
GPIO_USER , //0 (I)O GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CLK
GPIO_USER , //1 IO TXD0 GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
GPIO_USER , //2 IO GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0, SD_DATA0
GPIO_USER , //3 IO RXD0 GPIO3, U0RXD, CLK_OUT2
GPIO_USER , //4 IO GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1, SD_DATA1, EMAC_TX_ER
GPIO_USER , //5 IO GPIO5, VSPICS0, HS1_DATA6, EMAC_RX_CLK
2020-04-12 17:17:35 +01:00
// 0, //6
// 0, //7
// 0, //8
// 0, //9
// 0, //10
// 0, //11
2020-04-10 17:24:08 +01:00
GPIO_USER , //12 (I)O GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2, SD_DATA2, EMAC_TXD3 (If driven High, flash voltage (VDD_SDIO) is 1.8V not default 3.3V. Has internal pull-down, so unconnected = Low = 3.3V. May prevent flashing and/or booting if 3.3V flash is connected and pulled high. See ESP32 datasheet for more details.)
GPIO_USER , //13 IO GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER
GPIO_USER , //14 IO GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2
GPIO_USER , //15 (I)O GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD, SD_CMD, EMAC_RXD3 (If driven Low, silences boot messages from normal boot. Has internal pull-up, so unconnected = High = normal output.)
GPIO_USER , //16 IO GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT
GPIO_USER , //17 IO GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180
GPIO_USER , //18 IO GPIO18, VSPICLK, HS1_DATA7
GPIO_USER , //19 IO GPIO19, VSPIQ, U0CTS, EMAC_TXD0
0 , //20
0 , //21 IO GPIO21, VSPIHD, EMAC_TX_EN
GPIO_USER , //22 IO LED GPIO22, VSPIWP, U0RTS, EMAC_TXD1
GPIO_USER , //23 IO GPIO23, VSPID, HS1_STROBE
0 , //24
GPIO_USER , //25 IO GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
GPIO_USER , //26 IO GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
GPIO_USER , //27 IO GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
0 , //28
0 , //29
0 , //30
0 , //31
GPIO_USER , //32 IO GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator input), ADC1_CH4, TOUCH9, RTC_GPIO9
GPIO_USER , //33 IO GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator output), ADC1_CH5, TOUCH8, RTC_GPIO8
GPIO_USER , //34 I NO PULLUP GPIO34, ADC1_CH6, RTC_GPIO4
GPIO_USER , //35 I NO PULLUP GPIO35, ADC1_CH7, RTC_GPIO5
GPIO_USER , //36 I NO PULLUP GPIO36, SENSOR_VP, ADC_H, ADC1_CH0, RTC_GPIO0
0 , //37 NO PULLUP
0 , //38 NO PULLUP
GPIO_USER //39 I NO PULLUP GPIO39, SENSOR_VN, ADC1_CH3, ADC_H, RTC_GPIO3
} ,
{ //"ESP32 CAM",
GPIO_USER , //0 (I)O GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CLK
GPIO_USER , //1 IO TXD0 GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
GPIO_USER , //2 IO GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0, SD_DATA0
GPIO_USER , //3 IO RXD0 GPIO3, U0RXD, CLK_OUT2
GPIO_USER , //4 IO GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1, SD_DATA1, EMAC_TX_ER
GPIO_USER , //5 IO GPIO5, VSPICS0, HS1_DATA6, EMAC_RX_CLK
2020-04-12 17:17:35 +01:00
// 0, //6
// 0, //7
// 0, //8
// 0, //9
// 0, //10
// 0, //11
2020-04-10 17:24:08 +01:00
GPIO_USER , //12 (I)O GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2, SD_DATA2, EMAC_TXD3 (If driven High, flash voltage (VDD_SDIO) is 1.8V not default 3.3V. Has internal pull-down, so unconnected = Low = 3.3V. May prevent flashing and/or booting if 3.3V flash is connected and pulled high. See ESP32 datasheet for more details.)
GPIO_USER , //13 IO GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER
GPIO_USER , //14 IO GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2
GPIO_USER , //15 (I)O GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD, SD_CMD, EMAC_RXD3 (If driven Low, silences boot messages from normal boot. Has internal pull-up, so unconnected = High = normal output.)
GPIO_USER , //16 IO GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT
GPIO_USER , //17 IO GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180
GPIO_USER , //18 IO GPIO18, VSPICLK, HS1_DATA7
GPIO_USER , //19 IO GPIO19, VSPIQ, U0CTS, EMAC_TXD0
0 , //20
0 , //21 IO GPIO21, VSPIHD, EMAC_TX_EN
GPIO_USER , //22 IO LED GPIO22, VSPIWP, U0RTS, EMAC_TXD1
GPIO_USER , //23 IO GPIO23, VSPID, HS1_STROBE
0 , //24
GPIO_USER , //25 IO GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
GPIO_USER , //26 IO GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
GPIO_USER , //27 IO GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
0 , //28
0 , //29
0 , //30
0 , //31
GPIO_USER , //32 IO GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator input), ADC1_CH4, TOUCH9, RTC_GPIO9
GPIO_USER , //33 IO GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator output), ADC1_CH5, TOUCH8, RTC_GPIO8
GPIO_USER , //34 I NO PULLUP GPIO34, ADC1_CH6, RTC_GPIO4
GPIO_USER , //35 I NO PULLUP GPIO35, ADC1_CH7, RTC_GPIO5
GPIO_USER , //36 I NO PULLUP GPIO36, SENSOR_VP, ADC_H, ADC1_CH0, RTC_GPIO0
0 , //37 NO PULLUP
0 , //38 NO PULLUP
GPIO_USER //39 I NO PULLUP GPIO39, SENSOR_VN, ADC1_CH3, ADC_H, RTC_GPIO3
}
} ;
# endif // ESP32
# endif // _TASMOTA_TEMPLATE_ESP32_H_