
a
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
Diff: Keyboard_Ts.cpp
- Revision:
- 0:515a71b6fd11
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Keyboard_Ts.cpp Wed May 11 14:04:35 2022 +0000 @@ -0,0 +1,90 @@ +#include "Keyboard_Ts.h" +#include "TS_DISCO_F429ZI.h" + +TS_DISCO_F429ZI ts; + +TS_StateTypeDef TS_State; + +KeyboardTs::KeyboardTs(unsigned char ucButtonPos): ucButtonMode(ucButtonPos){} + +enum KeyboardState KeyboardTs::eRead(void) +{ + ts.GetState(&TS_State); + unsigned int uiX; + unsigned int uiY; + if (TS_State.TouchDetected) + { + uiX=TS_State.X; + uiY=TS_State.Y; + }else + { + uiX=0; + uiY=0; + } + switch(ucButtonMode) + { + case 0: + if(uiX > 0 && uiX < 79 && uiY > 0 && uiY < 79) + { + return BUTTON_0; + } + else if(uiX > 0 && uiX < 79 && uiY > 80 && uiY < 160) + { + return BUTTON_1; + } + else if(uiX > 0 && uiX < 79 && uiY > 160 && uiY < 240) + { + return BUTTON_2; + } + else if(uiX > 0 && uiX < 79 && uiY > 240 && uiY < 320) + { + return BUTTON_3; + } + else{ + return RELASED; + } + case 1: + if(uiX > 80 && uiX < 160 && uiY > 0 && uiY < 79) + { + return BUTTON_0; + } + else if(uiX > 80 && uiX < 160 && uiY > 80 && uiY < 160) + { + return BUTTON_1; + } + else if(uiX > 80 && uiX < 160 && uiY > 160 && uiY < 240) + { + return BUTTON_2; + } + else if(uiX > 80 && uiX < 160 && uiY > 240 && uiY < 320) + { + return BUTTON_3; + } + else{ + return RELASED; + } + default: + if(uiX > 160 && uiX < 240 && uiY > 0 && uiY < 79) + { + return BUTTON_0; + } + else if(uiX > 160 && uiX < 240 && uiY > 80 && uiY < 160) + { + return BUTTON_1; + } + else if(uiX > 160 && uiX < 240 && uiY > 160 && uiY < 240) + { + return BUTTON_2; + } + else if(uiX > 160 && uiX < 240 && uiY > 240 && uiY < 320) + { + return BUTTON_3; + } + else{ + return RELASED; + } + } +} + + +