CN / EN
CN / EN

Ask a New Question

Get Supports

If you need one-on-one support for confidential technical issues with your project, please click on "Contact Us" below.

GT911 - Touch Release Delay

Steve

2020-02-28 04:14

Hello,

I have developed a driver for the GT911 for my custom board. It reads the x,y coordinates accurately and I am able to modify the configuration registers successfully.

The main issue I have is: when a touch goes away, the GT911 will report old x,y coordinates about 4 times before finally reporting no touch.

If I am only able to poll the GT911 every 30 ms (because the program is busy doing other things), then it will be 30 x 4 = 120 ms of lag in reporting the removal of the finger.

This becomes significant when interpreting swipes, because the coordinates always has 4 readings of the last x,y before giving a 'no touch' status.

As a test, I slowed the polling rate to 500ms. Then, the GT911 would report a touched finger for 4 * 500ms = 1.5 seconds *after* the finger was released!

Is there a configuration option I can change? Or is there some way to mitigate this?

I have developed a touch driver for a different manufacturer (ILI2117A), on otherwise the same code and hardware, and this issue did not exist.


Second issue:

The Programming Guide document I have states that the coordinate report rate is 5 - 20ms, which is configurable by writing 0x8055 (refresh rate register).

However, my timing analysis shows differently. The minimum time I must wait is about 13 ms after clearing the buffer status (0x814E). If a finger is places continuously on the screen - if I poll the GT911 as fast as possible, for about 10 - 13 ms it reports no touch before re-reporting a touch. I would expect this number should be 5 + 'N' ms (N = 0x8055 register value).

Again, I am wondering if I have a configuration issue. I have set 0x8055 to 0, but had no effect versus having it at 5.


0 Favorites

0 Likes

3 Answers

sherlock

Goodix Employee
2020-02-28 17:46

hi steve,

We suggest you contact the vendor of GT911 touch panel to get support, thank you.

About issue 1, according to your description, every time you poll, maybe you can try to read the coordinate 4 times and take the first time as valid coordinate and discard invalid coordinates, to see what will happen.

About issue 2, it seems that your configuration of GT911 scan time is longer than 5ms so 0x8055 doesn't work, to adjust scan time consumption of GT911, please contact the vendor of your GT911 touch panel.

0 Comments

0 Likes

0 Favorites

Your comment

Steve

2020-03-03 02:31

I will contact the vendor, thank you.

Yes, I now read the controller on a separate RTOS thread at 5ms interval, and use a debounce algorithm which works fine.

1 Comment

0 Likes

0 Favorites

Your comment

902***930

2020-09-24 19:07

hi steve, I have this problem. how can i solve it

0 Comments

0 Likes

0 Favorites

Your comment

You can answer questions after logging in, please or register

Your Voice Matters
Contact Sales

Scan to follow

Open WeChat, use "Scan" to follow.