summaryrefslogtreecommitdiffstats
path: root/nuttx/drivers
diff options
context:
space:
mode:
authorpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-05-14 21:57:38 +0000
committerpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-05-14 21:57:38 +0000
commit443b010ba42ad02107b04c33ccb77da56b5e82ff (patch)
treeaed7b7c4f84c4b2016b606b390e818023d2c3841 /nuttx/drivers
parentde973b7ed012f06aa934407840bedb921ecf3dec (diff)
Improved thresholding logic in the STMPE11 driver; NxWM: Oops minimizing wrong application
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4737 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx/drivers')
-rw-r--r--nuttx/drivers/input/stmpe11_tsc.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/nuttx/drivers/input/stmpe11_tsc.c b/nuttx/drivers/input/stmpe11_tsc.c
index 70eb11259f..afe27ac899 100644
--- a/nuttx/drivers/input/stmpe11_tsc.c
+++ b/nuttx/drivers/input/stmpe11_tsc.c
@@ -986,19 +986,17 @@ void stmpe11_tscworker(FAR struct stmpe11_dev_s *priv, uint8_t intsta)
goto ignored;
}
- /* Perform a thresholding operation so that the results will be more stable */
+ /* Perform a thresholding operation so that the results will be more stable.
+ * If the difference from the last sample is small, then ignore the event.
+ * REVISIT: Should a large change in pressure also generate a event?
+ */
xdiff = x > priv->threshx ? (x - priv->threshx) : (priv->threshx - x);
ydiff = y > priv->threshy ? (y - priv->threshy) : (priv->threshy - y);
- /* If the difference from the last sample is small, then ignore the event.
- * REVISIT: Should a large change in pressure also generate a event?
- */
-
- if (xdiff + ydiff < 6)
+ if (xdiff < CONFIG_STMPE11_THRESHX && ydiff < CONFIG_STMPE11_THRESHY)
{
- /* Little or no change in position ... don't report anything.
- */
+ /* Little or no change in either direction ... don't report anything. */
goto ignored;
}