finak vers

Dependencies:   BSP_DISCO_F746NG

Committer:
lolialf
Date:
Fri Feb 07 08:25:48 2020 +0000
Revision:
0:6ea52364a685
Child:
1:a9bc635779dd
added random number

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lolialf 0:6ea52364a685 1 #include "mbed.h"
lolialf 0:6ea52364a685 2 #include "stm32746g_discovery_lcd.h"
lolialf 0:6ea52364a685 3
lolialf 0:6ea52364a685 4 char let[50];
lolialf 0:6ea52364a685 5 int counter = 10;
lolialf 0:6ea52364a685 6 int add = 1;
lolialf 0:6ea52364a685 7
lolialf 0:6ea52364a685 8 void menu()
lolialf 0:6ea52364a685 9 {
lolialf 0:6ea52364a685 10 BSP_LCD_Init();
lolialf 0:6ea52364a685 11 BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS);
lolialf 0:6ea52364a685 12 BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER);
lolialf 0:6ea52364a685 13 BSP_LCD_Clear(LCD_COLOR_BLACK);
lolialf 0:6ea52364a685 14 BSP_LCD_SetFont(&LCD_DEFAULT_FONT);
lolialf 0:6ea52364a685 15 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
lolialf 0:6ea52364a685 16 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
lolialf 0:6ea52364a685 17 BSP_LCD_DisplayStringAt(0, 250, (uint8_t *)"Nikki S.", RIGHT_MODE);
lolialf 0:6ea52364a685 18 BSP_LCD_DisplayStringAt(0, 100, (uint8_t *)"Countdowner!!!", CENTER_MODE);
lolialf 0:6ea52364a685 19 HAL_Delay(2000);
lolialf 0:6ea52364a685 20 }
lolialf 0:6ea52364a685 21
lolialf 0:6ea52364a685 22 void disp()
lolialf 0:6ea52364a685 23 {
lolialf 0:6ea52364a685 24 int rando = rand() % 3;
lolialf 0:6ea52364a685 25 // creates a random number from 0-2, dependant on the number at the code
lolialf 0:6ea52364a685 26
lolialf 0:6ea52364a685 27 BSP_LCD_Clear(LCD_COLOR_WHITE); // farve til bagrund
lolialf 0:6ea52364a685 28 BSP_LCD_SetTextColor(LCD_COLOR_BLUE); // farve til de neste ting, indtil man vlger ny farve
lolialf 0:6ea52364a685 29 BSP_LCD_DrawCircle(250, 100, 50);
lolialf 0:6ea52364a685 30 BSP_LCD_DrawRect(265,75,1,20);
lolialf 0:6ea52364a685 31 BSP_LCD_DrawRect(235,75,1,20);
lolialf 0:6ea52364a685 32 BSP_LCD_DrawRect(235,120,30,1);
lolialf 0:6ea52364a685 33 BSP_LCD_DrawRect(235,115,1,5);
lolialf 0:6ea52364a685 34 BSP_LCD_DrawRect(265,116,1,5);
lolialf 0:6ea52364a685 35 // min smiley
lolialf 0:6ea52364a685 36
lolialf 0:6ea52364a685 37 HAL_Delay(2000);
lolialf 0:6ea52364a685 38 BSP_LCD_Clear(LCD_COLOR_WHITE);
lolialf 0:6ea52364a685 39 BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
lolialf 0:6ea52364a685 40 BSP_LCD_DrawCircle(250, 100, 50);
lolialf 0:6ea52364a685 41 BSP_LCD_DrawRect(265,75,10,1);
lolialf 0:6ea52364a685 42 BSP_LCD_DrawRect(235,75,10,1);
lolialf 0:6ea52364a685 43 BSP_LCD_DrawRect(235,120,30,1);
lolialf 0:6ea52364a685 44 BSP_LCD_DrawRect(235,115,1,5);
lolialf 0:6ea52364a685 45 BSP_LCD_DrawRect(265,116,1,5);
lolialf 0:6ea52364a685 46
lolialf 0:6ea52364a685 47 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
lolialf 0:6ea52364a685 48 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
lolialf 0:6ea52364a685 49 BSP_LCD_DisplayStringAt(0, 250, (uint8_t *)("%s", let), LEFT_MODE);
lolialf 0:6ea52364a685 50 HAL_Delay(10);
lolialf 0:6ea52364a685 51 counter = counter - add;
lolialf 0:6ea52364a685 52 sprintf(let, "%d",counter);
lolialf 0:6ea52364a685 53 BSP_LCD_DisplayStringAt(0, 200, (uint8_t *)("%s", let), LEFT_MODE);
lolialf 0:6ea52364a685 54 // den viser counter og random number til LCD'en
lolialf 0:6ea52364a685 55
lolialf 0:6ea52364a685 56 sprintf(let, "%d", rando);
lolialf 0:6ea52364a685 57 // counter til LCD
lolialf 0:6ea52364a685 58 // self comment: sprintf er min nye Savior, fik prøvet alt andet, men den var den eneste jeg kunne fik virket
lolialf 0:6ea52364a685 59 HAL_Delay(1000);
lolialf 0:6ea52364a685 60
lolialf 0:6ea52364a685 61 if(counter == 0) {
lolialf 0:6ea52364a685 62
lolialf 0:6ea52364a685 63 BSP_LCD_Clear(LCD_COLOR_BLACK);
lolialf 0:6ea52364a685 64 BSP_LCD_SetTextColor(LCD_COLOR_RED);
lolialf 0:6ea52364a685 65 BSP_LCD_DisplayStringAt(0, 100, (uint8_t *)"KABOOOOOOM!!!!\nYou Died", CENTER_MODE);
lolialf 0:6ea52364a685 66 getchar();
lolialf 0:6ea52364a685 67
lolialf 0:6ea52364a685 68 // the whole code will stop once the counter reaches 0
lolialf 0:6ea52364a685 69
lolialf 0:6ea52364a685 70 };
lolialf 0:6ea52364a685 71 HAL_Delay(10);
lolialf 0:6ea52364a685 72 }
lolialf 0:6ea52364a685 73
lolialf 0:6ea52364a685 74
lolialf 0:6ea52364a685 75
lolialf 0:6ea52364a685 76
lolialf 0:6ea52364a685 77
lolialf 0:6ea52364a685 78 int main()
lolialf 0:6ea52364a685 79 {
lolialf 0:6ea52364a685 80
lolialf 0:6ea52364a685 81 menu(); // use the menu code
lolialf 0:6ea52364a685 82
lolialf 0:6ea52364a685 83 while (1) {
lolialf 0:6ea52364a685 84 disp(); // use the disp code
lolialf 0:6ea52364a685 85 }
lolialf 0:6ea52364a685 86 }