That commit broke bsp/stm3210x. The cause is that we calls rtgui_system_init in rtgui_startup. But the calibration starts before rtgui_startup and rtgui_system_init. This lead to crash.
One way to deal with it is move rtgui_system_init out of rtgui_startup and call it manually. But it will affect other bsps. So just revert the "bad" commit.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1793 bbd45198-f89e-11dd-88c7-29a3b14d5316
If we do not calibrate the touch screen, GUI is unusable. This patch use a semaphore to block GUI thread until calibration finish.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1791 bbd45198-f89e-11dd-88c7-29a3b14d5316
Check whether finger is still on the screen. If not, we couldn't determine where the user has touched. It's better to return early rather than give garbage values.
A more sensitive solution might be caculate the position once the interrupt occured. But it's not anti-shake friendly.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1789 bbd45198-f89e-11dd-88c7-29a3b14d5316
The old code only checks touch->max_x > touch->min_x but not touch->max_x == touch->min_x. Thus may lead to divided by zero error.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1782 bbd45198-f89e-11dd-88c7-29a3b14d5316
The old code forgot to drop the MSB in the very first byte retrieved from ads7843 after a control byte. This will lead to data corruption especially in 16-Clocks per conversion mode.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1781 bbd45198-f89e-11dd-88c7-29a3b14d5316