2d1
Fork of TS_DISCO_F429ZI by
Diff: Keyboard_Ts.cpp
- Revision:
- 1:972c0d202476
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Keyboard_Ts.cpp Fri May 05 19:38:00 2017 +0000 @@ -0,0 +1,65 @@ +//#include "mbed.h" +//#include "TS_DISCO_F429ZI.h" +//#include "LCD_DISCO_F429ZI.h" +#include "Keyboard_Ts.h" + + +TS_DISCO_F429ZI ts; +TS_StateTypeDef TS_State; + + + +KeyboardTs::KeyboardTs(unsigned char _ucColIndex){ + uint8_t status; + + ucColIndex= _ucColIndex; + status = ts.Init(LedLcd::GetXSize(), LedLcd::GetYSize()); + if (status != TS_OK) { + LedLcd::Clear(LCD_COLOR_RED); + LedLcd::SetBackColor(LCD_COLOR_RED); + LedLcd::SetTextColor(LCD_COLOR_WHITE); + LedLcd::DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); + LedLcd::DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE); + } else { + LedLcd::Clear(LCD_COLOR_GREEN); + LedLcd::SetBackColor(LCD_COLOR_GREEN); + LedLcd::SetTextColor(LCD_COLOR_WHITE); + LedLcd::DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); + LedLcd::DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE); + } + wait_ms(500); + BSP_LCD_SetFont(&Font20); + + LedLcd::Clear(LCD_COLOR_BLACK); + LedLcd::SetBackColor(LCD_COLOR_BLACK); + LedLcd::SetTextColor(LCD_COLOR_GREEN); + + for(uint8_t i=0; i<4; i++) + LedLcd::DrawRect(0+80*ucColIndex,0+80*i,80,80); +} + + +bool KeyboardTs::touchInRect(uint16_t TouchXpos, uint16_t TouchYpos,uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) +{ + if((TouchXpos>=Xpos)&&(TouchXpos<=Xpos+Width)&&(TouchYpos>=Ypos)&&(TouchYpos<=Ypos+Height))return (true); + else return(false); +} + +enum KeyboardState KeyboardTs::eRead(void){ + + ts.GetState(&TS_State); + if (TS_State.TouchDetected) { + //LedLcd::DrawNumber(); + x = TS_State.X; + y = TS_State.Y; + if(touchInRect(x,y,1+80*ucColIndex,1+80*0,79,79)) return (BUTTON_0); + if(touchInRect(x,y,1+80*ucColIndex,1+80*1,79,79)) return (BUTTON_1); + if(touchInRect(x,y,1+80*ucColIndex,1+80*2,79,79)) return (BUTTON_2); + if(touchInRect(x,y,1+80*ucColIndex,1+80*3,79,79)) return (BUTTON_3); + return(RELASED); + }else{ + return(RELASED); + } +} + +