
Ćwiczenie zrealizowane na potrzeby przedmiotu PPO przez Krzysztofa Bolka
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
Led_Lcd.cpp@0:f4c2a4d3c318, 2020-05-12 (annotated)
- Committer:
- bolko
- Date:
- Tue May 12 15:42:00 2020 +0000
- Revision:
- 0:f4c2a4d3c318
Zadanie mbed cz. I PPO Krzysztof Bolek
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bolko | 0:f4c2a4d3c318 | 1 | #include "Led_Lcd.h" |
bolko | 0:f4c2a4d3c318 | 2 | #include "mbed.h" |
bolko | 0:f4c2a4d3c318 | 3 | #include "LCD_DISCO_F429ZI.h" |
bolko | 0:f4c2a4d3c318 | 4 | #include <cstdlib> |
bolko | 0:f4c2a4d3c318 | 5 | |
bolko | 0:f4c2a4d3c318 | 6 | LCD_DISCO_F429ZI lcd; |
bolko | 0:f4c2a4d3c318 | 7 | |
bolko | 0:f4c2a4d3c318 | 8 | LedLcd::LedLcd(uint8_t WhichColumn){ |
bolko | 0:f4c2a4d3c318 | 9 | lcd.Clear(LCD_COLOR_BLACK); |
bolko | 0:f4c2a4d3c318 | 10 | ui8Column = ((WhichColumn > 1) && (WhichColumn <= 3)) ? WhichColumn: 1; |
bolko | 0:f4c2a4d3c318 | 11 | }; |
bolko | 0:f4c2a4d3c318 | 12 | |
bolko | 0:f4c2a4d3c318 | 13 | void LedLcd::Button(uint8_t ui8ButtonNumber, ButtonState eButtonState){ |
bolko | 0:f4c2a4d3c318 | 14 | char ui8Buffer[4]; |
bolko | 0:f4c2a4d3c318 | 15 | |
bolko | 0:f4c2a4d3c318 | 16 | lcd.SetTextColor(LCD_COLOR_GREEN); |
bolko | 0:f4c2a4d3c318 | 17 | lcd.DrawRect(((ui8Column-1)*80),80*ui8ButtonNumber,80,80); |
bolko | 0:f4c2a4d3c318 | 18 | |
bolko | 0:f4c2a4d3c318 | 19 | if(eButtonState == BUTTON_PRESSED) lcd.SetTextColor(LCD_COLOR_GREEN); |
bolko | 0:f4c2a4d3c318 | 20 | else if(eButtonState == BUTTON_RELEASED) lcd.SetTextColor(LCD_COLOR_BLUE); |
bolko | 0:f4c2a4d3c318 | 21 | lcd.FillRect(((ui8Column-1)*80)+2,80*ui8ButtonNumber+2,77,77); |
bolko | 0:f4c2a4d3c318 | 22 | |
bolko | 0:f4c2a4d3c318 | 23 | BSP_LCD_SetFont(&Font24); |
bolko | 0:f4c2a4d3c318 | 24 | lcd.SetBackColor(LCD_COLOR_RED); |
bolko | 0:f4c2a4d3c318 | 25 | sprintf(ui8Buffer,"%d",ui8ButtonNumber); |
bolko | 0:f4c2a4d3c318 | 26 | lcd.SetTextColor(LCD_COLOR_WHITE); |
bolko | 0:f4c2a4d3c318 | 27 | lcd.DisplayStringAt(((ui8Column-1)*80)+1,80*ui8ButtonNumber+1,(uint8_t *)&ui8Buffer,LEFT_MODE); |
bolko | 0:f4c2a4d3c318 | 28 | }; |
bolko | 0:f4c2a4d3c318 | 29 | |
bolko | 0:f4c2a4d3c318 | 30 | void LedLcd::On(uint8_t ui8ButtonNumber){ |
bolko | 0:f4c2a4d3c318 | 31 | for(uint8_t ui8Counter=0; ui8Counter<4; ui8Counter++){ |
bolko | 0:f4c2a4d3c318 | 32 | if(ui8Counter == ui8ButtonNumber) Button(ui8Counter,BUTTON_PRESSED); |
bolko | 0:f4c2a4d3c318 | 33 | else Button(ui8Counter,BUTTON_RELEASED); |
bolko | 0:f4c2a4d3c318 | 34 | } |
bolko | 0:f4c2a4d3c318 | 35 | }; |