2010-02-09 02:53:24     AD7877 touchscreen driver

Document created by Aaronwu Employee on Aug 20, 2013
Version 1Show Document
  • View in full screen mode

2010-02-09 02:53:24     AD7877 touchscreen driver

Peter Gombos (HUNGARY)

Message: 85787   

 

Hi,

 

I work with the AD7877 touchscreen driver (with Hitachi TX09 LCD).

 

If I press the touchscreen continuously sometimes I got touchscreen release event. I checked the pen irq using an oscilloscope. The time between the interrupts is approx 45 mSec but sometimes it is longer. As far as I see in the driver the timer controlled sampling is too fast and the previous operation hasn't finished yet (busy kernel?). In this case the release timer can be expired (50 mSec). Thats why I got release event.

 

My simple solution is: increased the TS_PEN_UP_TIMEOUT from 50 to 100. The problem disappeared. But I think the exact solution is to reload the release timer if the repeated conversion skiped.

 

Please somebody accept this.

QuoteReplyEditDelete

 

 

2010-02-09 04:13:22     AD7877 touchscreen driver

Michael Hennerich (GERMANY)

Message: 85830    Hi Peter,

 

The time interval between consecutive interrupt depends on a number of tunables:

first_conversion_delay, acquisition_time, averaging and foremost the pen_down_acc_interval.

The time I came up with the 50ms - I thought I used some worst case value.

 

However since the mod_timer() action happens in the spi_async() callback function -

Also some system latencies are needed to take into account.

 

Increasing the TS_PEN_UP_TIMEOUT sounds like a logical consequence.

But do you really need to double it?

Does increasing from 50 to let's say 70ms also make the issue go away?

 

-Michael

QuoteReplyEditDelete

 

 

2010-02-09 09:18:22     Re: AD7877 touchscreen driver

Peter Gombos (HUNGARY)

Message: 85835   

 

Hi Michel,

 

My experience is that the samples (the irq) follow each other within 50 mSec. But sometimes one sample is completely missing. So 70 mSec is not enough. In our system (bf537, heavy spi load) 100 mSec is the perfect value.

QuoteReplyEditDelete

 

 

2010-02-09 10:21:41     Re: AD7877 touchscreen driver

Michael Hennerich (GERMANY)

Message: 85838    Thanks

I checked a fix into the 2009R1 branch and trunk.

-Michael

Attachments

    Outcomes