From b1cc8facbff74cc9b8e6c71bd789611cb2db3a9d Mon Sep 17 00:00:00 2001 From: mverch67 Date: Wed, 26 Mar 2025 00:33:44 +0100 Subject: [PATCH] added elecrow-24-tft --- variants/elecrow_panel/platformio.ini | 49 +++++++++++++++++++++------ variants/elecrow_panel/variant.h | 38 +++++++++++---------- 2 files changed, 60 insertions(+), 27 deletions(-) diff --git a/variants/elecrow_panel/platformio.ini b/variants/elecrow_panel/platformio.ini index 4a77caa14..15a3a9d14 100644 --- a/variants/elecrow_panel/platformio.ini +++ b/variants/elecrow_panel/platformio.ini @@ -16,7 +16,6 @@ build_flags = ${esp32s3_base.build_flags} -DRADIOLIB_DEBUG_BASIC=0 -DRADIOLIB_VERBOSE_ASSERT=0 -DRADIOLIB_SPI_PARANOID=0 - -DUSE_ARDUINO_HAL_GPIO lib_deps = ${esp32s3_base.lib_deps} earlephilhower/ESP8266Audio@^1.9.9 @@ -33,12 +32,11 @@ build_flags = ${crowpanel_base.build_flags} -Os -D MESHTASTIC_EXCLUDE_CANNEDMESSAGES=1 -D MESHTASTIC_EXCLUDE_INPUTBROKER=1 - -D MESHTASTIC_EXCLUDE_BLUETOOTH=1 - -D MESHTASTIC_EXCLUDE_SCREEN=1 - -D MESHTASTIC_EXCLUDE_ENVIRONMENTAL_SENSOR=1 -D MESHTASTIC_EXCLUDE_WEBSERVER=1 -D MESHTASTIC_EXCLUDE_SERIAL=1 -D MESHTASTIC_EXCLUDE_SOCKETAPI=1 + -D MESHTASTIC_EXCLUDE_SCREEN=1 + -D MESHTASTIC_EXCLUDE_ENVIRONMENTAL_SENSOR=1 ; -D INPUTDRIVER_BUTTON_TYPE=0 -D HAS_TELEMETRY=0 -D CONFIG_DISABLE_HAL_LOCKS=1 @@ -47,6 +45,7 @@ build_flags = -D HAS_TFT=1 ; -D DISPLAY_SET_RESOLUTION ; -D USE_I2S_BUZZER +; -D USE_PIN_BUZZER -D RAM_SIZE=6144 -D LV_LVGL_H_INCLUDE_SIMPLE -D LV_CONF_INCLUDE_SIMPLE @@ -56,18 +55,17 @@ build_flags = -D LV_USE_PERF_MONITOR=0 -D LV_USE_MEM_MONITOR=0 -D LV_USE_LOG=0 + -D LV_BUILD_TEST=0 -D USE_LOG_DEBUG -D LOG_DEBUG_INC=\"DebugConfiguration.h\" -; -D CUSTOM_TOUCH_DRIVER -; -D CALIBRATE_TOUCH=0 -; -D USE_DOUBLE_BUFFER -D USE_PACKET_API build_src_filter = ${crowpanel_base.build_src_filter} - +<../lib/device-ui/resources> - +<../lib/device-ui/locale> - +<../lib/device-ui/source> + +lib_deps = + ${crowpanel_base.lib_deps} + ${device-ui_base.lib_deps} # 2.4 inch 320x240 IPS ST7789 [env:elecrow-24] @@ -81,6 +79,37 @@ build_flags = -D TFT_OFFSET_Y=0 -D TFT_BUSY=-1 +[env:elecrow-24-tft] +extends = crowpanel_base_tft + +build_flags = + ${crowpanel_base_tft.build_flags} + -D TFT_HEIGHT=320 ; needed in variant.h + -D HAS_SDCARD + -D USE_I2S_BUZZER + -D LGFX_DRIVER_TEMPLATE + -D LGFX_DRIVER=LGFX_GENERIC + -D GFX_DRIVER_INC=\"graphics/LGFX/LGFX_GENERIC.h\" + -D SPI_FREQUENCY=80000000 + -D LGFX_SCREEN_WIDTH=240 + -D LGFX_SCREEN_HEIGHT=320 + -D LGFX_PANEL=ST7789 + -D LGFX_ROTATION=1 + -D LGFX_PIN_SCK=42 + -D LGFX_PIN_MOSI=39 + -D LGFX_PIN_DC=41 + -D LGFX_PIN_CS=40 + -D LGFX_PIN_BL=38 + -D LGFX_TOUCH=FT5x06 + -D LGFX_TOUCH_I2C_ADDR=0x38 + -D LGFX_TOUCH_I2C_SDA=15 + -D LGFX_TOUCH_I2C_SCL=16 + -D LGFX_TOUCH_INT=47 + -D LGFX_TOUCH_RST=48 + -D LGFX_TOUCH_ROTATION=0 + -D VIEW_320x240 + -D MAP_FULL_REDRAW + # 2.8 inch 320x480 IPS ST7789 [env:elecrow-28] extends = crowpanel_base diff --git a/variants/elecrow_panel/variant.h b/variants/elecrow_panel/variant.h index de55b396e..1699f6b65 100644 --- a/variants/elecrow_panel/variant.h +++ b/variants/elecrow_panel/variant.h @@ -3,7 +3,7 @@ #define PIN_BUZZER 8 -#if TFT_HEIGHT == 320 //2.4 and 2.8 TFT +#if TFT_HEIGHT == 320 && not defined(HAS_TFT) // 2.4 and 2.8 TFT // ST7789 TFT LCD #define ST7789_CS 40 #define ST7789_RS 41 // DC @@ -15,7 +15,7 @@ #define ST7789_BL 38 #define ST7789_SPI_HOST SPI2_HOST #define TFT_BL 38 -#define SPI_FREQUENCY 40000000 +#define SPI_FREQUENCY 60000000 #define SPI_READ_FREQUENCY 16000000 #define TFT_OFFSET_ROTATION 0 #define SCREEN_ROTATE @@ -27,10 +27,10 @@ #define SCREEN_TOUCH_INT 47 #define SCREEN_TOUCH_RST 48 #define TOUCH_I2C_PORT 0 -#define TOUCH_SLAVE_ADDRESS 0x5D // GT911 +#define TOUCH_SLAVE_ADDRESS 0x38 // FT5x06 #endif -#if TFT_HEIGHT == 480 // 3.5 TFT +#if TFT_HEIGHT == 480 && not defined(HAS_TFT) // 3.5 TFT // ILI9488 TFT LCD #define ILI9488_CS 40 #define ILI9488_RS 41 // DC @@ -120,27 +120,31 @@ #define SC7277_PCLK_ACTIVE_NEG 0 #endif +#if TFT_HEIGHT == 320 // dac / amp -// #define HAS_I2S // cannot use LoRa / I2S / SDCard together -// #define DAC_I2S_BCK 5 -// #define DAC_I2S_WS 6 -// #define DAC_I2S_DOUT 4 -// #define DAC_I2S_MCLK 0 // GPIO lrck mic - +#define HAS_I2S +#define DAC_I2S_BCK 13 +#define DAC_I2S_WS 11 +#define DAC_I2S_DOUT 12 +#define DAC_I2S_MCLK 0 +#endif // GPS via UART1 connector #define HAS_GPS 1 -//#define GPS_DEFAULT_NOT_PRESENT 1 +// #define GPS_DEFAULT_NOT_PRESENT 1 #define GPS_RX_PIN 18 #define GPS_TX_PIN 17 -#if TFT_HEIGHT == 320 || TFT_HEIGHT == 480 //2.4 - 3.5 TFT -// SDCard (from 4.3 only if LoRa is disabled) -#define HAS_SDCARD +#if TFT_HEIGHT == 320 || TFT_HEIGHT == 480 +// SDCard 2.4 - 3.5 TFT +// #define HAS_SDCARD -> must be defined in platformio.ini #define SPI_SCK 5 #define SPI_MISO 4 #define SPI_MOSI 6 #define SDCARD_CS 7 // SD does not support -1 +#else +// SDCard (from 4.3 only if LoRa is disabled) + #endif // Extension Slot Layout, viewed from above (2.4-3.5) @@ -167,13 +171,13 @@ #define USE_SX1262 #define LORA_CS 0 // GND -#if TFT_HEIGHT == 320 || TFT_HEIGHT == 480 //2.4 - 3.5 TFT +#if TFT_HEIGHT == 320 || TFT_HEIGHT == 480 // 2.4 - 3.5 TFT #define LORA_SCK 10 #define LORA_MISO 9 #define LORA_MOSI 3 #define LORA_RESET 2 -#define LORA_DIO1 1 // SX1262 IRQ +#define LORA_DIO1 1 // SX1262 IRQ #define LORA_DIO2 46 // SX1262 BUSY // need to pull IO45 low to enable LORA and disable Microphone on 24 28 35 @@ -186,7 +190,7 @@ #define LORA_RESET 19 #define LORA_DIO1 20 // SX1262 IRQ -#define LORA_DIO2 2 // SX1262 BUSY +#define LORA_DIO2 2 // SX1262 BUSY #endif #define SX126X_CS LORA_CS