Skip to content

Commit 01f7cdb

Browse files
committed
Added 2.1 inches version 2 init command
1 parent 746d4c3 commit 01f7cdb

File tree

3 files changed

+110
-7
lines changed

3 files changed

+110
-7
lines changed

src/LilyGo_RGBPanel.cpp

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ void LilyGo_RGBPanel::initDevice()
7777
case LILYGO_T_RGB_2_1_INCHES_FULL_CIRCLE:
7878
_init_cmd = st7701_2_1_inches;
7979
break;
80+
case LILYGO_T_RGB_2_1_INCHES_HALF_CIRCLE_V2:
81+
case LILYGO_T_RGB_2_1_INCHES_FULL_CIRCLE_V2:
82+
_init_cmd = st7701_2_1_inches_rev2;
83+
break;
8084
case LILYGO_T_RGB_2_8_INCHES:
8185
_init_cmd = st7701_2_8_inches;
8286
break;
@@ -452,6 +456,29 @@ void LilyGo_RGBPanel::initBUS()
452456
BOARD_TFT_DATA11,
453457
};
454458

459+
const int bus_rbg_panel_v2[SOC_LCD_RGB_DATA_WIDTH] = {
460+
BOARD_TFT_DATA12,
461+
BOARD_TFT_DATA13,
462+
BOARD_TFT_DATA14,
463+
BOARD_TFT_DATA15,
464+
BOARD_TFT_DATA16,
465+
// BOARD_TFT_DATA17,
466+
467+
BOARD_TFT_DATA6,
468+
BOARD_TFT_DATA7,
469+
BOARD_TFT_DATA8,
470+
BOARD_TFT_DATA9,
471+
BOARD_TFT_DATA10,
472+
BOARD_TFT_DATA11,
473+
474+
BOARD_TFT_DATA0,
475+
BOARD_TFT_DATA1,
476+
BOARD_TFT_DATA2,
477+
BOARD_TFT_DATA3,
478+
BOARD_TFT_DATA4,
479+
// BOARD_TFT_DATA5,
480+
};
481+
455482
esp_lcd_rgb_panel_config_t panel_config = {
456483
.clk_src = LCD_CLK_SRC_PLL160M,
457484
.timings =
@@ -537,6 +564,25 @@ void LilyGo_RGBPanel::initBUS()
537564
},
538565
};
539566

567+
switch (_panel_type) {
568+
case LILYGO_T_RGB_2_1_INCHES_HALF_CIRCLE_V2:
569+
case LILYGO_T_RGB_2_1_INCHES_FULL_CIRCLE_V2:
570+
panel_config.timings.pclk_hz = 10000000UL;
571+
panel_config.timings.h_res = BOARD_TFT_WIDTH;
572+
panel_config.timings.v_res = BOARD_TFT_HEIGHT;
573+
panel_config.timings.hsync_pulse_width = 2;
574+
panel_config.timings.hsync_back_porch = 34;
575+
panel_config.timings.hsync_front_porch = 20;
576+
panel_config.timings.vsync_pulse_width = 2;
577+
panel_config.timings.vsync_back_porch = 20;
578+
panel_config.timings.vsync_front_porch = 50;
579+
memcpy(panel_config.data_gpio_nums, bus_rbg_panel_v2,
580+
sizeof(panel_config.data_gpio_nums));
581+
break;
582+
default:
583+
break;
584+
}
585+
540586
if (_order == LILYGO_T_RGB_ORDER_BGR) {
541587

542588
// Swap color order
@@ -584,7 +630,8 @@ LilyGo_RGBPanel_TouchType LilyGo_RGBPanel::initTouch()
584630
result = _touchDrv->begin(Wire, GT911_SLAVE_ADDRESS_L, BOARD_I2C_SDA, BOARD_I2C_SCL);
585631
if (result) {
586632
TouchDrvGT911 *tmp = static_cast<TouchDrvGT911 *>(_touchDrv);
587-
tmp->setInterruptMode(FALLING);
633+
// Do not modify the touch interrupt mode, as this may cause touch failure
634+
// tmp->setInterruptMode(FALLING);
588635

589636
log_i("Successfully initialized GT911, using GT911 Driver!");
590637
// _init_cmd = st7701_2_8_inches;

src/LilyGo_RGBPanel.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ enum LilyGo_RGBPanel_Type {
3737
LILYGO_T_RGB_2_1_INCHES_FULL_CIRCLE,
3838
// https://www.lilygo.cc/products/t-rgb?variant=42880799441077
3939
LILYGO_T_RGB_2_8_INCHES,
40+
41+
LILYGO_T_RGB_2_1_INCHES_HALF_CIRCLE_V2,
42+
LILYGO_T_RGB_2_1_INCHES_FULL_CIRCLE_V2,
4043
};
4144

4245
enum LilyGo_RGBPanel_TouchType {

src/RGBPanelInit.h

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ DRAM_ATTR static const lcd_init_cmd_t st7701_2_1_inches[] = {
5151
{0xFF, {0x77, 0x01, 0x00, 0x00, 0x13}, 0x05},
5252
{0xef, {0x08}, 0x01},
5353
{0xFF, {0x77, 0x01, 0x00, 0x00, 0x00}, 0x05},
54-
{0x36, {0x08}, 0x01},
55-
{0x3a, {0x66}, 0x01},
54+
{0x36, {0x08}, 0x01},
55+
{0x3a, {0x66}, 0x01},
5656
{0x11, {0x00}, 0x80},
5757
{0x29, {0x00}, 0x80},
5858
{0, {0}, 0xff}
@@ -64,14 +64,14 @@ DRAM_ATTR static const lcd_init_cmd_t st7701_2_8_inches[] = {
6464
{0xC0, {0x3B, 0X00}, 0x02},
6565
{0xC1, {0x10, 0x0C}, 0x02},
6666
{0xC2, {0x07, 0x0A}, 0x02},
67-
{0xC7, {0x00}, 0x01},
67+
{0xC7, {0x04}, 0x01},
6868
{0xCC, {0x10}, 0x01},
6969
{0xCD, {0x08}, 0x01}, // 用565时屏蔽 666打开
7070
{0xb0, {0x05, 0x12, 0x98, 0x0e, 0x0F, 0x07, 0x07, 0x09, 0x09, 0x23, 0x05, 0x52, 0x0F, 0x67, 0x2C, 0x11}, 0x10},
7171
{0xb1, {0x0B, 0x11, 0x97, 0x0C, 0x12, 0x06, 0x06, 0x08, 0x08, 0x22, 0x03, 0x51, 0x11, 0x66, 0x2B, 0x0F}, 0x10},
7272
{0xFF, {0x77, 0x01, 0x00, 0x00, 0x11}, 0x05},
7373
{0xb0, {0x5d}, 0x01},
74-
{0xb1, {0x2D}, 0x01},
74+
{0xb1, {0x3e}, 0x01},
7575
{0xb2, {0x81}, 0x01},
7676
{0xb3, {0x80}, 0x01},
7777
{0xb5, {0x4E}, 0x01},
@@ -89,19 +89,72 @@ DRAM_ATTR static const lcd_init_cmd_t st7701_2_8_inches[] = {
8989
{0xe6, {0x00, 0x00, 0x11, 0x11}, 0x04},
9090
{0xe7, {0x44, 0x44}, 0x02},
9191
{0xe8, {0x0c, 0xf4, 0x30, 0xf0, 0x0e, 0xf6, 0x30, 0xf0, 0x08, 0xf0, 0x30, 0xf0, 0x0a, 0xf2, 0x30, 0xf0}, 0x10},
92-
{0xe9, {0x36}, 0x01},
92+
{0xe9, {0x36, 0x01}, 0x02},
9393
{0xeb, {0x00, 0x01, 0xe4, 0xe4, 0x44, 0x88, 0x40}, 0x07},
9494
{0xed, {0xff, 0x10, 0xaf, 0x76, 0x54, 0x2b, 0xcf, 0xff, 0xff, 0xfc, 0xb2, 0x45, 0x67, 0xfa, 0x01, 0xff}, 0x10},
9595
{0xef, {0x08, 0x08, 0x08, 0x45, 0x3f, 0x54}, 0x06},
9696
{0xFF, {0x77, 0x01, 0x00, 0x00, 0x00}, 0x05},
9797
{0x11, {0x00}, 0x80},
98-
{0x3a, {0x66}, 0x01},
98+
{0x3a, {0x66}, 0x01}, //RGB Interface 101:16bit / 110:18bit / 111:24bit
9999
{0x36, {0x08}, 0x01},
100100
{0x35, {0x00}, 0x01},
101101
{0x29, {0x00}, 0x80},
102102
{0, {0}, 0xff}
103103
};
104104

105+
DRAM_ATTR static const lcd_init_cmd_t st7701_2_1_inches_rev2[] = {
106+
{0x3A, {0x50}, 0x01}, //RGB Interface 101:16bit / 110:18bit / 111:24bit
107+
// {0x3A, {0x60}, 0x01}, //RGB Interface 101:16bit / 110:18bit / 111:24bit
108+
{0xFF, {0x77, 0x01, 0x00, 0x00, 0x10}, 0x05},
109+
{0xC0, {0x3b, 0x00}, 0x02}, //480 Gate
110+
{0xC1, {0x06, 0x05}, 0x02},
111+
{0xC2, {0x37, 0x02}, 0x02},
112+
{0xC6, {0x21}, 0x01},
113+
{0xC3, {0x02}, 0x01}, //magic
114+
{0xCC, {0x30}, 0x01},
115+
{0xb0, {0xc0, 0x54, 0x5c, 0x0d, 0x51, 0x06, 0x09, 0x08, 0x07, 0x24, 0x03, 0x11, 0x0f, 0xac, 0xb5, 0x7f}, 0x10},
116+
{0xb1, {0xc0, 0x54, 0x5c, 0x0e, 0x11, 0x07, 0x0a, 0x09, 0x08, 0x24, 0x04, 0x51, 0x10, 0xad, 0x75, 0x7f}, 0x10},
117+
{0xFF, {0x77, 0x01, 0x00, 0x00, 0x11}, 0x05},
118+
{0xb0, {0x7d}, 0x01}, //VOP
119+
{0xb1, {0x3b}, 0x01}, //VCOM
120+
{0xb2, {0x07}, 0x01},
121+
{0xb3, {0x80}, 0x01},
122+
{0xb5, {0x45}, 0x01}, //VGL=-10.17V(49) -8.92V(45)
123+
{0xb7, {0x87}, 0x01},
124+
{0xb8, {0x33}, 0x01},
125+
{0xB9, {0x10}, 0x01},
126+
{0xBB, {0x03}, 0x01},
127+
{0xC0, {0x03}, 0x01},
128+
{0xc1, {0x70}, 0x01},
129+
{0xc2, {0x70}, 0x01},
130+
{0xd0, {0x88}, 0x01},
131+
{0xFF, {0x77, 0x01, 0x00, 0x00, 0x11}, 0x05},
132+
{0xe0, {0x00, 0x18, 0x00, 0x00, 0x00, 0x20}, 0x06},
133+
{0xe1, {0x02, 0x00, 0x04, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x22, 0x22}, 0x0b},
134+
{0xe2, {0x10, 0x10, 0x20, 0x20, 0xe7, 0x00, 0x00, 0x00, 0xe6, 0x00, 0x00, 0x00, 0x00}, 0x0d},
135+
{0xe3, {0x00, 0x00, 0x11, 0x11}, 0x04},
136+
{0xe4, {0x44, 0x44}, 0x02},
137+
{0xe5, {0x03, 0xE0, 0x00, 0xF5, 0x05, 0xe2, 0x00, 0xf5, 0x07, 0xe4, 0x00, 0xf5, 0x09, 0xe6, 0x00, 0xf5}, 0x10},
138+
{0xe6, {0x00, 0x00, 0x11, 0x11}, 0x04},
139+
{0xe7, {0x44, 0x44}, 0x02},
140+
{0xe8, {0x02, 0xDF, 0x00, 0xf5, 0x04, 0xe1, 0x00, 0xf5, 0x06, 0xe3, 0x00, 0xf5, 0x08, 0xe5, 0x00, 0xf5}, 0x10},
141+
{0xeb, {0x00, 0x02, 0xe4, 0xe4, 0x88, 0x00, 0x10}, 0x07},
142+
{0xEC, {0x3D, 0x02, 0x00}, 0x03},
143+
{0xed, {0x20, 0x76, 0x54, 0x98, 0xBA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xab, 0x89, 0x45, 0x67, 0x02}, 0x10},
144+
{0xef, {0x00, 0x00, 0x04, 0x00, 0x3f, 0x1f}, 0x06},
145+
{0xFF, {0x77, 0x01, 0x00, 0x00, 0x13}, 0x05},
146+
{0xE8, {0x00, 0x0E}, 0x02},
147+
{0xE8, {0x00, 0x0C}, 0x02},
148+
{0xE8, {0x00, 0x00}, 0x02},
149+
{0xFF, {0x77, 0x01, 0x00, 0x00, 0x00}, 0x05},
150+
{0x36, {0x08}, 0x01},
151+
{0x11, {0x00}, 0x80},
152+
{0x29, {0x00}, 0x80},
153+
{0x20, {0x00}, 0x01}, //Display Inversion Off
154+
// {0x21, {0x00}, 0x01}, //Display Inversion On
155+
{0, {0}, 0xff}
156+
};
157+
105158

106159

107160

0 commit comments

Comments
 (0)