We are implementing the Multi-Touch solution on a Colibri iMX6 Solo with an FT5x06 display from Newhaven Display, using the information at Capacitive Multi-Touch Solution | Toradex Developer Center. The display resolution is 800 x 480.
On this page: Capacitive Multi-Touch Solution Source Code | Toradex Developer Center
the source code for the FT5x06 using Toradex CE libraries is not available (the Windows CE version is not compatible with our HW) so we ported it from the Windows CE libraries version for the FT5x06 that is available. This was not a big deal and the port to the Toradex CE libraries went smoothly: it was basically a port to the Toradex I2C, GPIO, and INT libraries that was required.
The registry is configured to the best of our abilities, and in particular the CapTouchMapping entry has the following values: “799,479,0,0,799,479” and the number of touch points is 1. The HW adapter is now running and the logs indicate the driver loads fine.
Now here is the issue (finally!):
When I touch the display and slide my finger around
- The logs show that the Y value varies from 0 to 799 very nicely as I move from left to right. I actually thought that would be the X value but I can deal with the flip.
- However, the X value only varies between 0 and 1 when I move from top to bottom, and quite randomly. There is also a spurious X value of 2049 that pops up from time to time
Here are the logs from the debug console. Note the X() value:
MultiTchAppDriv:vTouchPanelGetPoint() FT5x06 FirstTouch TipSwich(1),TouchID(8), X(1), Y(516)
MultiTchAppDriv:vTouchPanelGetPoint() Input[0] dwID(8), dwFlags(9), X(1), Y(516)
Touch move 0x9
MultiTchAppDriv:vTouchPanelGetPoint() FT5x06 FirstTouch TipSwich(1),TouchID(8), X(0), Y(519)
MultiTchAppDriv:vTouchPanelGetPoint() Input[0] dwID(8), dwFlags(9), X(0), Y(519)
Touch move 0x9
MultiTchAppDriv:vTouchPanelGetPoint() FT5x06 FirstTouch TipSwich(1),TouchID(8), X(2049), Y(522)
MultiTchAppDriv:vTouchPanelGetPoint() Input[0] dwID(8), dwFlags(9), X(2049), Y(522)
Touch move 0x9
I have tried a few variations for the CapTouchMapping registry setting but nothing seems to make a difference in the operation. The Newhaven data sheet does not offer any clues.
Can anyone suggest what might be going on to prevent the X direction from working when the Y direction works so nicely?
We would be happy to post our HW adapter solution (i.e. FT5x06 using Toradex CE libraries) once this final issues is resolved.