
IC FT6X36_E Ink Display Module Touch Panel for more information
- Categories:News
- Author:
- Origin:
- Time of issue:2022-11-01 02:50
- Views:
(Summary description)
IC FT6X36_E Ink Display Module Touch Panel for more information
(Summary description)
- Categories:News
- Author:
- Origin:
- Time of issue:2022-11-01 02:50
- Views:
IC FT6X36_E Ink Display Module Touch Panel for more information
FocalTech's touch component has been fully implemented, so this wiki will become a backlog of work and help others understand how touch works.
https://github.com/martinberlin/cale-idf/wiki/Touch-research-for-IC--FT6X36
- Branch: feature/17-touch Issue 17
- Epaper model: Used on the 2.7 inches Goodisplay gdew027w3T (Check Wiki page for demos)
I2C Command Reference
The information read through I2C when the event is triggered. In this case, the INT pin will decrease, and a callback function will read the information from TP. Important details:
0x01 GEST_ID Gesture ID. Not relevant in this model from Goodisplay (Comes always 0, no matter what is done)
0x02 TD_STATUS Number of touch points (Taping with two fingers sometimes returns a 2) Does not seem relevant
0x03 P1_XH 1st X (High part)
0x04 P1_XL 1st X (Low part)
0x05 P1_YH 1st Touch ID + First Y (High part)
0x06 P1_YL 1st Y (Low part)
0x07 P1_WEIGHT Touch weight. Does not interest me so far comes either 0x00 or 0xFF (When a strong press)
0x08 P1_MISC Does not seem relevant in this model
0x09 P2_XH 2nd X (High part)
0x0A P2_XL 2nd X (Low part)
0x0B P2_YH 2nd Touch ID + 2nd Y (High part)
0x0C P2_YL 2nd 2nd Y (Low part)
0x0D P2_WEIGHT Touch weight for point 2
0x0E P2_MISC
Each I2C returns a total of 13 interesting bytes for analyzing touch information. Those that need analysis and cannot use RAW
Two events will occur because of the quick knock problem.
Click the event and raise it. Therefore, if you react to each event, click the button twice in one click.
This needs to be analyzed by software. The TAP event is triggered only when the upgrade event is 300 milliseconds apart.
This indicates that the source event needs to be analyzed to include it in the processed event.
Common TAP events in the register:
Tr is Touch RAW.
REGISTERS: Press event
0:0 1:0 2:1 3:0 4:16 5:0 6:72 7:0 8:0 9:ff a:ff b:ff c:ff d:ff e:ff f:ff
TOUCHES: 1 -> 1 single point touched
Tr[0]=0 1st -> PressDown
Tr[1]=3 2nd -> NoEvent (True since there is only 1 pressed point)
REGISTERS: Release event
0:0 1:0 2:0 3:40 4:16 5:0 6:72 7:0 8:0 9:ff a:ff b:ff c:ff d:ff e:ff f:ff
TOUCHES: 0 -> We release hence there is no touches count
Tr[0]=1 1st -> LiftUp
Tr[1]=3 2nd -> NoEvent
RESULT AFTER PROCESSING:
X: 22, Y: 114, E: Tap (Only if there are less than 300 milliseconds of difference between press/release)
Note: (0) is not always used as the initial event. Sometimes, contact (2) is the first. I really don't know the difference between the two. However, contact may be triggered when the touch pad is not pressed hard. Only press when the pressure is higher. Therefore, if the first event is 0 or 2 (timestamp measurement), and then the 1 LiftUp event, it is recommended that a batch check occur. TAP event will be triggered when the difference between touch and lift is less than 300 milliseconds.
This model does not return gestures, so it needs to be supplemented. Another interesting example is: Strange-v FT6X36 esp32 library :
- Tap
- DragStart
- TouchMove
- DragEnd
It would be nice to have based on the double lecture of the X, Y & Event points:
- Zoom IN
- Zoom OUT
If the X & Y are expanding on the second lecture of the points then we have a Zoom in otherwise is a Zoom out event. This along with Dragging could be very useful when showing a map in the small epaper.
Scan the QR code to read on your phone


Address:No.18, Zhonghua West Road, Dalian, China,116033
E-mail: sales@eink-display.com
©2007-2021 Dalian Diamo Electronic Technology Co., Ltd. All Rights Reserved. 辽ICP备08000578号-1 Website construction:www.300.cn dalian.300.cn
Dalian Diamo Electronic Technology Co., Ltd.
辽ICP备08000578号
Website construction:www.300.cn jinzhou.300.cn