mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-23 10:46:31 +00:00
Merge pull request #12075 from mikep1998/development
Adding support for ILI9488/XPT2046 display
This commit is contained in:
commit
d10aad68d1
@ -69,6 +69,7 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) {
|
|||||||
fg_col = 1;
|
fg_col = 1;
|
||||||
bg_col = 0;
|
bg_col = 0;
|
||||||
splash_font = -1;
|
splash_font = -1;
|
||||||
|
rotmap_xmin = -1;
|
||||||
allcmd_mode = 0;
|
allcmd_mode = 0;
|
||||||
startline = 0xA1;
|
startline = 0xA1;
|
||||||
uint8_t section = 0;
|
uint8_t section = 0;
|
||||||
@ -290,6 +291,12 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) {
|
|||||||
lvgl_param.fluslines = next_val(&lp1);
|
lvgl_param.fluslines = next_val(&lp1);
|
||||||
lvgl_param.use_dma = next_val(&lp1);
|
lvgl_param.use_dma = next_val(&lp1);
|
||||||
break;
|
break;
|
||||||
|
case 'M':
|
||||||
|
rotmap_xmin = next_val(&lp1);
|
||||||
|
rotmap_xmax = next_val(&lp1);
|
||||||
|
rotmap_ymin = next_val(&lp1);
|
||||||
|
rotmap_ymax = next_val(&lp1);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1372,9 +1379,18 @@ void uDisplay::dim(uint8_t dim) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// the cases are PSEUDO_OPCODES from MODULE_DESCRIPTOR
|
||||||
|
// and may be exapnded with more opcodes
|
||||||
void uDisplay::TS_RotConvert(int16_t *x, int16_t *y) {
|
void uDisplay::TS_RotConvert(int16_t *x, int16_t *y) {
|
||||||
int16_t temp;
|
int16_t temp;
|
||||||
|
|
||||||
|
if (rotmap_xmin >= 0) {
|
||||||
|
*y = map(*y, rotmap_ymin, rotmap_ymax, 0, gys);
|
||||||
|
*x = map(*x, rotmap_xmin, rotmap_xmax, 0, gxs);
|
||||||
|
}
|
||||||
|
*x = constrain(*x, 0, gxs);
|
||||||
|
*y = constrain(*y, 0, gys);
|
||||||
|
|
||||||
switch (rot_t[cur_rot]) {
|
switch (rot_t[cur_rot]) {
|
||||||
case 0:
|
case 0:
|
||||||
break;
|
break;
|
||||||
@ -1393,6 +1409,7 @@ void uDisplay::TS_RotConvert(int16_t *x, int16_t *y) {
|
|||||||
*x = width() - temp;
|
*x = width() - temp;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t uDisplay::strlen_ln(char *str) {
|
uint8_t uDisplay::strlen_ln(char *str) {
|
||||||
|
@ -214,6 +214,10 @@ class uDisplay : public Renderer {
|
|||||||
uint16_t seta_xp2;
|
uint16_t seta_xp2;
|
||||||
uint16_t seta_yp1;
|
uint16_t seta_yp1;
|
||||||
uint16_t seta_yp2;
|
uint16_t seta_yp2;
|
||||||
|
int16_t rotmap_xmin;
|
||||||
|
int16_t rotmap_xmax;
|
||||||
|
int16_t rotmap_ymin;
|
||||||
|
int16_t rotmap_ymax;
|
||||||
void pushColorsMono(uint16_t *data, uint16_t len);
|
void pushColorsMono(uint16_t *data, uint16_t len);
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
// dma section
|
// dma section
|
||||||
|
32
tasmota/displaydesc/ILI9488_XPT2046_display.ini
Normal file
32
tasmota/displaydesc/ILI9488_XPT2046_display.ini
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
:H,ILI9488,480,320,16,SPI,1,*,*,*,*,*,*,*,10
|
||||||
|
:S,2,1,1,0,40,20
|
||||||
|
:I
|
||||||
|
E0,0F,00,03,09,08,16,0A,3F,78,4C,09,0A,08,16,1A,0F
|
||||||
|
E1,0F,00,16,19,03,0F,05,32,45,46,04,0E,0D,35,37,0F
|
||||||
|
C0,2,17,15
|
||||||
|
C1,1,41
|
||||||
|
C5,3,00,12,80
|
||||||
|
36,1,48
|
||||||
|
3A,1,66
|
||||||
|
B0,1,80
|
||||||
|
B1,1,A0
|
||||||
|
B4,1,02
|
||||||
|
B6,2,02,02
|
||||||
|
E9,1,00
|
||||||
|
F7,4,A9,51,2C,82
|
||||||
|
11,80
|
||||||
|
29,0
|
||||||
|
:o,28
|
||||||
|
:O,29
|
||||||
|
:A,2A,2B,2C,16
|
||||||
|
:R,36
|
||||||
|
:0,28,00,00,02
|
||||||
|
:1,48,00,00,01
|
||||||
|
:2,E8,00,00,00
|
||||||
|
:3,88,00,00,03
|
||||||
|
:P,18
|
||||||
|
:i,20,21
|
||||||
|
:TS,16
|
||||||
|
:B,20,0
|
||||||
|
:M,340,3900,300,3800
|
||||||
|
#
|
Loading…
x
Reference in New Issue
Block a user