a
Dependencies: BSP_DISCO_F429ZI LCD_DISCO_F429ZI TS_DISCO_F429ZI mbed
Revision 0:9d0b60394104, committed 2017-04-24
- Comitter:
- pbl96
- Date:
- Mon Apr 24 15:31:03 2017 +0000
- Commit message:
- a
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BSP_DISCO_F429ZI.lib Mon Apr 24 15:31:03 2017 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/teams/ST/code/BSP_DISCO_F429ZI/#de9280158372
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Keyboard_TS.cpp Mon Apr 24 15:31:03 2017 +0000 @@ -0,0 +1,75 @@ +#include "TS_DISCO_F429ZI.h" +#include "Keyboard_TS.h" + +TS_DISCO_F429ZI ts; + + + +KeyboardTs::KeyboardTs(uint8_t colnum) { + ts.Init(240,320); + if(colnum>=1 && colnum<=3) + column=colnum; + else + column=1; + } + + enum KeyboardState KeyboardTs::eRead(void){ + TS_StateTypeDef TS_State; + ts.GetState(&TS_State); + + if (TS_State.TouchDetected && TS_State.X>(80*(column-1)) && TS_State.X<80*column && TS_State.Y <80){ + return BUTTON_0; + } + else if(TS_State.TouchDetected && TS_State.X>(80*(column-1)) && TS_State.X<80*column && TS_State.Y>=80 && TS_State.Y <160){ + return BUTTON_1; + } + else if (TS_State.TouchDetected && TS_State.X>(80*(column-1)) && TS_State.X<80*column && TS_State.Y>=160 && TS_State.Y <240){ + return BUTTON_2; + } + else if (TS_State.TouchDetected && TS_State.X>(80*(column-1)) && TS_State.X<80*column && TS_State.Y>=240 && TS_State.Y <320){ + return BUTTON_3; + } + else{ + return RELASED; + } + + + void KeyboardTs::On(uint8_t ButtonNum) { + + uint8_t x_pos; + + switch(column) { + case 1: x_pos=0; break; + case 2: x_pos=79; break; + case 3: x_pos=159; break; + } + + + ButtonNoPushed(x_pos,0,80,80); + ButtonNoPushed(x_pos,79,80,80); + ButtonNoPushed(x_pos,159,80,80); + ButtonNoPushed(x_pos,239,80,80); + + if(ButtonNum==0) { + ButtonPushed(x_pos,0,80,80); + } + else if(ButtonNum==1) { + ButtonPushed(x_pos,79,80,80); + } + else if(ButtonNum==2) { + ButtonPushed(x_pos,159,80,80); + } + else if(ButtonNum==3) { + ButtonPushed(x_pos,239,80,80); + } + else if(ButtonNum==4) { + } + + SetString(x_pos,0,(uint8_t *)"0",LEFT_MODE); + SetString(x_pos,79,(uint8_t *)"1",LEFT_MODE); + SetString(x_pos,159,(uint8_t *)"2",LEFT_MODE); + SetString(x_pos,239,(uint8_t *)"3",LEFT_MODE); + } + +} + \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Keyboard_TS.h Mon Apr 24 15:31:03 2017 +0000 @@ -0,0 +1,23 @@ +#ifndef KEYBOARD_TS_H +#define KEYBOARD_TS_H + + +enum KeyboardState{ + RELASED, + BUTTON_0, + BUTTON_1, + BUTTON_2, + BUTTON_3}; + +class KeyboardTs{ +public: + enum KeyboardState eRead(); + KeyboardTs(uint8_t); + void On(uint8_t ButtonNum); +private: + uint8_t column; + + +}; + +#endif \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LCD_DISCO_F429ZI.lib Mon Apr 24 15:31:03 2017 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/teams/ST/code/LCD_DISCO_F429ZI/#dc55a068bc1a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Led_Lcd.cpp Mon Apr 24 15:31:03 2017 +0000 @@ -0,0 +1,35 @@ +#include "mbed.h" +#include "Led_Lcd.h" + +LCD_DISCO_F429ZI lcd; + +void LedLcd::ButtonNoPushed(uint16_t x_pos,uint16_t y_pos, uint16_t width, uint16_t height){ + lcd.SetTextColor(LCD_COLOR_GREEN); + lcd.DrawRect(x_pos,y_pos,width,height); + lcd.SetTextColor(LCD_COLOR_BLUE); + lcd.FillRect(x_pos+1,y_pos+1,width-1,height-1); + } +void LedLcd::ButtonPushed(uint16_t x_pos,uint16_t y_pos, uint16_t width, uint16_t height) { + lcd.SetTextColor(LCD_COLOR_GREEN); + lcd.DrawRect(x_pos,y_pos,width,height); + lcd.SetTextColor(LCD_COLOR_GREEN); + lcd.FillRect(x_pos+1,y_pos+1,width-1,height-1); + } + +void LedLcd::SetString(uint8_t x_pos,uint8_t y_pos,uint8_t *pText, Text_AlignModeTypdef mode) { + lcd.SetFont(&Font24); + lcd.SetTextColor(LCD_COLOR_WHITE); + lcd.SetBackColor(LCD_COLOR_RED); + lcd.DisplayStringAt(x_pos, y_pos,pText, mode); + } + +LedLcd::LedLcd(uint8_t num) { + lcd.Clear(LCD_COLOR_BLACK); + if(num>=1 && num<=3) + column=num; + else + column=1; + + } + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Led_Lcd.h Mon Apr 24 15:31:03 2017 +0000 @@ -0,0 +1,18 @@ +#ifndef LED_LCD_H +#define LED_LCD_H +#include "LCD_DISCO_F429ZI.h" + +class LedLcd{ + public: + LedLcd(uint8_t); + void ButtonNoPushed(uint16_t x_pos,uint16_t y_pos, uint16_t width, uint16_t height); + void ButtonPushed(uint16_t x_pos,uint16_t y_pos, uint16_t width, uint16_t height); + void SetString(uint8_t x_pos,uint8_t y_pos,uint8_t *pText, Text_AlignModeTypdef mode); + uint8_t column; + + + }; + + + +#endif \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TS_DISCO_F429ZI.lib Mon Apr 24 15:31:03 2017 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/teams/ST/code/TS_DISCO_F429ZI/#4f8b6df8e235
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Apr 24 15:31:03 2017 +0000 @@ -0,0 +1,40 @@ +#include "mbed.h" +#include "Keyboard_TS.h" +#include "Led_Lcd.h" + +int main() + +{ + LedLcd Led(3); + KeyboardTs Keyboard(3); + + while(1) { + + switch(Keyboard.eRead()) { + case BUTTON_0: + Led.On(0); + break; + + case BUTTON_1: + Led.On(1); + break; + + case BUTTON_2: + Led.On(2); + break; + + case BUTTON_3: + Led.On(3); + break; + + default : + Led.On(4); + break; + + } + + wait(0.1); + + } + +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Apr 24 15:31:03 2017 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/mbed_official/code/mbed/builds/856d2700e60b \ No newline at end of file