Finalna wersja programu 2d_2 z pierwszej części zestawu mbed

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
azmuth_sd
Date:
Sun May 10 21:48:38 2020 +0000
Revision:
0:15cfee7b5bad
Child:
1:29d67154ca51
ddd

Who changed what in which revision?

UserRevisionLine numberNew contents of line
azmuth_sd 0:15cfee7b5bad 1 #include "Led_Lcd.h"
azmuth_sd 0:15cfee7b5bad 2
azmuth_sd 0:15cfee7b5bad 3 LedLcd::LedLcd(unsigned char ucColumn)
azmuth_sd 0:15cfee7b5bad 4 {
azmuth_sd 0:15cfee7b5bad 5 ucXLed = ucColumn * 80;
azmuth_sd 0:15cfee7b5bad 6 lcd.Clear(LCD_COLOR_BLACK);
azmuth_sd 0:15cfee7b5bad 7 }
azmuth_sd 0:15cfee7b5bad 8
azmuth_sd 0:15cfee7b5bad 9 void LedLcd::On(unsigned char ucCtr)
azmuth_sd 0:15cfee7b5bad 10 {
azmuth_sd 0:15cfee7b5bad 11 switch(ucCtr)
azmuth_sd 0:15cfee7b5bad 12 {
azmuth_sd 0:15cfee7b5bad 13 case 0:
azmuth_sd 0:15cfee7b5bad 14 lcd.SetTextColor(LCD_COLOR_YELLOW);
azmuth_sd 0:15cfee7b5bad 15 lcd.FillRect(ucXLed+2, 2, 77, 77);
azmuth_sd 0:15cfee7b5bad 16 lcd.SetTextColor(LCD_COLOR_WHITE);
azmuth_sd 0:15cfee7b5bad 17 lcd.DisplayStringAt(ucXLed, 0, (uint8_t *)"0", LEFT_MODE);
azmuth_sd 0:15cfee7b5bad 18 break;
azmuth_sd 0:15cfee7b5bad 19 case 1:
azmuth_sd 0:15cfee7b5bad 20 lcd.SetTextColor(LCD_COLOR_YELLOW);
azmuth_sd 0:15cfee7b5bad 21 lcd.FillRect(ucXLed+2, 82, 77, 77);
azmuth_sd 0:15cfee7b5bad 22 lcd.SetTextColor(LCD_COLOR_WHITE);
azmuth_sd 0:15cfee7b5bad 23 lcd.DisplayStringAt(ucXLed, 80, (uint8_t *)"1", LEFT_MODE);
azmuth_sd 0:15cfee7b5bad 24 break;
azmuth_sd 0:15cfee7b5bad 25 case 2:
azmuth_sd 0:15cfee7b5bad 26 lcd.SetTextColor(LCD_COLOR_YELLOW);
azmuth_sd 0:15cfee7b5bad 27 lcd.FillRect(ucXLed+2, 162, 77, 77);
azmuth_sd 0:15cfee7b5bad 28 lcd.SetTextColor(LCD_COLOR_WHITE);
azmuth_sd 0:15cfee7b5bad 29 lcd.DisplayStringAt(ucXLed, 160, (uint8_t *)"2", LEFT_MODE);
azmuth_sd 0:15cfee7b5bad 30 break;
azmuth_sd 0:15cfee7b5bad 31 case 3:
azmuth_sd 0:15cfee7b5bad 32 lcd.SetTextColor(LCD_COLOR_YELLOW);
azmuth_sd 0:15cfee7b5bad 33 lcd.FillRect(ucXLed+2, 242, 77, 77);
azmuth_sd 0:15cfee7b5bad 34 lcd.SetTextColor(LCD_COLOR_WHITE);
azmuth_sd 0:15cfee7b5bad 35 lcd.DisplayStringAt(ucXLed, 240, (uint8_t *)"3", LEFT_MODE);
azmuth_sd 0:15cfee7b5bad 36 break;
azmuth_sd 0:15cfee7b5bad 37 default:
azmuth_sd 0:15cfee7b5bad 38 draw_button(ucXLed,0,80,80);
azmuth_sd 0:15cfee7b5bad 39 draw_button(ucXLed,80,80,80);
azmuth_sd 0:15cfee7b5bad 40 draw_button(ucXLed,160,80,80);
azmuth_sd 0:15cfee7b5bad 41 draw_button(ucXLed,240,80,80);
azmuth_sd 0:15cfee7b5bad 42 lcd.SetTextColor(LCD_COLOR_WHITE);
azmuth_sd 0:15cfee7b5bad 43 lcd.SetFont(&Font24);
azmuth_sd 0:15cfee7b5bad 44 lcd.DisplayStringAt(ucXLed, 0, (uint8_t *)"0", LEFT_MODE);
azmuth_sd 0:15cfee7b5bad 45 lcd.DisplayStringAt(ucXLed, 80, (uint8_t *)"1", LEFT_MODE);
azmuth_sd 0:15cfee7b5bad 46 lcd.DisplayStringAt(ucXLed, 160, (uint8_t *)"2", LEFT_MODE);
azmuth_sd 0:15cfee7b5bad 47 lcd.DisplayStringAt(ucXLed, 240, (uint8_t *)"3", LEFT_MODE);
azmuth_sd 0:15cfee7b5bad 48 lcd.SetBackColor(LCD_COLOR_RED);
azmuth_sd 0:15cfee7b5bad 49 break;
azmuth_sd 0:15cfee7b5bad 50 }
azmuth_sd 0:15cfee7b5bad 51 }
azmuth_sd 0:15cfee7b5bad 52
azmuth_sd 0:15cfee7b5bad 53 void LedLcd::draw_button(int x_pos, int y_pos, int width, int height)
azmuth_sd 0:15cfee7b5bad 54 {
azmuth_sd 0:15cfee7b5bad 55 lcd.SetTextColor(LCD_COLOR_GREEN);
azmuth_sd 0:15cfee7b5bad 56 lcd.DrawRect(x_pos, y_pos, width, height);
azmuth_sd 0:15cfee7b5bad 57 lcd.SetTextColor(LCD_COLOR_BLUE);
azmuth_sd 0:15cfee7b5bad 58 lcd.FillRect(x_pos+1, y_pos+1, width-2, height-2);
azmuth_sd 0:15cfee7b5bad 59 }