mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-21 02:06:35 +00:00
Merge pull request #612 from tbxMb/esp32-s3-4848S040
Thank you very much, please test the build asset firmware when the Build Action is complete.
This commit is contained in:
commit
8d5ae794a1
@ -11,6 +11,125 @@
|
||||
#include "Arduino_GFX.h"
|
||||
#include "Arduino_RGBPanel_mod.h"
|
||||
|
||||
static const uint8_t st7701_4848S040_init_operations[] = {
|
||||
BEGIN_WRITE,
|
||||
WRITE_COMMAND_8, 0xFF,
|
||||
WRITE_BYTES, 5, 0x77, 0x01, 0x00, 0x00, 0x10,
|
||||
|
||||
WRITE_C8_D16, 0xC0, 0x3B, 0x00,
|
||||
WRITE_C8_D16, 0xC1, 0x0D, 0x02,
|
||||
WRITE_C8_D16, 0xC2, 0x31, 0x05,
|
||||
WRITE_C8_D8, 0xCD, 0x00,//0x08
|
||||
|
||||
WRITE_COMMAND_8, 0xB0, // Positive Voltage Gamma Control
|
||||
WRITE_BYTES, 16,
|
||||
0x00, 0x11, 0x18, 0x0E,
|
||||
0x11, 0x06, 0x07, 0x08,
|
||||
0x07, 0x22, 0x04, 0x12,
|
||||
0x0F, 0xAA, 0x31, 0x18,
|
||||
|
||||
WRITE_COMMAND_8, 0xB1, // Negative Voltage Gamma Control
|
||||
WRITE_BYTES, 16,
|
||||
0x00, 0x11, 0x19, 0x0E,
|
||||
0x12, 0x07, 0x08, 0x08,
|
||||
0x08, 0x22, 0x04, 0x11,
|
||||
0x11, 0xA9, 0x32, 0x18,
|
||||
|
||||
// PAGE1
|
||||
WRITE_COMMAND_8, 0xFF,
|
||||
WRITE_BYTES, 5, 0x77, 0x01, 0x00, 0x00, 0x11,
|
||||
|
||||
WRITE_C8_D8, 0xB0, 0x60, // Vop=4.7375v
|
||||
WRITE_C8_D8, 0xB1, 0x32, // VCOM=32
|
||||
WRITE_C8_D8, 0xB2, 0x07, // VGH=15v
|
||||
WRITE_C8_D8, 0xB3, 0x80,
|
||||
WRITE_C8_D8, 0xB5, 0x49, // VGL=-10.17v
|
||||
WRITE_C8_D8, 0xB7, 0x85,
|
||||
WRITE_C8_D8, 0xB8, 0x21, // AVDD=6.6 & AVCL=-4.6
|
||||
WRITE_C8_D8, 0xC1, 0x78,
|
||||
WRITE_C8_D8, 0xC2, 0x78,
|
||||
|
||||
WRITE_COMMAND_8, 0xE0,
|
||||
WRITE_BYTES, 3, 0x00, 0x1B, 0x02,
|
||||
|
||||
WRITE_COMMAND_8, 0xE1,
|
||||
WRITE_BYTES, 11,
|
||||
0x08, 0xA0, 0x00, 0x00,
|
||||
0x07, 0xA0, 0x00, 0x00,
|
||||
0x00, 0x44, 0x44,
|
||||
|
||||
WRITE_COMMAND_8, 0xE2,
|
||||
WRITE_BYTES, 12,
|
||||
0x11, 0x11, 0x44, 0x44,
|
||||
0xED, 0xA0, 0x00, 0x00,
|
||||
0xEC, 0xA0, 0x00, 0x00,
|
||||
|
||||
WRITE_COMMAND_8, 0xE3,
|
||||
WRITE_BYTES, 4, 0x00, 0x00, 0x11, 0x11,
|
||||
|
||||
WRITE_C8_D16, 0xE4, 0x44, 0x44,
|
||||
|
||||
WRITE_COMMAND_8, 0xE5,
|
||||
WRITE_BYTES, 16,
|
||||
0x0A, 0xE9, 0xD8, 0xA0,
|
||||
0x0C, 0xEB, 0xD8, 0xA0,
|
||||
0x0E, 0xED, 0xD8, 0xA0,
|
||||
0x10, 0xEF, 0xD8, 0xA0,
|
||||
|
||||
WRITE_COMMAND_8, 0xE6,
|
||||
WRITE_BYTES, 4, 0x00, 0x00, 0x11, 0x11,
|
||||
|
||||
WRITE_C8_D16, 0xE7, 0x44, 0x44,
|
||||
|
||||
WRITE_COMMAND_8, 0xE8,
|
||||
WRITE_BYTES, 16,
|
||||
0x09, 0xE8, 0xD8, 0xA0,
|
||||
0x0B, 0xEA, 0xD8, 0xA0,
|
||||
0x0D, 0xEC, 0xD8, 0xA0,
|
||||
0x0F, 0xEE, 0xD8, 0xA0,
|
||||
|
||||
WRITE_COMMAND_8, 0xEB,
|
||||
WRITE_BYTES, 7,
|
||||
0x02, 0x00, 0xE4, 0xE4,
|
||||
0x88, 0x00, 0x40,
|
||||
|
||||
WRITE_C8_D16, 0xEC, 0x3C, 0x00,
|
||||
|
||||
WRITE_COMMAND_8, 0xED,
|
||||
WRITE_BYTES, 16,
|
||||
0xAB, 0x89, 0x76, 0x54,
|
||||
0x02, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x20,
|
||||
0x45, 0x67, 0x98, 0xBA,
|
||||
|
||||
//-----------VAP & VAN---------------
|
||||
WRITE_COMMAND_8, 0xFF,
|
||||
WRITE_BYTES, 5, 0x77, 0x01, 0x00, 0x00, 0x13,
|
||||
|
||||
WRITE_C8_D8, 0xE5, 0xE4,
|
||||
|
||||
WRITE_COMMAND_8, 0xFF,
|
||||
WRITE_BYTES, 5, 0x77, 0x01, 0x00, 0x00, 0x00,
|
||||
|
||||
WRITE_COMMAND_8, 0x21, // 0x20 normal, 0x21 IPS
|
||||
WRITE_C8_D8, 0x3A, 0x60, // 0x70 RGB888, 0x60 RGB666, 0x50 RGB565
|
||||
|
||||
//WRITE_COMMAND_8, 0x21,0X00,
|
||||
//END_WRITE,
|
||||
|
||||
WRITE_COMMAND_8, 0x11, // Sleep Out
|
||||
END_WRITE,
|
||||
|
||||
DELAY, 120,
|
||||
|
||||
BEGIN_WRITE,
|
||||
WRITE_COMMAND_8, 0x29, // Display On
|
||||
END_WRITE,
|
||||
|
||||
BEGIN_WRITE,
|
||||
WRITE_COMMAND_8, 0x20, // Invert display
|
||||
END_WRITE
|
||||
};
|
||||
|
||||
static const uint8_t st7701_sensecap_indicator_init_operations[] = {
|
||||
BEGIN_WRITE,
|
||||
|
@ -71,6 +71,7 @@ extra_default_envs =
|
||||
; wt-86-32-3zw1
|
||||
; yeacreate-nscreen32
|
||||
; wz2432r028
|
||||
; esp32-s3-4848S040
|
||||
;endregion
|
||||
|
||||
;region -- Define your local COM ports for each environment ---
|
||||
|
@ -63,6 +63,16 @@ void ArduinoGfx::init(int w, int h)
|
||||
tft = new Arduino_RGB_Display(w, h, rgbpanel, 0 /* rotation */, TFT_AUTO_FLUSH, bus, TFT_RST,
|
||||
gc9503v_type1_init_operations, sizeof(gc9503v_type1_init_operations));
|
||||
|
||||
#elif(TFT_WIDTH == 480) && (TFT_HEIGHT == 480) && defined(ST7701_DRIVER) && defined(ST7701_4848S040)
|
||||
Arduino_DataBus* bus = new Arduino_SWSPI(TFT_DC, TFT_CS, TFT_SCLK, TFT_MOSI, TFT_MISO);
|
||||
Arduino_ESP32RGBPanel* rgbpanel = new Arduino_ESP32RGBPanel(
|
||||
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_HSYNC_POLARITY, TFT_HSYNC_FRONT_PORCH,
|
||||
TFT_HSYNC_PULSE_WIDTH, TFT_HSYNC_BACK_PORCH, TFT_VSYNC_POLARITY, TFT_VSYNC_FRONT_PORCH, TFT_VSYNC_PULSE_WIDTH,
|
||||
TFT_VSYNC_BACK_PORCH);
|
||||
|
||||
tft = new Arduino_RGB_Display(w, h, rgbpanel, 0 /* rotation */, TFT_AUTO_FLUSH, bus, TFT_RST,
|
||||
st7701_4848S040_init_operations, sizeof(st7701_4848S040_init_operations));
|
||||
#elif(TFT_WIDTH == 480) && (TFT_HEIGHT == 480) && defined(ST7701_DRIVER)
|
||||
/* More data bus class: https://github.com/moononournation/Arduino_GFX/wiki/Data-Bus-Class */
|
||||
Arduino_DataBus* bus = new Arduino_SWSPI(TFT_DC, TFT_CS, TFT_SCLK, TFT_MOSI, TFT_MISO);
|
||||
|
86
user_setups/esp32s3/esp32-s3-4848S040.ini
Normal file
86
user_setups/esp32s3/esp32-s3-4848S040.ini
Normal file
@ -0,0 +1,86 @@
|
||||
;***************************************************;
|
||||
; Generic T3E with TFT 3.95" ;
|
||||
; - Custom esp32-s3 board ;
|
||||
; - st7701s TFT ;
|
||||
; - gt911 touch controller ;
|
||||
;***************************************************;
|
||||
|
||||
[esp32-s3-4848S040]
|
||||
extends = arduino_esp32s3_v2
|
||||
board = esp32-s3-devkitc-1
|
||||
board_build.arduino.memory_type = qio_opi
|
||||
|
||||
build_flags =
|
||||
-D HASP_MODEL="ESP32-S3 4848S040"
|
||||
${arduino_esp32s3_v2.build_flags}
|
||||
${esp32s3.ps_ram}
|
||||
;-DARDUINO_USB_CDC_ON_BOOT
|
||||
;-DUSE_USB_CDC_CONSOLE
|
||||
|
||||
;region -- ArduinoGFX build options ------------------------
|
||||
-D HASP_USE_ARDUINOGFX=1
|
||||
-D ST7701_DRIVER=1
|
||||
-D ST7701_4848S040=1
|
||||
-D TFT_WIDTH=480
|
||||
-D TFT_HEIGHT=480
|
||||
; Bus Settings
|
||||
-D TFT_CS=39
|
||||
-D TFT_SCLK=48
|
||||
-D TFT_MOSI=47
|
||||
-D TFT_DE=18
|
||||
-D TFT_VSYNC=17
|
||||
-D TFT_HSYNC=16
|
||||
-D TFT_PCLK=21
|
||||
-D TFT_R0=11
|
||||
-D TFT_R1=12
|
||||
-D TFT_R2=13
|
||||
-D TFT_R3=14
|
||||
-D TFT_R4=0
|
||||
-D TFT_G0=8
|
||||
-D TFT_G1=20
|
||||
-D TFT_G2=3
|
||||
-D TFT_G3=46
|
||||
-D TFT_G4=9
|
||||
-D TFT_G5=10
|
||||
-D TFT_B0=4
|
||||
-D TFT_B1=5
|
||||
-D TFT_B2=6
|
||||
-D TFT_B3=7
|
||||
-D TFT_B4=15
|
||||
-D TFT_DC=-1
|
||||
-D TFT_MISO=-1
|
||||
-D TFT_RST=-1
|
||||
-D TFT_BUSY=-1
|
||||
-D TFT_BCKL=38
|
||||
; Panel Settings
|
||||
-D TFT_HSYNC_POLARITY=1
|
||||
-D TFT_HSYNC_FRONT_PORCH=10
|
||||
-D TFT_HSYNC_PULSE_WIDTH=8
|
||||
-D TFT_HSYNC_BACK_PORCH=50
|
||||
-D TFT_VSYNC_POLARITY=1
|
||||
-D TFT_VSYNC_FRONT_PORCH=10
|
||||
-D TFT_VSYNC_PULSE_WIDTH=8
|
||||
-D TFT_VSYNC_BACK_PORCH=20
|
||||
-D TFT_PCLK_ACTIVE_NEG=1
|
||||
-D TFT_PREFER_SPEED=12000000
|
||||
-D TFT_AUTO_FLUSH=1
|
||||
; Touch Settings
|
||||
-D TOUCH_DRIVER=0x911
|
||||
-D TOUCH_WIDTH=480
|
||||
-D TOUCH_HEIGHT=480
|
||||
-D TOUCH_SDA=19
|
||||
-D TOUCH_SCL=45
|
||||
-D TOUCH_RST=-1
|
||||
-D TOUCH_IRQ=-1
|
||||
-D I2C_TOUCH_FREQUENCY=400000
|
||||
-D I2C_TOUCH_ADDRESS=0x5D ; or 0x14
|
||||
-D I2C_TOUCH_PORT=1
|
||||
;endregion
|
||||
|
||||
lib_deps =
|
||||
${arduino_esp32s3_v2.lib_deps}
|
||||
${arduinogfx.lib_deps}
|
||||
${goodix.lib_deps}
|
||||
|
||||
[env:esp32-s3-4848S040]
|
||||
extends = esp32-s3-4848S040, flash_16mb
|
Loading…
x
Reference in New Issue
Block a user