Thread (10 messages) flat view 10 messages, 3 authors, 2011-09-14

Re: [PATCH V2 1/3] Input: cyttsp - Cypress TTSP capacitive multi-touch screen support

From: Javier Martinez Canillas <hidden>
Date: 2011-09-14 07:15:09
Also in: lkml

On Tue, Sep 13, 2011 at 10:24 AM, Henrik Rydberg [off-list ref] wrote:
Hi Javier,
quoted
Cypress TrueTouch(tm) Standard Product controllers are found in
a wide range of embedded devices. This driver add support for a
variety of TTSP controllers.

The driver is composed of a core driver that process the data sent by
the contacts and a set of bus specific interface modules. This patch
adds the base core TTSP driver.

The original author of the driver is Kevin McNeely [off-list ref]

Since the hardware is capable of tracking identifiable contacts and the
original driver used multi-touch protocol type A (stateless), multi-touch
protocol type B (stateful) support was added by Javier Martinez Canillas.

Signed-off-by: Javier Martinez Canillas <redacted>
---
Changes since v1: Fix issues called out by Dmitry Torokhov
     - Add msleep() delays between retries for read and write operations
     - Change cyttsp_core_init() to receive the IRQ from the client data
       instead of obtaining from the platform_data
Compared to the staging version you sent earlier, this version seems
to be a step back towards the original version regarding the MT
implementation. Is this the right patch?

Thanks,
Henrik
Hello Henrik,

Yes it is the right patch, or at least the patch I meant to send. The
staging version I send earlier didn't support multi-touch protocol
type A.

Since Cypress HW can do finger (contact) tracking, a requirement was
to add multi-touch protocol type B support to the driver. This
patch-set does that and also fixes some issues that Dmitry had with
this patch-set in its V1.

Even when Cypress touchscreen can keep track of each contact, it
doesn't preserve the contact index. So if I have 3 fingers that were
pressed in order and the touchscreen assigned it the values:

10 11 12

And then I lift the first finger (10), the hardware reports:

11 12

Maybe that is why the driver seems complex, you have to keep a copy of
the hardware state and iterate over all previous contacts to see if
there are new fingers and if the old ones have been lifted.

Best regards,

-- 
Javier Martínez Canillas
(+34) 682 39 81 69
Barcelona, Spain
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help