diff --git a/ESP32_AP-Flasher/include/espflasher.h b/ESP32_AP-Flasher/include/espflasher.h index 4fb9206b..aa217ce2 100644 --- a/ESP32_AP-Flasher/include/espflasher.h +++ b/ESP32_AP-Flasher/include/espflasher.h @@ -7,6 +7,10 @@ #define ESP_CHIP_TYPE ESP32H2_CHIP #elif defined HAS_TSLR #define SHORT_CHIP_NAME "TSLR" +#elif defined HAS_ELECROW_C6 + #define SHORT_CHIP_NAME "ELECROW_C6" + #define OTA_BIN_DIR "ESP32-C6" + #define ESP_CHIP_TYPE ESP32C6_CHIP #elif defined C6_OTA_FLASHING #define SHORT_CHIP_NAME "C6" #define OTA_BIN_DIR "ESP32-C6" diff --git a/ESP32_AP-Flasher/platformio.ini b/ESP32_AP-Flasher/platformio.ini index cca638d6..f261b1e5 100644 --- a/ESP32_AP-Flasher/platformio.ini +++ b/ESP32_AP-Flasher/platformio.ini @@ -205,6 +205,7 @@ build_flags = -D FLASHER_DEBUG_PROG=33 -D FLASHER_LED=-1 -D TFT_HEIGHT=480 + -D TFT_HW_TYPE=226 -D USE_HSPI_PORT -D LOAD_FONT2 -D MD5_ENABLED=1 @@ -269,6 +270,7 @@ build_flags = ; In this case we only got one TX Pin and no RX so lets only use that. -D UART_LOGGING_TX_ONLY_PIN=43 -D TFT_HEIGHT=480 + -D TFT_HW_TYPE=226 -D USE_HSPI_PORT -D LOAD_FONT2 -D MD5_ENABLED=1 @@ -756,6 +758,74 @@ board_build.psram_type=qspi_opi board_upload.maximum_size = 16777216 board_upload.maximum_ram_size = 327680 board_upload.flash_size = 16MB + +; ---------------------------------------------------------------------------------------- +; !!! this configuration expects an ESP32-S3 16MB Flash 8MB RAM +; ---------------------------------------------------------------------------------------- +[env:ESP32_S3_16_8_ELECROW_ADV_2_8] +board = esp32-s3-devkitc-1 +board_build.partitions = large_spiffs_16MB.csv +build_unflags = + -std=gnu++11 + -D ARDUINO_USB_MODE=1 + -D CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y + -D ILI9341_DRIVER +lib_deps = + ${env.lib_deps} +build_flags = + -std=gnu++17 + ${env.build_flags} + -D HAS_TFT + -D HAS_ELECROW_ADV_2_8 + -D HAS_ELECROW_C6 + -D CORE_DEBUG_LEVEL=0 + -D ARDUINO_USB_MODE=0 + -D CONFIG_ESP32S3_SPIRAM_SUPPORT=1 + -D CONFIG_SPIRAM_USE_MALLOC=1 + -D POWER_NO_SOFT_POWER + -D BOARD_HAS_PSRAM + -D CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y + -D HAS_BLE_WRITER + -D FLASHER_AP_SS=-1 + -D FLASHER_AP_CLK=-1 + -D FLASHER_AP_MOSI=-1 + -D FLASHER_AP_MISO=-1 + -D FLASHER_AP_RESET=46 + -D FLASHER_AP_POWER={-1} + -D FLASHER_AP_TEST=-1 + -D FLASHER_AP_TXD=9 + -D FLASHER_AP_RXD=10 + -D FLASHER_DEBUG_TXD=2 + -D FLASHER_DEBUG_RXD=1 + -D FLASHER_DEBUG_PROG=3 + -D FLASHER_LED=-1 + -D ST7789_DRIVER + -D TFT_WIDTH=240 + -D TFT_HEIGHT=320 + -D TFT_HW_TYPE=229 + -D TFT_MISO=-1 + -D TFT_MOSI=39 + -D TFT_SCLK=42 + -D TFT_CS=40 + -D TFT_DC=41 + -D TFT_RST=-1 + -D TFT_RGB_ORDER=TFT_BGR + -D USE_HSPI_PORT + -D LOAD_FONT2 + -D MD5_ENABLED=1 + -D SERIAL_FLASHER_INTERFACE_UART=1 + -D SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 + -D SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 + -D C6_OTA_FLASHING +build_src_filter = + +<*>--- +board_build.flash_mode=qio +board_build.arduino.memory_type = qio_opi +board_build.psram_type=qspi_opi +board_upload.maximum_size = 16777216 +board_upload.maximum_ram_size = 327680 +board_upload.flash_size = 16MB + ; ---------------------------------------------------------------------------------------- ; !!! this configuration expects an SONOFF ZB Bridge-P ; ---------------------------------------------------------------------------------------- diff --git a/ESP32_AP-Flasher/src/ips_display.cpp b/ESP32_AP-Flasher/src/ips_display.cpp index 3d3a73e5..a66cdb89 100644 --- a/ESP32_AP-Flasher/src/ips_display.cpp +++ b/ESP32_AP-Flasher/src/ips_display.cpp @@ -12,7 +12,12 @@ #include "ips_display.h" #define YELLOW_SENSE 8 // sense AP hardware + +#ifdef HAS_ELECROW_ADV_2_8 +#define TFT_BACKLIGHT 38 +#else #define TFT_BACKLIGHT 14 +#endif TFT_eSPI tft2 = TFT_eSPI(); uint8_t YellowSense = 0; @@ -400,7 +405,9 @@ void sendAvail(uint8_t wakeupReason) { memcpy(&eadr.src, mac, 6); eadr.adr.lastPacketRSSI = WiFi.RSSI(); eadr.adr.currentChannel = config.channel; -#if defined HAS_LILYGO_TPANEL || defined HAS_4inch_TPANEL +#ifdef TFT_HW_TYPE + eadr.adr.hwType = TFT_HW_TYPE; +#elif defined HAS_LILYGO_TPANEL || defined HAS_4inch_TPANEL eadr.adr.hwType = 0xE2; #else eadr.adr.hwType = (tft2.width() == 160 ? 0xE1 : 0xE0); @@ -435,10 +442,14 @@ void yellow_ap_display_init(void) { gfx->begin(); gfx->fillScreen(BLACK); +#else +#ifdef HAS_ELECROW_C6 + YellowSense = 0; #else pinMode(YELLOW_SENSE, INPUT_PULLDOWN); vTaskDelay(100 / portTICK_PERIOD_MS); if (digitalRead(YELLOW_SENSE) == HIGH) YellowSense = 1; +#endif pinMode(TFT_BACKLIGHT, OUTPUT); digitalWrite(TFT_BACKLIGHT, LOW);