Paint for the FRDM-KL25Z
Dependencies: mbed TFT_fonts SPI_TFT_ILI9341
touch.cpp@0:42ec9a44bc24, 2019-01-07 (annotated)
- Committer:
- ecowboy
- Date:
- Mon Jan 07 06:40:27 2019 +0000
- Revision:
- 0:42ec9a44bc24
- Child:
- 1:33506fcfdd95
Initial
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ecowboy | 0:42ec9a44bc24 | 1 | #include "touch.h" |
ecowboy | 0:42ec9a44bc24 | 2 | #include "mbed.h" |
ecowboy | 0:42ec9a44bc24 | 3 | |
ecowboy | 0:42ec9a44bc24 | 4 | TouchScreen::TouchScreen(PinName xp, PinName yp, PinName xm, PinName ym) { |
ecowboy | 0:42ec9a44bc24 | 5 | PinName _yp = yp; |
ecowboy | 0:42ec9a44bc24 | 6 | PinName _xm = xm; |
ecowboy | 0:42ec9a44bc24 | 7 | PinName _ym = ym; |
ecowboy | 0:42ec9a44bc24 | 8 | PinName _xp = xp; |
ecowboy | 0:42ec9a44bc24 | 9 | } |
ecowboy | 0:42ec9a44bc24 | 10 | |
ecowboy | 0:42ec9a44bc24 | 11 | /*Point TouchScreen::getPoint(Point p){ |
ecowboy | 0:42ec9a44bc24 | 12 | int z = 0; |
ecowboy | 0:42ec9a44bc24 | 13 | int y2 = readTouch(_xp,_xm,_yp,_ym); |
ecowboy | 0:42ec9a44bc24 | 14 | int x2 = readTouch(_yp,_ym,_xm,_xp); |
ecowboy | 0:42ec9a44bc24 | 15 | int y1 = readTouch(_xp,_xm,_ym,_yp); |
ecowboy | 0:42ec9a44bc24 | 16 | int x1 = readTouch(_yp,_ym,_xp,_xm); |
ecowboy | 0:42ec9a44bc24 | 17 | int z2 = readTouch(_ym,_xp,_yp,_xm); |
ecowboy | 0:42ec9a44bc24 | 18 | int z1 = readTouch(_ym,_xp,_xm,_yp); |
ecowboy | 0:42ec9a44bc24 | 19 | |
ecowboy | 0:42ec9a44bc24 | 20 | if (z1!=0){ |
ecowboy | 0:42ec9a44bc24 | 21 | z = RXPLATE*x2/Q*(z2/z1-1); |
ecowboy | 0:42ec9a44bc24 | 22 | }else{ |
ecowboy | 0:42ec9a44bc24 | 23 | z = 0; |
ecowboy | 0:42ec9a44bc24 | 24 | } |
ecowboy | 0:42ec9a44bc24 | 25 | p.x = x2; |
ecowboy | 0:42ec9a44bc24 | 26 | p.y = y2; |
ecowboy | 0:42ec9a44bc24 | 27 | p.z = z; |
ecowboy | 0:42ec9a44bc24 | 28 | return p; |
ecowboy | 0:42ec9a44bc24 | 29 | }*/ |
ecowboy | 0:42ec9a44bc24 | 30 | |
ecowboy | 0:42ec9a44bc24 | 31 | |
ecowboy | 0:42ec9a44bc24 | 32 | |
ecowboy | 0:42ec9a44bc24 | 33 | int TouchScreen::readTouch(PinName n, PinName m, PinName a, PinName i){ |
ecowboy | 0:42ec9a44bc24 | 34 | |
ecowboy | 0:42ec9a44bc24 | 35 | DigitalOut _n(n); |
ecowboy | 0:42ec9a44bc24 | 36 | _n = 1; |
ecowboy | 0:42ec9a44bc24 | 37 | DigitalOut _m(m); |
ecowboy | 0:42ec9a44bc24 | 38 | _m = 0; |
ecowboy | 0:42ec9a44bc24 | 39 | AnalogIn _a(a); |
ecowboy | 0:42ec9a44bc24 | 40 | AnalogIn _i(i); |
ecowboy | 0:42ec9a44bc24 | 41 | wait_us(10); |
ecowboy | 0:42ec9a44bc24 | 42 | return _a.read_u16(); |
ecowboy | 0:42ec9a44bc24 | 43 | } |
ecowboy | 0:42ec9a44bc24 | 44 | |
ecowboy | 0:42ec9a44bc24 | 45 | |
ecowboy | 0:42ec9a44bc24 | 46 | |
ecowboy | 0:42ec9a44bc24 | 47 | /*bool TouchScreen::isTouching(void){ |
ecowboy | 0:42ec9a44bc24 | 48 | Point p = getPoint(p); |
ecowboy | 0:42ec9a44bc24 | 49 | if(p.z > PRESSURE)return 1; |
ecowboy | 0:42ec9a44bc24 | 50 | else return 0; |
ecowboy | 0:42ec9a44bc24 | 51 | }*/ |
ecowboy | 0:42ec9a44bc24 | 52 | |
ecowboy | 0:42ec9a44bc24 | 53 | int map(int value, int fromSource, int toSource, int fromTarget, int toTarget){ |
ecowboy | 0:42ec9a44bc24 | 54 | return (value - fromSource) / (toSource - fromSource) * (toTarget - fromTarget) + fromTarget; |
ecowboy | 0:42ec9a44bc24 | 55 | } |