2b
Fork of TS_DISCO_F429ZI by
Keyboard_Ts.cpp@1:ad1c1b95640c, 2017-05-05 (annotated)
- Committer:
- Robsonik16
- Date:
- Fri May 05 19:33:30 2017 +0000
- Revision:
- 1:ad1c1b95640c
a
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Robsonik16 | 1:ad1c1b95640c | 1 | //#include "mbed.h" |
Robsonik16 | 1:ad1c1b95640c | 2 | //#include "TS_DISCO_F429ZI.h" |
Robsonik16 | 1:ad1c1b95640c | 3 | //#include "LCD_DISCO_F429ZI.h" |
Robsonik16 | 1:ad1c1b95640c | 4 | #include "Keyboard_Ts.h" |
Robsonik16 | 1:ad1c1b95640c | 5 | |
Robsonik16 | 1:ad1c1b95640c | 6 | |
Robsonik16 | 1:ad1c1b95640c | 7 | TS_DISCO_F429ZI ts; |
Robsonik16 | 1:ad1c1b95640c | 8 | TS_StateTypeDef TS_State; |
Robsonik16 | 1:ad1c1b95640c | 9 | |
Robsonik16 | 1:ad1c1b95640c | 10 | |
Robsonik16 | 1:ad1c1b95640c | 11 | |
Robsonik16 | 1:ad1c1b95640c | 12 | KeyboardTs::KeyboardTs(void){ |
Robsonik16 | 1:ad1c1b95640c | 13 | |
Robsonik16 | 1:ad1c1b95640c | 14 | uint8_t status; |
Robsonik16 | 1:ad1c1b95640c | 15 | |
Robsonik16 | 1:ad1c1b95640c | 16 | status = ts.Init(LedLcd::GetXSize(), LedLcd::GetYSize()); |
Robsonik16 | 1:ad1c1b95640c | 17 | |
Robsonik16 | 1:ad1c1b95640c | 18 | if (status != TS_OK) { |
Robsonik16 | 1:ad1c1b95640c | 19 | LedLcd::Clear(LCD_COLOR_RED); |
Robsonik16 | 1:ad1c1b95640c | 20 | LedLcd::SetBackColor(LCD_COLOR_RED); |
Robsonik16 | 1:ad1c1b95640c | 21 | LedLcd::SetTextColor(LCD_COLOR_WHITE); |
Robsonik16 | 1:ad1c1b95640c | 22 | LedLcd::DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); |
Robsonik16 | 1:ad1c1b95640c | 23 | LedLcd::DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE); |
Robsonik16 | 1:ad1c1b95640c | 24 | } else { |
Robsonik16 | 1:ad1c1b95640c | 25 | LedLcd::Clear(LCD_COLOR_GREEN); |
Robsonik16 | 1:ad1c1b95640c | 26 | LedLcd::SetBackColor(LCD_COLOR_GREEN); |
Robsonik16 | 1:ad1c1b95640c | 27 | LedLcd::SetTextColor(LCD_COLOR_WHITE); |
Robsonik16 | 1:ad1c1b95640c | 28 | LedLcd::DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); |
Robsonik16 | 1:ad1c1b95640c | 29 | LedLcd::DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE); |
Robsonik16 | 1:ad1c1b95640c | 30 | } |
Robsonik16 | 1:ad1c1b95640c | 31 | wait_ms(500); |
Robsonik16 | 1:ad1c1b95640c | 32 | BSP_LCD_SetFont(&Font20); |
Robsonik16 | 1:ad1c1b95640c | 33 | |
Robsonik16 | 1:ad1c1b95640c | 34 | LedLcd::Clear(LCD_COLOR_BLACK); |
Robsonik16 | 1:ad1c1b95640c | 35 | LedLcd::SetBackColor(LCD_COLOR_BLACK); |
Robsonik16 | 1:ad1c1b95640c | 36 | LedLcd::SetTextColor(LCD_COLOR_GREEN); |
Robsonik16 | 1:ad1c1b95640c | 37 | |
Robsonik16 | 1:ad1c1b95640c | 38 | for(uint8_t i=0; i<4; i++) |
Robsonik16 | 1:ad1c1b95640c | 39 | LedLcd::DrawRect(0,0+80*i,80,80); |
Robsonik16 | 1:ad1c1b95640c | 40 | } |
Robsonik16 | 1:ad1c1b95640c | 41 | |
Robsonik16 | 1:ad1c1b95640c | 42 | |
Robsonik16 | 1:ad1c1b95640c | 43 | bool KeyboardTs::touchInRect(uint16_t TouchXpos, uint16_t TouchYpos,uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) |
Robsonik16 | 1:ad1c1b95640c | 44 | { |
Robsonik16 | 1:ad1c1b95640c | 45 | if((TouchXpos>=Xpos)&&(TouchXpos<=Xpos+Width)&&(TouchYpos>=Ypos)&&(TouchYpos<=Ypos+Height))return (true); |
Robsonik16 | 1:ad1c1b95640c | 46 | else return(false); |
Robsonik16 | 1:ad1c1b95640c | 47 | } |
Robsonik16 | 1:ad1c1b95640c | 48 | |
Robsonik16 | 1:ad1c1b95640c | 49 | enum KeyboardState KeyboardTs::eRead(void){ |
Robsonik16 | 1:ad1c1b95640c | 50 | |
Robsonik16 | 1:ad1c1b95640c | 51 | ts.GetState(&TS_State); |
Robsonik16 | 1:ad1c1b95640c | 52 | if (TS_State.TouchDetected) { |
Robsonik16 | 1:ad1c1b95640c | 53 | x = TS_State.X; |
Robsonik16 | 1:ad1c1b95640c | 54 | y = TS_State.Y; |
Robsonik16 | 1:ad1c1b95640c | 55 | if(touchInRect(x,y,1,1+80*0,79,79)) return (BUTTON_0); |
Robsonik16 | 1:ad1c1b95640c | 56 | if(touchInRect(x,y,1,1+80*1,79,79)) return (BUTTON_1); |
Robsonik16 | 1:ad1c1b95640c | 57 | if(touchInRect(x,y,1,1+80*2,79,79)) return (BUTTON_2); |
Robsonik16 | 1:ad1c1b95640c | 58 | if(touchInRect(x,y,1,1+80*3,79,79)) return (BUTTON_3); |
Robsonik16 | 1:ad1c1b95640c | 59 | return(RELASED); |
Robsonik16 | 1:ad1c1b95640c | 60 | }else{ |
Robsonik16 | 1:ad1c1b95640c | 61 | return(RELASED); |
Robsonik16 | 1:ad1c1b95640c | 62 | } |
Robsonik16 | 1:ad1c1b95640c | 63 | } |
Robsonik16 | 1:ad1c1b95640c | 64 | |
Robsonik16 | 1:ad1c1b95640c | 65 |