FTDI Community

General Category => Discussion - Software => Topic started by: rascalito on May 15, 2020, 07:50:45 AM

Title: Using touch panel
Post by: rascalito on May 15, 2020, 07:50:45 AM
Hello!

I would like to get touch panel events. Ideally, I would like to receive an interrupt
when the screen has been touched. I could live with polling for test, but anyway for
the moment, I can't get touch coordinates. So one problem at a time, let's start with
polling.

What I did:
I have set up the address of the touch panel chip which is a Goodix. The documentation
says that the address should be 5D.
So the first thing I did is to fill in the REG_TOUCH_CONFIG register for capacitive setup
Bit 15: 0 for capacitive.
14,13: reserved
12: ignore short circuit. I suppose it's for resistive.
Bit11: enable low power mode. Not crucial for test, I will leave it as 0.
10~4 is the I2C address, 5D
Bit 3: vendor. I tried both. Is Goodix a FocalTech or AzoTech device?
Bit2: suppress 300 ms startup. Leave as 0.
Bits 1 and 0, same.

Summary:
Bits 15 to 12 = 0
Bit 11 = 0
Bits 10~4 = 5D
Bit 3 only may have an influence.
Therefore the possible codes are 0x05D8 or 0x05D0

As for the touch mode, there are only 2 bits, apparently. I tried 10 (frame mode) and 11
(continuous mode), but without success so fare.

After setting these 2 registers, I access the coordinate registers, but they are always
at 0, touch or not.

Am I missing something?


Best regards,

R
Title: Re: Using touch panel
Post by: FTDI Community on May 18, 2020, 02:57:41 PM
Hello,

Which EVE device are you currently using?

Note that for FT811/FT813 please see section 6.6.2 of this application note below,

https://brtchip.com/wp-content/uploads/Support/Documentation/Application_Notes/ICs/EVE/AN_336_FT8xx-Selecting-an-LCD-Display.pdf

Best Regards, FTDI Community