34 int16_t data[6], x_raw, y_raw, z_raw;
39 int16_t touch_pressure_1 = this->
read_adc_(XPT_READ_Z1 | XPT_ADC_ON);
40 int16_t touch_pressure_2 = this->
read_adc_(XPT_READ_Z2 | XPT_ADC_ON);
41 z_raw = touch_pressure_1 + 0xfff - touch_pressure_2;
42 ESP_LOGVV(TAG,
"Touchscreen Update z = %d", z_raw);
47 data[0] = this->
read_adc_(XPT_READ_Y | XPT_ADC_ON);
48 data[1] = this->
read_adc_(XPT_READ_X | XPT_ADC_ON);
49 data[2] = this->
read_adc_(XPT_READ_Y | XPT_ADC_ON);
50 data[3] = this->
read_adc_(XPT_READ_X | XPT_ADC_ON);
51 data[4] = this->
read_adc_(XPT_READ_Y | XPT_ADC_ON);
62 ESP_LOGD(TAG,
"Touchscreen Update [%d, %d], z = %d", x_raw, y_raw, z_raw);
88 int16_t delta_a, delta_b, delta_c;
91 delta_a = (value1 > value2) ? value1 - value2 : value2 - value1;
92 delta_b = (value1 > value3) ? value1 - value3 : value3 - value1;
93 delta_c = (value3 > value2) ? value3 - value2 : value2 - value3;
95 if (delta_a <= delta_b && delta_a <= delta_c) {
96 reta = (value1 + value2) >> 1;
97 }
else if (delta_b <= delta_a && delta_b <= delta_c) {
98 reta = (value1 + value3) >> 1;
100 reta = (value2 + value3) >> 1;