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: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
Revision 0:036c13c6cbb6, committed 2020-05-18
- Comitter:
- dzialowy04
- Date:
- Mon May 18 05:54:39 2020 +0000
- Commit message:
- mbed cz.1 cwiczenie ostatnie (2d2)
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BSP_DISCO_F429ZI.lib Mon May 18 05:54:39 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 Mon May 18 05:54:39 2020 +0000
@@ -0,0 +1,31 @@
+#include "KeyboardTsLcd.h"
+
+KeyboardTsLcd::KeyboardTsLcd(unsigned char _ucColumn){
+ pKeyboard = new KeyboardTs(_ucColumn);
+ pLed = new LedLcd(_ucColumn);
+}
+
+enum KeyboardState KeyboardTsLcd::eRead(){
+ switch(pKeyboard->eRead()){
+ case BUTTON_0:
+ pLed->On(0);
+ return BUTTON_0;
+ break;
+ case BUTTON_1:
+ pLed->On(1);
+ return BUTTON_1;
+ break;
+ case BUTTON_2:
+ pLed->On(2);
+ return BUTTON_2;
+ break;
+ case BUTTON_3:
+ pLed->On(3);
+ return BUTTON_3;
+ break;
+ default:
+ pLed->On(4);
+ return RELASED;
+ break;
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KeyboardTsLcd.h Mon May 18 05:54:39 2020 +0000
@@ -0,0 +1,15 @@
+#ifndef KEYBOARDTSLCD_H
+#define KEYBOARDTSLCD_H
+#include "Keyboard_Ts.h"
+#include "Led_Lcd.h"
+
+class KeyboardTsLcd{
+ public:
+ KeyboardTsLcd(unsigned char);
+ enum KeyboardState eRead();
+ private:
+ KeyboardTs *pKeyboard;
+ LedLcd *pLed;
+};
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Keyboard_Ts.cpp Mon May 18 05:54:39 2020 +0000
@@ -0,0 +1,27 @@
+#include "Keyboard_Ts.h"
+
+KeyboardTs::KeyboardTs(unsigned char ucColumnIndex){
+ ucLeftBoundary = ucColumnIndex*80;
+ ucRightBoundary = ucColumnIndex*80 + 80;
+}
+
+enum KeyboardState KeyboardTs::eRead(){
+ ts.GetState(&TS_State);
+ if (TS_State.TouchDetected & (TS_State.X >= ucLeftBoundary) & (TS_State.X < ucRightBoundary)){
+ if(TS_State.Y <80){
+ return BUTTON_0;
+ }
+ else if(TS_State.Y <160){
+ return BUTTON_1;
+ }
+ else if(TS_State.Y <240){
+ return BUTTON_2;
+ }
+ else{
+ return BUTTON_3;
+ }
+ }
+ else{
+ return RELASED;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Keyboard_Ts.h Mon May 18 05:54:39 2020 +0000
@@ -0,0 +1,24 @@
+#ifndef KEYBOARDTS_H
+#define KEYBOARDTS_H
+#include "TS_DISCO_F429ZI.h"
+
+enum KeyboardState{
+ RELASED,
+ BUTTON_0,
+ BUTTON_1,
+ BUTTON_2,
+ BUTTON_3
+};
+
+class KeyboardTs{
+ private:
+ TS_DISCO_F429ZI ts;
+ TS_StateTypeDef TS_State;
+ unsigned char ucLeftBoundary;
+ unsigned char ucRightBoundary;
+ public:
+ KeyboardTs(unsigned char);
+ enum KeyboardState eRead();
+};
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LCD_DISCO_F429ZI.lib Mon May 18 05:54:39 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 Mon May 18 05:54:39 2020 +0000
@@ -0,0 +1,34 @@
+#include "Led_Lcd.h"
+
+LedLcd::LedLcd(unsigned char ucColumnIndex){
+
+ ucLedPos = ucColumnIndex*80;
+ lcd.Clear(LCD_COLOR_BLACK);
+ BSP_LCD_SetFont(&Font24);
+ lcd.SetBackColor(LCD_COLOR_RED);
+ //lcd.SetTextColor(LCD_COLOR_GREEN);
+
+ //for(unsigned char ucRectNumber = 0; ucRectNumber < 4; ucRectNumber++){
+ // lcd.DrawRect(ucLedPos, ucRectNumber*80, 80, 80);
+ //}
+}
+
+void LedLcd::On(unsigned char ucLedIndex){
+
+ unsigned char ucKeyNumber[2];
+
+ for(unsigned char ucKeyCounter = 0; ucKeyCounter < 4; ucKeyCounter++){
+ if(ucLedIndex == ucKeyCounter){
+ lcd.SetTextColor(LCD_COLOR_YELLOW);
+ }
+ else{
+ lcd.SetTextColor(LCD_COLOR_BLUE);
+ }
+ lcd.FillRect(ucLedPos+1, ucKeyCounter*80 + 1, 79, 79);
+ lcd.SetTextColor(LCD_COLOR_WHITE);
+ sprintf((char*)ucKeyNumber, "%d", ucKeyCounter);
+ lcd.DisplayStringAt(ucLedPos, ucKeyCounter*80, (uint8_t *) &ucKeyNumber, LEFT_MODE);
+ lcd.SetTextColor(LCD_COLOR_GREEN);
+ lcd.DrawRect(ucLedPos, ucKeyCounter*80, 80, 80);
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Led_Lcd.h Mon May 18 05:54:39 2020 +0000
@@ -0,0 +1,14 @@
+#ifndef LED_LCD_H
+#define LED_LCD_H
+#include "LCD_DISCO_F429ZI.h"
+
+class LedLcd{
+ private:
+ LCD_DISCO_F429ZI lcd;
+ unsigned char ucLedPos;
+ public:
+ LedLcd(unsigned char);
+ void On(unsigned char);
+};
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TS_DISCO_F429ZI.lib Mon May 18 05:54:39 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 Mon May 18 05:54:39 2020 +0000
@@ -0,0 +1,30 @@
+#include "mbed.h"
+#include "KeyboardTsLcd.h"
+
+int main(){
+
+ LedLcd Led(2);
+ KeyboardTsLcd Keyboard(0);
+
+
+ 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);
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon May 18 05:54:39 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file