a

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
wierzba100
Date:
Wed May 11 14:04:35 2022 +0000
Revision:
0:515a71b6fd11
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wierzba100 0:515a71b6fd11 1 #include "Keyboard_Ts.h"
wierzba100 0:515a71b6fd11 2 #include "TS_DISCO_F429ZI.h"
wierzba100 0:515a71b6fd11 3
wierzba100 0:515a71b6fd11 4 TS_DISCO_F429ZI ts;
wierzba100 0:515a71b6fd11 5
wierzba100 0:515a71b6fd11 6 TS_StateTypeDef TS_State;
wierzba100 0:515a71b6fd11 7
wierzba100 0:515a71b6fd11 8 KeyboardTs::KeyboardTs(unsigned char ucButtonPos): ucButtonMode(ucButtonPos){}
wierzba100 0:515a71b6fd11 9
wierzba100 0:515a71b6fd11 10 enum KeyboardState KeyboardTs::eRead(void)
wierzba100 0:515a71b6fd11 11 {
wierzba100 0:515a71b6fd11 12 ts.GetState(&TS_State);
wierzba100 0:515a71b6fd11 13 unsigned int uiX;
wierzba100 0:515a71b6fd11 14 unsigned int uiY;
wierzba100 0:515a71b6fd11 15 if (TS_State.TouchDetected)
wierzba100 0:515a71b6fd11 16 {
wierzba100 0:515a71b6fd11 17 uiX=TS_State.X;
wierzba100 0:515a71b6fd11 18 uiY=TS_State.Y;
wierzba100 0:515a71b6fd11 19 }else
wierzba100 0:515a71b6fd11 20 {
wierzba100 0:515a71b6fd11 21 uiX=0;
wierzba100 0:515a71b6fd11 22 uiY=0;
wierzba100 0:515a71b6fd11 23 }
wierzba100 0:515a71b6fd11 24 switch(ucButtonMode)
wierzba100 0:515a71b6fd11 25 {
wierzba100 0:515a71b6fd11 26 case 0:
wierzba100 0:515a71b6fd11 27 if(uiX > 0 && uiX < 79 && uiY > 0 && uiY < 79)
wierzba100 0:515a71b6fd11 28 {
wierzba100 0:515a71b6fd11 29 return BUTTON_0;
wierzba100 0:515a71b6fd11 30 }
wierzba100 0:515a71b6fd11 31 else if(uiX > 0 && uiX < 79 && uiY > 80 && uiY < 160)
wierzba100 0:515a71b6fd11 32 {
wierzba100 0:515a71b6fd11 33 return BUTTON_1;
wierzba100 0:515a71b6fd11 34 }
wierzba100 0:515a71b6fd11 35 else if(uiX > 0 && uiX < 79 && uiY > 160 && uiY < 240)
wierzba100 0:515a71b6fd11 36 {
wierzba100 0:515a71b6fd11 37 return BUTTON_2;
wierzba100 0:515a71b6fd11 38 }
wierzba100 0:515a71b6fd11 39 else if(uiX > 0 && uiX < 79 && uiY > 240 && uiY < 320)
wierzba100 0:515a71b6fd11 40 {
wierzba100 0:515a71b6fd11 41 return BUTTON_3;
wierzba100 0:515a71b6fd11 42 }
wierzba100 0:515a71b6fd11 43 else{
wierzba100 0:515a71b6fd11 44 return RELASED;
wierzba100 0:515a71b6fd11 45 }
wierzba100 0:515a71b6fd11 46 case 1:
wierzba100 0:515a71b6fd11 47 if(uiX > 80 && uiX < 160 && uiY > 0 && uiY < 79)
wierzba100 0:515a71b6fd11 48 {
wierzba100 0:515a71b6fd11 49 return BUTTON_0;
wierzba100 0:515a71b6fd11 50 }
wierzba100 0:515a71b6fd11 51 else if(uiX > 80 && uiX < 160 && uiY > 80 && uiY < 160)
wierzba100 0:515a71b6fd11 52 {
wierzba100 0:515a71b6fd11 53 return BUTTON_1;
wierzba100 0:515a71b6fd11 54 }
wierzba100 0:515a71b6fd11 55 else if(uiX > 80 && uiX < 160 && uiY > 160 && uiY < 240)
wierzba100 0:515a71b6fd11 56 {
wierzba100 0:515a71b6fd11 57 return BUTTON_2;
wierzba100 0:515a71b6fd11 58 }
wierzba100 0:515a71b6fd11 59 else if(uiX > 80 && uiX < 160 && uiY > 240 && uiY < 320)
wierzba100 0:515a71b6fd11 60 {
wierzba100 0:515a71b6fd11 61 return BUTTON_3;
wierzba100 0:515a71b6fd11 62 }
wierzba100 0:515a71b6fd11 63 else{
wierzba100 0:515a71b6fd11 64 return RELASED;
wierzba100 0:515a71b6fd11 65 }
wierzba100 0:515a71b6fd11 66 default:
wierzba100 0:515a71b6fd11 67 if(uiX > 160 && uiX < 240 && uiY > 0 && uiY < 79)
wierzba100 0:515a71b6fd11 68 {
wierzba100 0:515a71b6fd11 69 return BUTTON_0;
wierzba100 0:515a71b6fd11 70 }
wierzba100 0:515a71b6fd11 71 else if(uiX > 160 && uiX < 240 && uiY > 80 && uiY < 160)
wierzba100 0:515a71b6fd11 72 {
wierzba100 0:515a71b6fd11 73 return BUTTON_1;
wierzba100 0:515a71b6fd11 74 }
wierzba100 0:515a71b6fd11 75 else if(uiX > 160 && uiX < 240 && uiY > 160 && uiY < 240)
wierzba100 0:515a71b6fd11 76 {
wierzba100 0:515a71b6fd11 77 return BUTTON_2;
wierzba100 0:515a71b6fd11 78 }
wierzba100 0:515a71b6fd11 79 else if(uiX > 160 && uiX < 240 && uiY > 240 && uiY < 320)
wierzba100 0:515a71b6fd11 80 {
wierzba100 0:515a71b6fd11 81 return BUTTON_3;
wierzba100 0:515a71b6fd11 82 }
wierzba100 0:515a71b6fd11 83 else{
wierzba100 0:515a71b6fd11 84 return RELASED;
wierzba100 0:515a71b6fd11 85 }
wierzba100 0:515a71b6fd11 86 }
wierzba100 0:515a71b6fd11 87 }
wierzba100 0:515a71b6fd11 88
wierzba100 0:515a71b6fd11 89
wierzba100 0:515a71b6fd11 90