Add sim touchscreen bugfixes

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3999 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo
2011-09-29 18:26:56 +00:00
parent a1d08a2ad2
commit a489958586
+14 -12
View File
@@ -134,9 +134,9 @@ struct up_dev_s
static void up_notify(FAR struct up_dev_s *priv); static void up_notify(FAR struct up_dev_s *priv);
static int up_sample(FAR struct up_dev_s *priv, static int up_sample(FAR struct up_dev_s *priv,
FAR struct up_sample_s *sample); FAR struct up_sample_s *sample);
static int up_waitsample(FAR struct up_dev_s *priv, static int up_waitsample(FAR struct up_dev_s *priv,
FAR struct up_sample_s *sample); FAR struct up_sample_s *sample);
/* Character driver methods */ /* Character driver methods */
@@ -274,7 +274,7 @@ static int up_sample(FAR struct up_dev_s *priv,
****************************************************************************/ ****************************************************************************/
static int up_waitsample(FAR struct up_dev_s *priv, static int up_waitsample(FAR struct up_dev_s *priv,
FAR struct up_sample_s *sample) FAR struct up_sample_s *sample)
{ {
irqstate_t flags; irqstate_t flags;
int ret; int ret;
@@ -298,7 +298,7 @@ static int up_waitsample(FAR struct up_dev_s *priv,
sem_post(&priv->devsem); sem_post(&priv->devsem);
/* Try to get the a sample... if we cannot, then wait on the semaphore /* Try to get the a sample... if we cannot, then wait on the semaphore
* that is posted when new sample data is availble. * that is posted when new sample data is available.
*/ */
while (up_sample(priv, sample) < 0) while (up_sample(priv, sample) < 0)
@@ -375,9 +375,9 @@ static int up_close(FAR struct file *filep)
static ssize_t up_read(FAR struct file *filep, FAR char *buffer, size_t len) static ssize_t up_read(FAR struct file *filep, FAR char *buffer, size_t len)
{ {
FAR struct inode *inode; FAR struct inode *inode;
FAR struct up_dev_s *priv; FAR struct up_dev_s *priv;
FAR struct touch_sample_s *report; FAR struct touch_sample_s *report;
struct up_sample_s sample; struct up_sample_s sample;
int ret; int ret;
ivdbg("len=%d\n", len); ivdbg("len=%d\n", len);
@@ -449,6 +449,8 @@ static ssize_t up_read(FAR struct file *filep, FAR char *buffer, size_t len)
report->point[0].id = priv->id; report->point[0].id = priv->id;
report->point[0].x = sample.x; report->point[0].x = sample.x;
report->point[0].y = sample.y; report->point[0].y = sample.y;
report->point[0].h = 1;
report->point[0].w = 1;
report->point[0].pressure = 42; report->point[0].pressure = 42;
/* Report the appropriate flags */ /* Report the appropriate flags */
@@ -527,14 +529,14 @@ static int up_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
#ifndef CONFIG_DISABLE_POLL #ifndef CONFIG_DISABLE_POLL
static int up_poll(FAR struct file *filep, FAR struct pollfd *fds, static int up_poll(FAR struct file *filep, FAR struct pollfd *fds,
bool setup) bool setup)
{ {
FAR struct inode *inode; FAR struct inode *inode;
FAR struct up_dev_s *priv; FAR struct up_dev_s *priv;
pollevent_t eventset; pollevent_t eventset;
int ndx; int ndx;
int ret = OK; int ret = OK;
int i; int i;
ivdbg("setup: %d\n", (int)setup); ivdbg("setup: %d\n", (int)setup);
DEBUGASSERT(filep && fds); DEBUGASSERT(filep && fds);