Added support for Elcrow Advanced 2.8" AP.

This commit is contained in:
Skip Hansen
2025-03-25 10:02:39 -07:00
parent 6637405358
commit 447611ba4a
3 changed files with 86 additions and 1 deletions

View File

@@ -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"

View File

@@ -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 =
+<*>-<usbflasher.cpp>-<swd.cpp>-<webflasher.cpp>
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
; ----------------------------------------------------------------------------------------

View File

@@ -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);