|
@@ -517,7 +517,9 @@ static void ads7846_rx(void *ads)
|
|
|
if (x == MAX_12BIT)
|
|
|
x = 0;
|
|
|
|
|
|
- if (likely(x && z1)) {
|
|
|
+ if (ts->model == 7843) {
|
|
|
+ Rt = ts->pressure_max / 2;
|
|
|
+ } else if (likely(x && z1)) {
|
|
|
/* compute touch pressure resistance using equation #2 */
|
|
|
Rt = z2;
|
|
|
Rt -= z1;
|
|
@@ -525,11 +527,9 @@ static void ads7846_rx(void *ads)
|
|
|
Rt *= ts->x_plate_ohms;
|
|
|
Rt /= z1;
|
|
|
Rt = (Rt + 2047) >> 12;
|
|
|
- } else
|
|
|
+ } else {
|
|
|
Rt = 0;
|
|
|
-
|
|
|
- if (ts->model == 7843)
|
|
|
- Rt = ts->pressure_max / 2;
|
|
|
+ }
|
|
|
|
|
|
/* Sample found inconsistent by debouncing or pressure is beyond
|
|
|
* the maximum. Don't report it to user space, repeat at least
|