diff --git a/src/drv/tft/tft_driver_arduinogfx.cpp b/src/drv/tft/tft_driver_arduinogfx.cpp index a01a4f75..ae545104 100644 --- a/src/drv/tft/tft_driver_arduinogfx.cpp +++ b/src/drv/tft/tft_driver_arduinogfx.cpp @@ -34,28 +34,14 @@ void ArduinoGfx::init(int w, int h) sizeof(st7701_type1_init_operations), true /* BGR */); #elif 1 Arduino_ESP32RGBPanel* bus = new Arduino_ESP32RGBPanel( - GFX_NOT_DEFINED /* CS */, GFX_NOT_DEFINED /* SCK */, GFX_NOT_DEFINED /* SDA */, 40 /* DE */, 41 /* VSYNC */, - 39 /* HSYNC */, 42 /* PCLK */, 45 /* R0 */, 48 /* R1 */, 47 /* R2 */, 21 /* R3 */, 14 /* R4 */, 5 /* G0 */, - 6 /* G1 */, 7 /* G2 */, 15 /* G3 */, 16 /* G4 */, 4 /* G5 */, 8 /* B0 */, 3 /* B1 */, 46 /* B2 */, 9 /* B3 */, - 1 /* B4 */ - ); - -#if(TFT_WIDTH == 480) && (TFT_HEIGHT == 272) - // ILI6485 LCD 480x272 - tft = new Arduino_RPi_DPI_RGBPanel(bus, 480 /* width */, 0 /* hsync_polarity */, 8 /* hsync_front_porch */, - 4 /* hsync_pulse_width */, 43 /* hsync_back_porch */, 272 /* height */, - 0 /* vsync_polarity */, 8 /* vsync_front_porch */, 4 /* vsync_pulse_width */, - 12 /* vsync_back_porch */, 1 /* pclk_active_neg */, 9000000 /* prefer_speed */, - true /* auto_flush */); -#elif(TFT_WIDTH == 800) && (TFT_HEIGHT == 480) - // ST7262 IPS LCD 800x480 - tft = new Arduino_RPi_DPI_RGBPanel(bus, 800 /* width */, 0 /* hsync_polarity */, 8 /* hsync_front_porch */, - 4 /* hsync_pulse_width */, 8 /* hsync_back_porch */, 480 /* height */, - 0 /* vsync_polarity */, 8 /* vsync_front_porch */, 4 /* vsync_pulse_width */, - 8 /* vsync_back_porch */, 1 /* pclk_active_neg */, 14000000 /* prefer_speed */, - true /* auto_flush */); -#endif + GFX_NOT_DEFINED /* CS */, GFX_NOT_DEFINED /* SCK */, GFX_NOT_DEFINED /* SDA */, TFT_DE, TFT_VSYNC, TFT_HSYNC, + TFT_PCLK, TFT_R0, TFT_R1, TFT_R2, TFT_R3, TFT_R4, TFT_G0, TFT_G1, TFT_G2, TFT_G3, TFT_G4, TFT_G5, TFT_B0, + TFT_B1, TFT_B2, TFT_B3, TFT_B4); + tft = new Arduino_RPi_DPI_RGBPanel(bus, TFT_WIDTH, TFT_HSYNC_POLARITY, TFT_HSYNC_FRONT_PORCH, TFT_HSYNC_PULSE_WIDTH, + TFT_HSYNC_BACK_PORCH, TFT_HEIGHT, TFT_VSYNC_POLARITY, TFT_VSYNC_FRONT_PORCH, + TFT_VSYNC_PULSE_WIDTH, TFT_VSYNC_BACK_PORCH, TFT_PCLK_ACTIVE_NEG, + TFT_PREFER_SPEED, TFT_AUTO_FLUSH); #endif /* TFT init */ diff --git a/user_setups/esp32s3/sunton-esp32-s3-tft.ini b/user_setups/esp32s3/sunton-esp32-s3-tft.ini index 9bac67f1..1d5458ff 100644 --- a/user_setups/esp32s3/sunton-esp32-s3-tft.ini +++ b/user_setups/esp32s3/sunton-esp32-s3-tft.ini @@ -19,6 +19,24 @@ build_flags = ;region -- LovyanGFX build options ------------------------ -D HASP_USE_ARDUINOGFX=1 -D TFT_BCKL=2 +;endregion + +;region -- Library options ------------------------------- +lib_deps = + ${env.lib_deps} + ${esp32s3.lib_deps} + ${arduino_esp32s3_v2.lib_deps} + ${arduinogfx.lib_deps} + ${goodix.lib_deps} + +lib_ignore = + ${env.lib_ignore} + ${esp32s3.lib_ignore} + ${arduino_esp32s3_v2.lib_ignore} +;endregion + +[sunton-tft-common-pins] +build_flags = -D TFT_DE=40 -D TFT_VSYNC=41 -D TFT_HSYNC=39 @@ -39,22 +57,6 @@ build_flags = -D TFT_B2=46 -D TFT_B3=9 -D TFT_B4=1 -;endregion - -;region -- Library options ------------------------------- -lib_deps = - ${env.lib_deps} - ${esp32s3.lib_deps} - ${arduino_esp32s3_v2.lib_deps} - ${arduinogfx.lib_deps} - ${goodix.lib_deps} - -lib_ignore = - ${env.lib_ignore} - ${esp32s3.lib_ignore} - ${arduino_esp32s3_v2.lib_ignore} -;endregion - [env:sunton-4827s043r_16MB] extends = sunton-esp32-s3-tft, esp32s3_16mb_v2 @@ -64,13 +66,29 @@ build_flags = -D HASP_MODEL="Sunton ESP32-4827S043R" -D TFT_WIDTH=480 -D TFT_HEIGHT=272 - ;-D TOUCH_DRIVER=0x2046 + ; Bus Setttings + ${sunton-tft-common-pins.build_flags} + ; Panel Settings + -D TFT_HSYNC_POLARITY=0 + -D TFT_HSYNC_FRONT_PORCH=8 + -D TFT_HSYNC_PULSE_WIDTH=4 + -D TFT_HSYNC_BACK_PORCH=43 + -D TFT_VSYNC_POLARITY=0 + -D TFT_VSYNC_FRONT_PORCH=8 + -D TFT_VSYNC_PULSE_WIDTH=4 + -D TFT_VSYNC_BACK_PORCH=12 + -D TFT_PCLK_ACTIVE_NEG=1 + -D TFT_PREFER_SPEED=9000000 + -D TFT_AUTO_FLUSH=1 + ; Touch Setttings + -D TOUCH_DRIVER=0x2046 -D TOUCH_SCLK=12 -D TOUCH_MISO=13 -D TOUCH_MOSI=11 -D TOUCH_CS=38 -D TOUCH_IRQ=18 - +lib_deps = + ${sunton-esp32-s3-tft.lib_deps} [env:sunton-4827s043c_16MB] extends = sunton-esp32-s3-tft, esp32s3_16mb_v2 @@ -80,6 +98,21 @@ build_flags = -D HASP_MODEL="Sunton ESP32-4827S043C" -D TFT_WIDTH=480 -D TFT_HEIGHT=272 + ; Bus Setttings + ${sunton-tft-common-pins.build_flags} + ; Panel Settings + -D TFT_HSYNC_POLARITY=0 + -D TFT_HSYNC_FRONT_PORCH=8 + -D TFT_HSYNC_PULSE_WIDTH=4 + -D TFT_HSYNC_BACK_PORCH=43 + -D TFT_VSYNC_POLARITY=0 + -D TFT_VSYNC_FRONT_PORCH=8 + -D TFT_VSYNC_PULSE_WIDTH=4 + -D TFT_VSYNC_BACK_PORCH=12 + -D TFT_PCLK_ACTIVE_NEG=1 + -D TFT_PREFER_SPEED=9000000 + -D TFT_AUTO_FLUSH=1 + ; Touch Setttings -D TOUCH_DRIVER=0x911 -D TOUCH_SCL=20 -D TOUCH_SDA=19 @@ -99,6 +132,21 @@ build_flags = -D HASP_MODEL="Sunton ESP32-8048S043C" -D TFT_WIDTH=800 -D TFT_HEIGHT=480 + ; Bus Setttings + ${sunton-tft-common-pins.build_flags} + ; Panel Settings + -D TFT_HSYNC_POLARITY=0 + -D TFT_HSYNC_FRONT_PORCH=8 + -D TFT_HSYNC_PULSE_WIDTH=4 + -D TFT_HSYNC_BACK_PORCH=8 + -D TFT_VSYNC_POLARITY=0 + -D TFT_VSYNC_FRONT_PORCH=8 + -D TFT_VSYNC_PULSE_WIDTH=4 + -D TFT_VSYNC_BACK_PORCH=8 + -D TFT_PCLK_ACTIVE_NEG=1 + -D TFT_PREFER_SPEED=14000000 + -D TFT_AUTO_FLUSH=1 + ; Touch Setttings -D TOUCH_WIDTH=480 -D TOUCH_HEIGHT=272 -D TOUCH_DRIVER=0x911 @@ -120,6 +168,21 @@ build_flags = -D HASP_MODEL="Sunton ESP32-8048S050C" -D TFT_WIDTH=800 -D TFT_HEIGHT=480 + ; Bus Setttings + ${sunton-tft-common-pins.build_flags} + ; Panel Setttings + -D TFT_HSYNC_POLARITY=0 + -D TFT_HSYNC_FRONT_PORCH=8 + -D TFT_HSYNC_PULSE_WIDTH=4 + -D TFT_HSYNC_BACK_PORCH=8 + -D TFT_VSYNC_POLARITY=0 + -D TFT_VSYNC_FRONT_PORCH=8 + -D TFT_VSYNC_PULSE_WIDTH=4 + -D TFT_VSYNC_BACK_PORCH=8 + -D TFT_PCLK_ACTIVE_NEG=1 + -D TFT_PREFER_SPEED=16000000 + -D TFT_AUTO_FLUSH=1 + ; Touch Setttings -D TOUCH_WIDTH=800 -D TOUCH_HEIGHT=480 -D TOUCH_DRIVER=0x911 @@ -141,6 +204,40 @@ build_flags = -D HASP_MODEL="Sunton ESP32-8048S070C" -D TFT_WIDTH=800 -D TFT_HEIGHT=480 + ; Bus Settings + -D TFT_DE=41 + -D TFT_VSYNC=40 + -D TFT_HSYNC=39 + -D TFT_PCLK=42 + -D TFT_R0=14 + -D TFT_R1=21 + -D TFT_R2=47 + -D TFT_R3=48 + -D TFT_R4=45 + -D TFT_G0=9 + -D TFT_G1=46 + -D TFT_G2=3 + -D TFT_G3=8 + -D TFT_G4=16 + -D TFT_G5=1 + -D TFT_B0=15 + -D TFT_B1=7 + -D TFT_B2=6 + -D TFT_B3=5 + -D TFT_B4=4 + ; Panel Settings + -D TFT_HSYNC_POLARITY=0 + -D TFT_HSYNC_FRONT_PORCH=210 + -D TFT_HSYNC_PULSE_WIDTH=30 + -D TFT_HSYNC_BACK_PORCH=16 + -D TFT_VSYNC_POLARITY=0 + -D TFT_VSYNC_FRONT_PORCH=22 + -D TFT_VSYNC_PULSE_WIDTH=13 + -D TFT_VSYNC_BACK_PORCH=10 + -D TFT_PCLK_ACTIVE_NEG=1 + -D TFT_PREFER_SPEED=16000000 + -D TFT_AUTO_FLUSH=1 + ; Touch Settings -D TOUCH_WIDTH=800 -D TOUCH_HEIGHT=480 -D TOUCH_DRIVER=0x911