Re: Drawing Test Fails in Touch Panel CETK



Hi Amit,
Is your touch driver sampling the stylus inputs once a pen-down event comes
in?

Take a look at the implementation of smdk2410 touch driver in
wince500\public\common\oak\CSP\arm\Samsung\s3c2410x\touch\s3c2410x_touch.cpp.
Notice how once IRQ_ADC interrupt has occured, IRQ_TIMER3
(gIntrTouchChanged) is used to sample sytlus inputs. I think your driver
might be missing sampling once a pen-down interrupt has occured and hence
multiple touch samples are not-generated.

hth,
Sumit

"Amit" <abansaltech@xxxxxxxxx> wrote in message
news:1188907928.135248.40430@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi Ajith,

Thanks for urgent response again.

I am using ARMV4I platform, BSP is our coustomized BSP. I am able to
measure the state of pin at given time. Also I am able to get the gpio
interrupt( ie Event in my touch driver ISR) whenever someone touchs
the panel. Touch panel is working fine i.e. I am able to use touch
for giving user inputs. Also All the CETK tests are passing except the
one i.e. Drawing test.

For Drawing I think, Main problem is, I get only one gpio interrupt
for a single pen down (i.e. single touch).

Since I am not getting multiple interrupt for a long pen down, thats
why I think CETK app is not getting enough number of coordinates
points in its queue. Thats why When I draw a line it gets only one
point in the queue for starting location. So Drawing not happens.


I use to check gpio pin status whenever I get the gpio
interrupt(i.e.Event). During Interrupt Initialization I am binding
gpio and timer irq to TouchEvent handle. So ideally I sould get the
event whenever there is a change in the status of gpio or whenver
timer expires. But seems like only first one is working. I mean I am
getting Event only when gpio pin status changes(i.e. when user lift up
or presses down the stylus).

So what can be the possible cause for not getting multiple events
when timer expires for a single long pen down? Or Formost Is it
require to get multiple events for a single long pen down for drawing
to be happen successfully.

Please comment on above with your views.

Thanks in advance.
Amit

On Sep 4, 4:12 pm, Ajith <Aj...@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
Hi Amit,
I meant something different. When you configure a GPIO pin as Interrupt,
you
should be able to measure the state of the pin at any given time. There
should be some GPIO registers for that.
GPIO interrupt must come when you touch the panel.Which is the platform
do
you use? You have to review your interrupt configuration such that you
must
get an interrupt when you toch the panel. Which BSP do you use?
regards
ajith



"Amit" wrote:
Hi Ajith,

Thanks for reply again.

I am using ADS7846 touch controller.

I use to enable timer when i get pen down interrupt and stop the timer
PENIRQ status changes. But since Gpio Events comes only when I lift up
the stylus. So do you mean that I need to configue gpio in such a way
that Its should signal my ISR after certain period of time, if yes
then Can you please tell me how.

Thanks
Amit
<Aj...@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
Hi Amit,
The Touch screen driver works using PEN_DOWN and PENUP event. Penup
will
mostly be a timer interrupt which is enabled when you get a PENDOWN
event.
The whole idea is when you get a PENDOWN event, start a timer and
which
repeatedly checks the whether the Pen is up .
Is it not possible to get the state of the GPIO pins throgh its
registers?
Normally any GPIO pin which is configured as an interrupt would
reflect its
state in some GPIO registers when the interrupt happens. by this
method one
can identify a pen down interrupt. what is the controller you use?
regards
Ajith

"Amit" wrote:
Hi Ajith,

Thanks for your reply.

If we send Coordinates cooresponding to every pen down, then how do
we
manage use case single tip down. Because cuurently I use calculate
time diffrence between two consequetives interrupt to find out
whether
user has really pressed the panel or not.
My Gpio just give interrupt whenever any events happens on the
gpio
port for touch panel( either pen up or pen down). Its doesn't tells
me
that whether its pen up or pen down. I use a internal logic thats
treat any alternative events as pen up and pen down.
Do you mean that I should have more information from gpio regarding
its pen up or pen down.

Regards
Amit
On Sep 3, 5:08 pm, Ajith <Aj...@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
Hi,
I think we need to pass coordinates to the OS after every PENDOWN
interrupt.
I think your threshold can go wrong because flags will get
changed for every
Touchpanel events.
regards
Ajith

"Amit" wrote:
Hi All,

I am trying Drawing test in Touch Panel Test on WinCE 5.0
Enviornment. Test use to fail. Also In log it shows the message
TouchPanelSetCalibration Failed. I am able to pass all the
Other test
cases except InitializeCurserTest which is actually skipped,
since not
supported inside my touch screen driver, and i hope its not
require
even.
Also When I run the test individually first its tries to
calibrate
the screen which happens successfully. After that It ask to
draw
something on screen for some time period. When I try to draw
on the
screen using stylus, No lines comes on the screen.
But When I try to just press the stylus at lot many points of
touch
panel. Suddenly some lines appers on the screen. Line start
from the
point where i press on the panel and goes up to left bottom
corner.

Let me explain you my implementation of touch screen driver.
I have
taken reference code for my driver from CE 5.0
Public\Common\Oak
\Drivers folder. My driver use to detect use to send
coordinates to
GWES corresponding to every pen down greater then a threshold
value.
Can Someone Please give me some pointers what can possibley go
wrong.

Thanks in Advance.- Hide quoted text -

- Show quoted text -- Hide quoted text -

- Show quoted text -- Hide quoted text -

- Show quoted text -




.



Relevant Pages

  • Re: Drawing Test Fails in Touch Panel CETK
    ... Is your touch driver sampling the stylus inputs once a pen-down event comes ... Notice how once IRQ_ADC interrupt has occured, ... Touch panel is working fine i.e. ... gpio and timer irq to TouchEvent handle. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Drawing Test Fails in Touch Panel CETK
    ... I have peace of code inside touch driver ... ISR where I wait for Gpio Event using WaitforSemphore API. ... bind GPio and timer IRQ with SYS_INTR during TouchPanelEnable. ... when GPIO detects either a PEN DOWN interrupt or PEN UP Interrupt ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Has somebody written special button driver?
    ... OAL interrupt code as well. ... The popup application and the stream button driver can ... Calculate the % of time the system will spend polling ... If you poll the GPIO ...
    (microsoft.public.windowsce.platbuilder)
  • Re: 2.6.19 and up to 2.6.20-rc2 Ethernet problems x86_64
    ... If the system fails in ACPI mode, but works in non-ACPI mode, ... Using ACPI for SMP configuration information ... Using IOAPIC for interrupt routing ... Non-volatile memory driver v1.2 ...
    (Linux-Kernel)
  • Re: [PATCH] uio: User IRQ Mode
    ... This patch adds a "User IRQ Mode" to UIO. ... In this mode the user space driver ... is responsible for acknowledging and re-enabling the interrupt. ...
    (Linux-Kernel)