cancel
Showing results for 
Search instead for 
Did you mean: 

Touch sensor with reversed side STM32F429I-DISC1 (touch being detected on the opposite side that was pressed)

VPatr.2
Associate II

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

1 ACCEPTED SOLUTION

Accepted Solutions
Paul1
Lead

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)

View solution in original post

3 REPLIES 3
Paul1
Lead

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)

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.

AndBod87
Associate

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