Mbed ex. 1

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Files at this revision

API Documentation at this revision

Comitter:
lulusiova
Date:
Sun May 24 16:07:21 2020 +0000
Commit message:
mbed, cz. 1

Changed in this revision

BSP_DISCO_F429ZI.lib Show annotated file Show diff for this revision Revisions of this file
KeyboardTsLcd.cpp Show annotated file Show diff for this revision Revisions of this file
KeyboardTsLcd.h Show annotated file Show diff for this revision Revisions of this file
Keyboard_Ts.cpp Show annotated file Show diff for this revision Revisions of this file
Keyboard_Ts.h Show annotated file Show diff for this revision Revisions of this file
LCD_DISCO_F429ZI.lib Show annotated file Show diff for this revision Revisions of this file
Led_Lcd.cpp Show annotated file Show diff for this revision Revisions of this file
Led_Lcd.h Show annotated file Show diff for this revision Revisions of this file
TS_DISCO_F429ZI.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BSP_DISCO_F429ZI.lib	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/teams/ST/code/BSP_DISCO_F429ZI/#53d9067a4feb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/KeyboardTsLcd.cpp	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,28 @@
+#include "KeyboardTsLcd.h"
+ 
+KeyboardTsLcd::KeyboardTsLcd(unsigned char _ucColumn)
+{
+    pKeyboard   = new KeyboardTs(_ucColumn);
+    pLed        = new LedLcd(_ucColumn);
+}
+ 
+enum State KeyboardTsLcd::eRead(void)
+{
+    switch(pKeyboard -> eRead()){
+        case BUTTON_0:
+            pLed -> On(0);
+            return BUTTON_0;
+        case BUTTON_1:
+            pLed -> On(1);
+            return BUTTON_1;
+        case BUTTON_2:
+            pLed -> On(2);
+            return BUTTON_2;
+        case BUTTON_3:
+            pLed -> On(3);
+            return BUTTON_3;
+        default:
+            pLed -> On(4);
+            return RELASED;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/KeyboardTsLcd.h	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,16 @@
+#ifndef KEYBOARDTSLCD_H
+#define KEYBOARDTSLCD_H
+
+#include "Keyboard_Ts.h"
+#include "Led_Lcd.h"
+
+class KeyboardTsLcd{
+    public:
+        KeyboardTsLcd(unsigned char _ucColumn);
+        enum State eRead(void);
+    private:
+        KeyboardTs *pKeyboard;
+        LedLcd *pLed;
+    };
+
+#endif//KEYBOARDTSLCD_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Keyboard_Ts.cpp	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,42 @@
+#include "Keyboard_Ts.h"
+#include "TS_DISCO_F429ZI.h"
+
+TS_DISCO_F429ZI ts;
+
+KeyboardTs::KeyboardTs(unsigned char ucColumnPosition){
+    ts.Init(240, 320);
+    ucColumnIndex = ucColumnPosition;
+}
+
+enum State KeyboardTs::eRead(void){
+    TS_StateTypeDef TS_State;
+    ts.GetState(&TS_State);
+    uint16_t x, y;
+    x = TS_State.X;
+    y = TS_State.Y;
+    if(TS_State.TouchDetected){
+        if ((x > (ucColumnIndex*80)) && (x < ((ucColumnIndex+1)*80))){
+            if((y < 80) && (y > 0)){
+                return BUTTON_0;
+            }
+            else if((y > 80) && (y < 160)){
+                return BUTTON_1;
+            }
+            else if((y > 160) && (y < 240)){
+                return BUTTON_2;
+            }
+            else if(y > 240){
+                return BUTTON_3;
+            }
+            else {
+                return RELASED;
+            }
+        }
+        else {
+            return RELASED;
+        }
+    }
+    else{
+        return RELASED;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Keyboard_Ts.h	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,14 @@
+#ifndef KEYBOARDTS_H
+#define KEYBOARDTS_H
+
+enum State {BUTTON_0, BUTTON_1, BUTTON_2, BUTTON_3, RELASED};
+
+class KeyboardTs {
+    private:
+        unsigned char ucColumnIndex;
+    public:
+        KeyboardTs(unsigned char ucColumnPosition);
+        enum State eRead(void);
+    };
+
+#endif//KEYBOARDTS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LCD_DISCO_F429ZI.lib	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/teams/ST/code/LCD_DISCO_F429ZI/#dc55a068bc1a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Led_Lcd.cpp	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,35 @@
+#include "Led_Lcd.h"
+#include "LCD_DISCO_F429ZI.h"
+
+LCD_DISCO_F429ZI lcd;
+
+LedLcd::LedLcd(unsigned char ucColumnPosition){
+    lcd.Clear(LCD_COLOR_BLACK);
+    ucColumnIndex = (80 * ucColumnPosition);
+}
+
+void LedLcd::On(unsigned char ucLedIndex){
+    lcd.SetTextColor(LCD_COLOR_GREEN);
+    lcd.FillRect(ucColumnIndex, 0, 80, 320);
+    unsigned char ucRectangleCounter;
+    for (ucRectangleCounter = 0; ucRectangleCounter < 4; ucRectangleCounter++){
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect((1+ucColumnIndex), (1+80*ucRectangleCounter), 78, 78);
+    }
+
+    lcd.SetTextColor(LCD_COLOR_YELLOW);
+    
+    if((ucLedIndex == 0) || (ucLedIndex == 1) || (ucLedIndex == 2) || (ucLedIndex == 3)){
+        lcd.FillRect((ucColumnIndex+1), (1+80*ucLedIndex), 78, 78);
+    }
+    else {
+    }
+    lcd.SetBackColor(LCD_COLOR_RED);
+    lcd.SetTextColor(LCD_COLOR_WHITE);
+    BSP_LCD_SetFont(&Font24);
+    lcd.DisplayStringAt(ucColumnIndex, 0, (uint8_t *)"0", LEFT_MODE);
+    lcd.DisplayStringAt(ucColumnIndex, 80, (uint8_t *)"1", LEFT_MODE);
+    lcd.DisplayStringAt(ucColumnIndex, 160, (uint8_t *)"2", LEFT_MODE);
+    lcd.DisplayStringAt(ucColumnIndex, 240, (uint8_t *)"3", LEFT_MODE);
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Led_Lcd.h	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,12 @@
+#ifndef LEDLCD_H
+#define LEDLCD_H
+
+class LedLcd {
+    public:
+        LedLcd(unsigned char ucColumnPosition);
+        void On(unsigned char ucLedIndex);
+    private:
+        unsigned char ucColumnIndex;
+    };
+
+#endif//LEDLCD_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TS_DISCO_F429ZI.lib	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/teams/ST/code/TS_DISCO_F429ZI/#4f8b6df8e235
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,29 @@
+#include "mbed.h"
+#include "KeyboardTsLcd.h"
+
+int main()
+{
+    KeyboardTsLcd Keyboard(0);
+    LedLcd Led(2);
+    
+    while(1) {
+        switch(Keyboard.eRead()) {
+            case BUTTON_0:
+                Led.On(3);
+                break;
+            case BUTTON_1:
+                Led.On(2);
+                break;
+            case BUTTON_2:
+                Led.On(1);
+                break;
+            case BUTTON_3:
+                Led.On(0);
+                break;
+            default :
+                Led.On(4);
+                break;
+            }
+        wait(0.1);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun May 24 16:07:21 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file