drivers/ft5x06: fix vendor ID for FT6xx6 and FTxxxx register addresses#19860
drivers/ft5x06: fix vendor ID for FT6xx6 and FTxxxx register addresses#19860bors[bot] merged 2 commits intoRIOT-OS:masterfrom
Conversation
The vendor ID of FT6xx6 touch panel driver ICs is `0x11` instead of `0xcd`.
benpicco
left a comment
There was a problem hiding this comment.
I'm trusting your testing on this one.
Unfortunately, it is more complicated than it looked. There are indeed STM32 boards with FT6236 which uses I'm working on a solution that will work with both vendor IDs. |
|
@benpicco Now it checks for both Furthermore, when trying to use gesture which don't work at all for FTxxxx, I found a bug in register addresses that is also fixed now with this PR. |
2d26165 to
766f0f4
Compare
|
@benpicco Does the ACK still apply? |
|
Sure! |
766f0f4 to
a9f3ce1
Compare
I sqashed it. |
|
bors merge |
|
👎 Rejected by PR status |
|
bors merge |
|
Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
|
Thanks |
19866: drivers/ft5x06: use a pointer to config parameters instead of copying them r=benpicco a=gschorcht ### Contribution description There is no need to copy the configuration parameter set to the device descriptor. A const pointer to the configuration parameter set in ROM is sufficient. It saves 16 byte of RAM. Includes PR #19860 for the moment to be compilable. ### Testing procedure Use ``` CFLAGS='-DNDEBUG' BOARD=stm32f723e-disco make -j8 -C tests/drivers/touch_dev/ ``` with and w/o this PR and compare the sizes. Without the PR the sizes are: ``` text data bss dec 14652 136 2704 17492 ``` With the PR the sizes are: ``` text data bss dec 14676 136 2688 17500 ``` ### Issues/PRs references ~Depends on PR #19860~ Co-authored-by: Gunar Schorcht <[email protected]>
19867: drivers/ft5x06: introduce conversion for X and Y coordinates r=aabadie a=gschorcht ### Contribution description This PR provides the parameter option to define how the X and Y coordinates have to be converted. To get coordinates from the touch panel that correspond to the display coordinates, it is often necessary to convert the coordinates from the touch pannel by swapping and mirroring them. For the sake of simplicity, possible rotations are additionally defined. The PR includes PRs #19860 and #19866 to be compilable. ### Testing procedure `tests/pkg/lvgl_touch` should still work for the `stm32f746g-disco` board. ``` BOARD=stm32f746g-disco make -C tests/pkg/lvgl_touch ``` ### Issues/PRs references ~Depends on PR #19860~ Depends on PR #19866 Co-authored-by: Gunar Schorcht <[email protected]>
Contribution description
This PR provides a fix of the vendor ID for FT6xx6 touch panel driver ICs and a fix of register addresses for FTxxxx.
According to the Application Note for FT6x06 CTPM, the vendor ID of FT6x06 touch panel driver ICs is
0x11instead of0xcd. Although there are no information found in the Web about the FT6x36, the FT6336U touch panel of a ESP32-S3 WT32 SC01 Plus is also working with0x11as vendor ID so that it seems that FT6x36 is also using0x11as vendor ID.Figured out with a
stm32f723e-discoboard (revision D03). Without this PR,tests/drivers/ft5x06gives:With this PR it works as expected.
Some background information found in the Web:
stm32f723e-discoboard either uses FT6x36 (prior revision D) or FT3x67 (revision D). However, the FT5x06 driver type for the card is defined as FT6x06, which does not seem correct:RIOT/boards/stm32f723e-disco/include/board.h
Line 59 in bb9011c
0xcd. However, the FT6336U on ESP32-S3 WT32 SC01 Plus works with vendor ID0x11.0x11as vendor id.stm32l496g-discoboard uses a FT6236 which has vendor ID0xcd.So the information available on the web is confusing. Maybe, a better solution would be to accept
0x11as well as0xcdas vendor ID for FT6xxx touch panels. Unfortunately, there are no documents available on the registers directly from FocalTech 😟 so it seems to be more speculation than knowledge.Testing procedure
Issues/PRs references