General Category > Discussion - EVE

Can BT815 determine the Touch-Controller Type by itself?

(1/2) > >>

Jonathan:
Hi,

I have a project where some displays are with goodix touch controller and some are with FocalTech touch controller.
Is it possible that the BT815 figures out which controller is used by itself?

Best
Jonathan

Matrix Orbital:
Jonathan,

If you would consider using out displays, all of our 3.5" to 7" use the GT911 touch, we decided to keep it simple and standardize our touch controllers.

BRT Community:
Hello,

Thank you for your query.


--- Quote from: Jonathan on January 03, 2024, 09:59:11 AM ---I have a project where some displays are with goodix touch controller and some are with FocalTech touch controller.
Is it possible that the BT815 figures out which controller is used by itself?

--- End quote ---

Unfortunately the BT81x series cannot automatically detect which type of touch controller is connected.
The Goodix and FocalTech controllers utilise different I2CX addresses which must be configured via the REG_TOUCH_CONFIG register.

Best Regards,
BRT Community

Rudolph:
I had an idea to find out which CTPM is attached, but it is not working.
It should take longer to reset when REG_TOUCH_CONFIG is set to 0x0380 for Focaltech but a Goodix CTPM is connected.

EVE_memWrite8(REG_CPURESET, 2U);        /* reset touch controller */
// EVE_memWrite16(REG_TOUCH_CONFIG, 0x05d0U); /* switch to Goodix CTPM  */
EVE_memWrite16(REG_TOUCH_CONFIG, 0x0380); /* switch to Focaltech CTPM  */
EVE_memWrite8(REG_CPURESET, 0U);        /* clear all resets */
EVE_memRead8(REG_CPURESET);

Checking back with the logic-analyzer, this first read results in 0x00 already.
At 400kHz it takes at least 25µs to get the first ACK from an I2C chip.
From writing REG_CPURESET to reading it back my code needs less than 10µs,
so the touch controller is not actually resetting.

Well, I noticed that the touch-controller takes longer to come out of reset on power-up.
I modified my startup code to immediately read REG_CPURESET after REG_ID returned 0x7c
and to read REG_CPURESET with no pause over and over again untill it reads 0x00.

RVT50HQBNWC00-B with ILI2132A: ~50µs
EVE3-50G with GT911: ~9ms (touch controller not found on power-up)

So that really looks like a way to check if the expected CTPM  is connected.

But how is the touch controller convinced to actually do a reset if writing 0x02 to REG_CPURESET does not work?

BRT Community:
Hello,


--- Quote from: Rudolph on January 22, 2024, 07:17:13 PM ---But how is the touch controller convinced to actually do a reset if writing 0x02 to REG_CPURESET does not work?

--- End quote ---

Let me liaise with the IC team on this point, but I believe that writing 0x02 to REG_CPURREST will only reset EVE's touch engine and it wont perform a reset of an attached CTP.


Best Regards,
BRT Community

Navigation

[0] Message Index

[#] Next page

Go to full version