From 1c1495d52d426bcac0055406c65629866eb3062b Mon Sep 17 00:00:00 2001 From: mikep1998 <44448320+mikep1998@users.noreply.github.com> Date: Tue, 11 May 2021 00:26:14 -0700 Subject: [PATCH] rework of mapping --- lib/lib_display/UDisplay/uDisplay.cpp | 49 +++---------------- .../displaydesc/ILI9488_XPT2046_display.ini | 8 +-- 2 files changed, 10 insertions(+), 47 deletions(-) diff --git a/lib/lib_display/UDisplay/uDisplay.cpp b/lib/lib_display/UDisplay/uDisplay.cpp index fb0a8177f..e298ec8d1 100755 --- a/lib/lib_display/UDisplay/uDisplay.cpp +++ b/lib/lib_display/UDisplay/uDisplay.cpp @@ -1384,7 +1384,12 @@ void uDisplay::dim(uint8_t dim) { void uDisplay::TS_RotConvert(int16_t *x, int16_t *y) { int16_t temp; - // Serial.printf("RAW X: %d, Y: %d, width: %d, height: %d\n", *x, *y, width(), height()); + 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]) { case 0: @@ -1403,50 +1408,8 @@ void uDisplay::TS_RotConvert(int16_t *x, int16_t *y) { *y = *x; *x = width() - temp; break; - case 4: - break; - case 5: - // Serial.printf("Case 1 before, X: %d, Y: %d\n", *x, *y); - temp = *y; - *y = rotmap_xmax - *x; - *x = temp; - // Serial.printf("Case 1 after, X: %d, Y: %d\n", *x, *y); - break; - case 6: - // Serial.printf("Case 2 before, X: %d, Y: %d\n", *x, *y); - *x = rotmap_xmax - *x; - *y = rotmap_ymax - *y; - // Serial.printf("Case 2 after, X: %d, Y: %d\n", *x, *y); - break; - case 7: - // Serial.printf("Case 3 before, X: %d, Y: %d\n", *x, *y); - temp = *y; - *y = *x; - *x = rotmap_xmax - temp; - // Serial.printf("Case 3 after, X: %d, Y: %d\n", *x, *y); - break; } - // Serial.printf("MAP rot: %d, case: %d, X: %d, Y: %d\n",cur_rot , rot_t[cur_rot], *x, *y); - - if (rotmap_xmin >= 0) { - *y = map(*y, rotmap_ymin, rotmap_ymax, 0, height()); - *x = map(*x, rotmap_xmin, rotmap_xmax, 0, width()); - } - - if (*x < 0) { - *x = 0; - } else if (*x > width()) { - *x = width(); - } - if (*y < 0) { - *y = 0; - } else if (*y > height()) { - *y = height(); - } - - // Serial.printf("ROT X: %d, Y: %d\n", *x, *y); - } uint8_t uDisplay::strlen_ln(char *str) { diff --git a/tasmota/displaydesc/ILI9488_XPT2046_display.ini b/tasmota/displaydesc/ILI9488_XPT2046_display.ini index f1bbf892d..5d7fbbd5e 100644 --- a/tasmota/displaydesc/ILI9488_XPT2046_display.ini +++ b/tasmota/displaydesc/ILI9488_XPT2046_display.ini @@ -20,10 +20,10 @@ F7,4,A9,51,2C,82 :O,29 :A,2A,2B,2C,16 :R,36 -:0,28,00,00,06 -:1,48,00,00,05 -:2,E8,00,00,04 -:3,88,00,00,07 +: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