...
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
Keyboard_Ts.cpp
- Committer:
- Mistmist
- Date:
- 2019-04-27
- Revision:
- 0:bd1186e6ebb2
File content as of revision 0:bd1186e6ebb2:
#include "Keyboard_Ts.h" #include "button.h" #include "LCD_DISCO_F429ZI.h" #include "TS_DISCO_F429ZI.h" LCD_DISCO_F429ZI Lcd; TS_DISCO_F429ZI Ts; TS_StateTypeDef TS_State; #define BUTTON_REL_COLOR LCD_COLOR_BLUE #define BACKGROUND LCD_COLOR_BLACK extern Button Button0('0', 0, 0, 80, 80, BUTTON_REL_COLOR, 0); extern Button Button1('1', 0, 80, 80, 80, BUTTON_REL_COLOR, 0); extern Button Button2('2', 0, 160, 80, 80, BUTTON_REL_COLOR, 0); extern Button Button3('3', 0, 240, 80, 80, BUTTON_REL_COLOR, 0); KeyboardTs::KeyboardTs(uint16_t ColNr){ //Background Lcd.SetTextColor(BACKGROUND); Lcd.FillRect(0, 0, 240, 320); //Buttons SetCol(ColNr); Button0.SetCol(ColNr); Button1.SetCol(ColNr); Button2.SetCol(ColNr); Button3.SetCol(ColNr); Button0.DrawButton(BUTTON_REL_COLOR); Button1.DrawButton(BUTTON_REL_COLOR); Button2.DrawButton(BUTTON_REL_COLOR); Button3.DrawButton(BUTTON_REL_COLOR); } enum KeyboardState KeyboardTs::eRead(void){ Ts.GetState(&TS_State); if(TS_State.TouchDetected && TS_State.X >= (1+KeyboardTs::ColNr*80) && TS_State.X < (80+KeyboardTs::ColNr*80) && TS_State.Y >= 1 && TS_State.Y < 80){ return BUTTON_0; } else if(TS_State.TouchDetected && TS_State.X >= (1+KeyboardTs::ColNr*80) && TS_State.X < (80+KeyboardTs::ColNr*80) && TS_State.Y >= 81 && TS_State.Y < 160){ return BUTTON_1; } else if(TS_State.TouchDetected && TS_State.X >= (1+KeyboardTs::ColNr*80) && TS_State.X < (80+KeyboardTs::ColNr*80) && TS_State.Y >= 161 && TS_State.Y < 240){ return BUTTON_2; } else if(TS_State.TouchDetected && TS_State.X >= (1+KeyboardTs::ColNr*80) && TS_State.X < (80+KeyboardTs::ColNr*80) && TS_State.Y >= 241 && TS_State.Y < 320){ return BUTTON_3; } else{ return RELEASED; } } void KeyboardTs::SetCol(uint16_t ColNr){ KeyboardTs::ColNr = ColNr; }