Skip to content

Commit 001bc63

Browse files
authored
Merge pull request #838 from bennydiamond/feature/esp32-2432s022c_support
Initial support for Guition ESP32-2432S022C
2 parents 7e5762d + 1e85b3c commit 001bc63

File tree

2 files changed

+131
-0
lines changed

2 files changed

+131
-0
lines changed

src/drv/tft/tft_driver_lovyangfx.cpp

+67
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,73 @@ void LovyanGfx::init(int w, int h)
804804
cfg.pin_mosi = TOUCH_MOSI;
805805
cfg.pin_miso = TOUCH_MISO;
806806
cfg.pin_cs = TOUCH_CS;
807+
_touch_instance->config(cfg);
808+
_panel_instance->setTouch(_touch_instance);
809+
}
810+
#elif defined(ESP32_2432S022C)
811+
//pinMode(PWR_EN, OUTPUT);
812+
//digitalWrite(PWR_EN, HIGH);
813+
814+
auto _panel_instance = new lgfx::Panel_ST7789();
815+
auto _bus_instance = new lgfx::Bus_Parallel8();
816+
auto _touch_instance = new lgfx::Touch_CST816S();
817+
{
818+
auto cfg = _bus_instance->config();
819+
cfg.freq_write = 16000000;
820+
cfg.pin_wr = TFT_WR;
821+
cfg.pin_rd = TFT_RD;
822+
cfg.pin_rs = TFT_DC; // D/C
823+
cfg.pin_d0 = TFT_D0;
824+
cfg.pin_d1 = TFT_D1;
825+
cfg.pin_d2 = TFT_D2;
826+
cfg.pin_d3 = TFT_D3;
827+
cfg.pin_d4 = TFT_D4;
828+
cfg.pin_d5 = TFT_D5;
829+
cfg.pin_d6 = TFT_D6;
830+
cfg.pin_d7 = TFT_D7;
831+
_bus_instance->config(cfg);
832+
_panel_instance->setBus(_bus_instance);
833+
}
834+
835+
{
836+
auto cfg = _panel_instance->config();
837+
cfg.pin_cs = TFT_CS;
838+
cfg.pin_rst = TFT_RST;
839+
cfg.pin_busy = TFT_BUSY;
840+
cfg.memory_width = TFT_WIDTH;
841+
cfg.memory_height = TFT_HEIGHT;
842+
cfg.panel_width = TFT_WIDTH;
843+
cfg.panel_height = TFT_HEIGHT;
844+
cfg.offset_x = 0;
845+
cfg.offset_y = 0;
846+
cfg.offset_rotation = TFT_ROTATION;
847+
cfg.dummy_read_pixel = 8;
848+
cfg.dummy_read_bits = 1;
849+
cfg.readable = true;
850+
cfg.invert = false;
851+
cfg.rgb_order = false;
852+
cfg.dlen_16bit = false;
853+
cfg.bus_shared = false;
854+
_panel_instance->config(cfg);
855+
}
856+
857+
{
858+
auto cfg = _touch_instance->config();
859+
860+
cfg.x_min = 0;
861+
cfg.x_max = TFT_WIDTH;
862+
cfg.y_min = 0;
863+
cfg.y_max = TFT_HEIGHT;
864+
cfg.pin_int = TOUCH_IRQ;
865+
cfg.bus_shared = true;
866+
cfg.offset_rotation = 0;
867+
868+
cfg.i2c_port = I2C_TOUCH_PORT;
869+
cfg.i2c_addr = I2C_TOUCH_ADDRESS;
870+
cfg.pin_sda = TOUCH_SDA;
871+
cfg.pin_scl = TOUCH_SCL;
872+
cfg.freq = I2C_TOUCH_FREQUENCY;
873+
807874
_touch_instance->config(cfg);
808875
_panel_instance->setTouch(_touch_instance);
809876
}

user_setups/esp32/esp32-2432s022c.ini

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
[env:esp32-2432s022c]
2+
extends = arduino_esp32_v2, flash_4mb
3+
board = esp32dev
4+
upload_speed = 921600
5+
6+
build_flags =
7+
${arduino_esp32_v2.build_flags}
8+
${esp32.no_ps_ram}
9+
10+
;region -- TFT_eSPI build options ------------------------
11+
-D ESP32_2432S022C=1
12+
-D LGFX_USE_V1=1
13+
; -D USER_SETUP_LOADED=1
14+
-D ST7789_DRIVER=1
15+
; -D CGRAM_OFFSET=1
16+
; -DSUPPORT_TRANSACTIONS
17+
-D TFT_INVERSION_OFF
18+
-D TFT_PARALLEL_8_BIT
19+
-D TFT_ROTATION=0 ; 0=0, 1=90, 2=180 or 3=270 degree
20+
-D TFT_WIDTH=240
21+
-D TFT_HEIGHT=320
22+
-D TFT_CS=17 ; Chip select control pin=library pulls permanently low
23+
-D TFT_DC=16 ; Data Command control pin
24+
-D TFT_RST=-1 ; Reset pin, toggles on startup
25+
-D TFT_WR=4 ; Write strobe control pin
26+
-D TFT_RD=2 ; Read strobe control pin
27+
-D TFT_D0=15
28+
-D TFT_D1=13
29+
-D TFT_D2=12
30+
-D TFT_D3=14
31+
-D TFT_D4=27
32+
-D TFT_D5=25
33+
-D TFT_D6=33
34+
-D TFT_D7=32
35+
-D TFT_BCKL=0 ; LED back-light
36+
37+
;CST816S driver
38+
-D TOUCH_DRIVER=0x816
39+
-D HASP_USE_LGFX_TOUCH=1
40+
-D I2C_TOUCH_PORT=I2C_NUM_0
41+
-D TOUCH_SDA=21
42+
-D TOUCH_SCL=22
43+
-D TOUCH_IRQ=-1
44+
-D TOUCH_RST=-1
45+
-D I2C_TOUCH_FREQUENCY=400000
46+
-D I2C_TOUCH_ADDRESS=0x15
47+
48+
49+
-D SD_MISO=19
50+
-D SD_MOSI=23
51+
-D SD_SCLK=18
52+
-D SD_CS=5
53+
54+
; sound output is on IO26, through an SC8002B IC
55+
56+
; -- Debugging options -----------------------------
57+
; -D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
58+
;endregion
59+
60+
lib_deps =
61+
${arduino_esp32_v2.lib_deps}
62+
${lovyangfx.lib_deps}
63+
;${tft_espi.lib_deps}
64+

0 commit comments

Comments
 (0)