Correct rotated touch coordinates bug
This commit is contained in:
parent
3c9ab80ee6
commit
99b8568a48
|
|
@ -203,7 +203,7 @@ void TFT_eSPI::calibrateTouch(uint16_t *parameters, uint32_t color_fg, uint32_t
|
|||
|
||||
for(uint8_t j= 0; j<8; j++){
|
||||
// Use a lower detect threshold as corners tend to be less sensitive
|
||||
while(!validTouch(&x_tmp, &y_tmp, Z_THRESHOLD/2)) delay(10);
|
||||
while(!validTouch(&x_tmp, &y_tmp, Z_THRESHOLD/4));
|
||||
values[i*2 ] += x_tmp;
|
||||
values[i*2+1] += y_tmp;
|
||||
}
|
||||
|
|
@ -215,14 +215,14 @@ void TFT_eSPI::calibrateTouch(uint16_t *parameters, uint32_t color_fg, uint32_t
|
|||
|
||||
// check orientation
|
||||
// from case 0 to case 1, the y value changed.
|
||||
// If the meassured delta of the touch x axis is bigger than the delta of the y axis, the touch and TFT axes are switched.
|
||||
// If the measured delta of the touch x axis is bigger than the delta of the y axis, the touch and TFT axes are switched.
|
||||
touchCalibration_rotate = false;
|
||||
if(abs(values[0]-values[2]) > abs(values[1]-values[3])){
|
||||
touchCalibration_rotate = true;
|
||||
touchCalibration_x1 = (values[0] + values[4])/2; // calc min x
|
||||
touchCalibration_x0 = (values[2] + values[6])/2; // calc max x
|
||||
touchCalibration_y1 = (values[1] + values[3])/2; // calc min y
|
||||
touchCalibration_y0 = (values[5] + values[7])/2; // calc max y
|
||||
touchCalibration_x0 = (values[0] + values[4])/2; // calc min x
|
||||
touchCalibration_x1 = (values[2] + values[6])/2; // calc max x
|
||||
touchCalibration_y0 = (values[1] + values[3])/2; // calc min y
|
||||
touchCalibration_y1 = (values[5] + values[7])/2; // calc max y
|
||||
} else {
|
||||
touchCalibration_x0 = (values[0] + values[2])/2; // calc min x
|
||||
touchCalibration_x1 = (values[4] + values[6])/2; // calc max x
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "TFT_eSPI",
|
||||
"version": "0.18.20",
|
||||
"version": "0.18.21",
|
||||
"keywords": "tft, display, ESP8266, NodeMCU, ESP32, M5Stack, ILI9341, ST7735, ILI9163, S6D02A1, ILI9486",
|
||||
"description": "A TFT SPI graphics library for ESP8266 and ESP32",
|
||||
"repository":
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
name=TFT_eSPI
|
||||
version=0.18.20
|
||||
version=0.18.21
|
||||
author=Bodmer
|
||||
maintainer=Bodmer
|
||||
sentence=A fast TFT library for ESP8266 processors and the Arduino IDE
|
||||
|
|
|
|||
Loading…
Reference in New Issue