Paint for the FRDM-KL25Z

Dependencies:   mbed TFT_fonts SPI_TFT_ILI9341

Committer:
ecowboy
Date:
Mon Jan 07 06:40:27 2019 +0000
Revision:
0:42ec9a44bc24
Child:
1:33506fcfdd95
Initial

Who changed what in which revision?

UserRevisionLine numberNew 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 }