Paint for the FRDM-KL25Z
Dependencies: mbed TFT_fonts SPI_TFT_ILI9341
Diff: touch.cpp
- Revision:
- 0:42ec9a44bc24
- Child:
- 1:33506fcfdd95
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/touch.cpp Mon Jan 07 06:40:27 2019 +0000 @@ -0,0 +1,55 @@ +#include "touch.h" +#include "mbed.h" + +TouchScreen::TouchScreen(PinName xp, PinName yp, PinName xm, PinName ym) { + PinName _yp = yp; + PinName _xm = xm; + PinName _ym = ym; + PinName _xp = xp; +} + +/*Point TouchScreen::getPoint(Point p){ + int z = 0; + int y2 = readTouch(_xp,_xm,_yp,_ym); + int x2 = readTouch(_yp,_ym,_xm,_xp); + int y1 = readTouch(_xp,_xm,_ym,_yp); + int x1 = readTouch(_yp,_ym,_xp,_xm); + int z2 = readTouch(_ym,_xp,_yp,_xm); + int z1 = readTouch(_ym,_xp,_xm,_yp); + + if (z1!=0){ + z = RXPLATE*x2/Q*(z2/z1-1); + }else{ + z = 0; + } + p.x = x2; + p.y = y2; + p.z = z; + return p; +}*/ + + + +int TouchScreen::readTouch(PinName n, PinName m, PinName a, PinName i){ + + DigitalOut _n(n); + _n = 1; + DigitalOut _m(m); + _m = 0; + AnalogIn _a(a); + AnalogIn _i(i); + wait_us(10); + return _a.read_u16(); +} + + + +/*bool TouchScreen::isTouching(void){ + Point p = getPoint(p); + if(p.z > PRESSURE)return 1; + else return 0; +}*/ + +int map(int value, int fromSource, int toSource, int fromTarget, int toTarget){ + return (value - fromSource) / (toSource - fromSource) * (toTarget - fromTarget) + fromTarget; +} \ No newline at end of file