From: Imre Deak <imre.deak@nokia.com>
To: omap-linux <linux-omap-open-source@linux.omap.com>
Cc: Paul.Mundt@nokia.com, Dmitry Torokhov <dtor_core@ameritech.net>,
"Yrjola Juha (Nokia-M/Helsinki)" <Juha.Yrjola@nokia.com>
Subject: [PATCH] ads7846: pressure value limitation
Date: Tue, 21 Mar 2006 20:56:12 +0200 [thread overview]
Message-ID: <1142967372.8050.45.camel@mammoth.research.nokia.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 252 bytes --]
Limit the pressure value to the maximum specified in the board-*
specific file. Samples with pressure values beyond the maximum are
considered non-reliable. For these report the x,y values measured last.
Signed-off-by: Imre Deak <imre.deak@nokia.com>
[-- Attachment #2: ads7846-pressure_max-patch.diff --]
[-- Type: text/x-patch, Size: 1392 bytes --]
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index 2b9a521..02f4cdc 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -81,10 +83,14 @@ struct ads7846 {
u16 model;
u16 vref_delay_usecs;
u16 x_plate_ohms;
+ u16 pressure_max;
u8 read_x, read_y, read_z1, read_z2, pwrdown;
u16 dummy; /* for the pwrdown read */
struct ts_event tc;
+ u16 last_x;
+ u16 last_y;
+ u16 last_pressure;
struct spi_transfer xfer[10];
struct spi_message msg[5];
@@ -345,6 +351,18 @@ static void ads7846_rx(void *ads)
} else
Rt = 0;
+ if (Rt > ts->pressure_max) {
+ if (ts->last_pressure) {
+ x = ts->last_x;
+ y = ts->last_y;
+ }
+ Rt = ts->pressure_max;
+ }
+
+ ts->last_x = x;
+ ts->last_y = y;
+ ts->last_pressure = Rt;
+
/* NOTE: "pendown" is inferred from pressure; we don't rely on
* being able to check nPENIRQ status, or "friendly" trigger modes
* (both-edges is much better than just-falling or low-level).
@@ -596,6 +615,7 @@ static int __devinit ads7846_probe(struc
ts->model = pdata->model ? : 7846;
ts->vref_delay_usecs = pdata->vref_delay_usecs ? : 100;
ts->x_plate_ohms = pdata->x_plate_ohms ? : 400;
+ ts->pressure_max = pdata->pressure_max ? : 255;
ts->debounce_max = pdata->debounce_max ? : 1;
ts->debounce_tol = pdata->debounce_tol ? : 10;
[-- Attachment #3: Type: text/plain, Size: 0 bytes --]
next reply other threads:[~2006-03-21 18:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-21 18:56 Imre Deak [this message]
2006-03-21 19:23 ` [PATCH] ads7846: pressure value limitationads Imre Deak
2006-03-23 10:49 ` andrzej zaborowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1142967372.8050.45.camel@mammoth.research.nokia.com \
--to=imre.deak@nokia.com \
--cc=Juha.Yrjola@nokia.com \
--cc=Paul.Mundt@nokia.com \
--cc=dtor_core@ameritech.net \
--cc=linux-omap-open-source@linux.omap.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox