2021-10-25 04:44 AM
Hello.
I purchased a Discovery STM32F429-DISC1 development board to start applications involving LCD screen. However, I am having a problem with the touch sensor. I recorded on the board some applications that I developed with TouchGFX, simple applications like pressing a button and making an image disappear and reappear, the problem is as if the touch sensor was inverted, for example, to press a button on the lower side of the screen I have to touch the top corner of the screen..it's like the sides are reversed..I thought it might be a problem related to my application so I recorded an example provided by ST. I saved the .HEX file and the problem persisted..does anyone have any suggestions on what is happening?
Thanks
Solved! Go to Solution.
2021-10-25 05:58 AM
a) Touch Panels will have one corner with [0,0] coordinate, if you place the touch screen rotated or upside down the [0,0] corner may be wrong, or the X-Y may be swapped, or the X or Y directions may be inverted.
Correct Touch Panel placement is usually best, but Software can correct these (i.e. swap X-Y, X=800-X, etc.), and some touch screen software may include settings for orientation/calibration.
b) Always place the touch so proper side is exposed to touch. Some panels have sensitive conductive coating that may where or scratch over time so should be proper face out.
c) Capacitive touch screens detect capacitance changes from touch, but also from mechanical movement. If the touch Panel doesn't include a shield layer then movement between it an an LCD may be detected and confuse the math for Touch location. Ensure you mount the Touch Panel according to manufacturers directions.
Paul
(Was a Capacitive Touch FAE in previous life)
2021-10-25 05:58 AM
a) Touch Panels will have one corner with [0,0] coordinate, if you place the touch screen rotated or upside down the [0,0] corner may be wrong, or the X-Y may be swapped, or the X or Y directions may be inverted.
Correct Touch Panel placement is usually best, but Software can correct these (i.e. swap X-Y, X=800-X, etc.), and some touch screen software may include settings for orientation/calibration.
b) Always place the touch so proper side is exposed to touch. Some panels have sensitive conductive coating that may where or scratch over time so should be proper face out.
c) Capacitive touch screens detect capacitance changes from touch, but also from mechanical movement. If the touch Panel doesn't include a shield layer then movement between it an an LCD may be detected and confuse the math for Touch location. Ensure you mount the Touch Panel according to manufacturers directions.
Paul
(Was a Capacitive Touch FAE in previous life)
2021-10-25 09:04 AM
Hi Paul.
I downloaded the updated version of TouchGFX and there are different versions of the STM32F429I board. Generating the codes what changes is precisely the calculation to determine the position of the touch on the screen. The function responsible for this is "void BSP_TS_GetState(TS_StateTypeDef* TsState)" in "STM32TouchController.cpp".
Thank you for your reply.
2024-05-18 07:14 AM
Hello VPatr.2,
for the demo example, go in the project properties and add "USE_STM32F429I_DISCOVERY_REVD" under C/C++ General -> Paths and Symbols -> Symbols.
For your own application I suggest to copy the function you have found.
Bests