Re: BBB touch screen and ADC interactions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 20, 2015 at 02:54:35PM -0700, Greg Wilson-Lindberg wrote:
> Hi Michael,
> I've applied your patch and the mouse clicks now work mostly, and I even saw one touch screen click that worked.
> 

This is not promising. Perhaps you are accessing the ADC to quickly for it to be available for the touchscreen.

> I only need to read the ADC infrequently so I guess I'll set it up to enable when I need to read the ADC and then disable again.
> 
> Do you know if I can set up the context, device and channels and then just enable the channels, do the scan, and then disable the channels until I need them again, without tearing down the channels, device and context?
>

I think you can just enable and disable the buffer.

To disable:
echo 0 > /sys/bus/iio/devices/iio:device0/buffer/disable
or
http://lxr.free-electrons.com/source/drivers/staging/iio/Documentation/generic_buffer.c#L337

To enable:
echo 1 > /sys/bus/iio/devices/iio:device0/buffer/enable
or
http://lxr.free-electrons.com/source/drivers/staging/iio/Documentation/generic_buffer.c#L280

> Regards,
> Greg
> 
> 
> > -----Original Message-----
> > From: Michael Welling [mailto:mwelling79@xxxxxxxxx] On Behalf 
> > Of Michael Welling
> > Sent: Tuesday, May 19, 2015 5:35 PM
> > To: Greg Wilson-Lindberg
> > Cc: linux-iio@xxxxxxxxxxxxxxx
> > Subject: Re: BBB touch screen and ADC interactions
> > 
> > On Tue, May 19, 2015 at 05:16:46PM -0700, Greg Wilson-Lindberg wrote:
> > > 
> > > I would be happy to test the patch, better than what I was 
> > going to try.
> > > 
> > > -Greg
> > 
> > Below is the simple workaround patch that I used to eliminate 
> > the repeated release events that were occurring without 
> > touching the screen.
> > 
> > See if it helps.
> > 
> > diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c 
> > b/drivers/input/touchscreen/ti_am335x_tsc.c
> > index 191a1b8..f876097 100644
> > --- a/drivers/input/touchscreen/ti_am335x_tsc.c
> > +++ b/drivers/input/touchscreen/ti_am335x_tsc.c
> > @@ -281,13 +281,11 @@ static irqreturn_t titsc_irq(int irq, void *dev)
> >  	if (status & IRQENB_PENUP) {
> >  		fsm = titsc_readl(ts_dev, REG_ADCFSM);
> >  		if (fsm == ADCFSM_STEPID) {
> > -			ts_dev->pen_down = false;
> >  			input_report_key(input_dev, BTN_TOUCH, 0);
> >  			input_report_abs(input_dev, ABS_PRESSURE, 0);
> >  			input_sync(input_dev);
> > -		} else {
> > -			ts_dev->pen_down = true;
> >  		}
> > +		ts_dev->pen_down = false;
> >  		irqclr |= IRQENB_PENUP;
> >  	}
> >  
> > 
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux