
finak vers
Dependencies: BSP_DISCO_F746NG
main.cpp@0:6ea52364a685, 2020-02-07 (annotated)
- 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?
User | Revision | Line number | New 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 | } |