Ćwiczenie zrealizowane na potrzeby przedmiotu PPO przez Krzysztofa Bolka

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
bolko
Date:
Wed May 20 07:59:22 2020 +0000
Revision:
1:d562d46c33b7
Poprawiona wersja.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bolko 1:d562d46c33b7 1 #include "led_lcd.h"
bolko 1:d562d46c33b7 2 #include "mbed.h"
bolko 1:d562d46c33b7 3 #include "LCD_DISCO_F429ZI.h"
bolko 1:d562d46c33b7 4
bolko 1:d562d46c33b7 5 LCD_DISCO_F429ZI lcd;
bolko 1:d562d46c33b7 6
bolko 1:d562d46c33b7 7 LedLcd::LedLcd(uint8_t WhichColumn){
bolko 1:d562d46c33b7 8 lcd.Clear(LCD_COLOR_BLACK);
bolko 1:d562d46c33b7 9 ui8Column = ((WhichColumn > 1) && (WhichColumn <= 3)) ? WhichColumn: 1;
bolko 1:d562d46c33b7 10
bolko 1:d562d46c33b7 11 };
bolko 1:d562d46c33b7 12
bolko 1:d562d46c33b7 13 void LedLcd::DrawLed(uint8_t ui8LedNumber, LedState eLedState){
bolko 1:d562d46c33b7 14 char cBuffer[2];
bolko 1:d562d46c33b7 15
bolko 1:d562d46c33b7 16 lcd.SetTextColor(LCD_COLOR_GREEN);
bolko 1:d562d46c33b7 17 lcd.DrawRect(((ui8Column-1)*80),80*ui8LedNumber,80,80);
bolko 1:d562d46c33b7 18
bolko 1:d562d46c33b7 19 if(eLedState == LED_PRESSED){
bolko 1:d562d46c33b7 20 lcd.SetTextColor(LCD_COLOR_GREEN);
bolko 1:d562d46c33b7 21 }
bolko 1:d562d46c33b7 22 else if(eLedState == LED_RELEASED){
bolko 1:d562d46c33b7 23 lcd.SetTextColor(LCD_COLOR_BLUE);
bolko 1:d562d46c33b7 24 }
bolko 1:d562d46c33b7 25
bolko 1:d562d46c33b7 26 lcd.FillRect(((ui8Column-1)*80)+2,80*ui8LedNumber+2,77,77);
bolko 1:d562d46c33b7 27
bolko 1:d562d46c33b7 28 BSP_LCD_SetFont(&Font24);
bolko 1:d562d46c33b7 29 lcd.SetBackColor(LCD_COLOR_RED);
bolko 1:d562d46c33b7 30 sprintf(cBuffer,"%d",ui8LedNumber);
bolko 1:d562d46c33b7 31 lcd.SetTextColor(LCD_COLOR_WHITE);
bolko 1:d562d46c33b7 32 lcd.DisplayStringAt(((ui8Column-1)*80)+1,80*ui8LedNumber+1,(uint8_t *)&cBuffer,LEFT_MODE);
bolko 1:d562d46c33b7 33 };
bolko 1:d562d46c33b7 34
bolko 1:d562d46c33b7 35 /*void LedLcd::On(uint8_t ui8LedNumber){
bolko 1:d562d46c33b7 36
bolko 1:d562d46c33b7 37 for(uint8_t ui8LedCounter=0; ui8LedCounter<4; ui8LedCounter++){
bolko 1:d562d46c33b7 38 if(ui8LedCounter == ui8LedNumber){
bolko 1:d562d46c33b7 39 DrawLed(ui8LedCounter,LED_PRESSED);
bolko 1:d562d46c33b7 40 }
bolko 1:d562d46c33b7 41 else {
bolko 1:d562d46c33b7 42 DrawLed(ui8LedCounter,LED_RELEASED);
bolko 1:d562d46c33b7 43 }
bolko 1:d562d46c33b7 44 }*/
bolko 1:d562d46c33b7 45 void LedLcd::On(uint8_t ui8LedNumber){
bolko 1:d562d46c33b7 46
bolko 1:d562d46c33b7 47 for(uint8_t ui8LedCounter = 0; ui8LedCounter <= 3; ui8LedCounter++){
bolko 1:d562d46c33b7 48 DrawLed(ui8LedCounter, LED_RELEASED);
bolko 1:d562d46c33b7 49 }
bolko 1:d562d46c33b7 50 DrawLed(ui8LedNumber,LED_PRESSED);
bolko 1:d562d46c33b7 51 };