Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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