Started a gui menuflow
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
Screens.cpp@3:b029a3f73a9e, 2020-06-11 (annotated)
- Committer:
- ahaas92
- Date:
- Thu Jun 11 22:55:06 2020 +0000
- Revision:
- 3:b029a3f73a9e
Init of gui structure ;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ahaas92 | 3:b029a3f73a9e | 1 | #include "TS_DISCO_F429ZI.h" |
ahaas92 | 3:b029a3f73a9e | 2 | #include "LCD_DISCO_F429ZI.h" |
ahaas92 | 3:b029a3f73a9e | 3 | #include "Screens.h" |
ahaas92 | 3:b029a3f73a9e | 4 | #include "main.h" |
ahaas92 | 3:b029a3f73a9e | 5 | |
ahaas92 | 3:b029a3f73a9e | 6 | bool refreshScreen = true; |
ahaas92 | 3:b029a3f73a9e | 7 | // Pos 1 2 (row of button ) |
ahaas92 | 3:b029a3f73a9e | 8 | void DrawBigButton(LCD_DISCO_F429ZI lcd, uint8_t position, char* array) |
ahaas92 | 3:b029a3f73a9e | 9 | { |
ahaas92 | 3:b029a3f73a9e | 10 | BSP_LCD_SetFont(&Font20); |
ahaas92 | 3:b029a3f73a9e | 11 | uint8_t text_array[30]; |
ahaas92 | 3:b029a3f73a9e | 12 | sprintf((char*)text_array, array); |
ahaas92 | 3:b029a3f73a9e | 13 | switch (position) |
ahaas92 | 3:b029a3f73a9e | 14 | { |
ahaas92 | 3:b029a3f73a9e | 15 | case 1: |
ahaas92 | 3:b029a3f73a9e | 16 | lcd.DrawRect(BigButtonX, BigButton1Y, BigButtonWidth , BigButtonHeight ); |
ahaas92 | 3:b029a3f73a9e | 17 | lcd.DisplayStringAt(0, LINE(4), (uint8_t *)&text_array, CENTER_MODE); |
ahaas92 | 3:b029a3f73a9e | 18 | break; |
ahaas92 | 3:b029a3f73a9e | 19 | case 2: |
ahaas92 | 3:b029a3f73a9e | 20 | lcd.DrawRect(BigButtonX, BigButton2Y, BigButtonWidth , BigButtonHeight ); |
ahaas92 | 3:b029a3f73a9e | 21 | lcd.DisplayStringAt(0, LINE(7), (uint8_t *)&text_array, CENTER_MODE); |
ahaas92 | 3:b029a3f73a9e | 22 | break; |
ahaas92 | 3:b029a3f73a9e | 23 | case 3: |
ahaas92 | 3:b029a3f73a9e | 24 | lcd.DrawRect(BigButtonX,BigButton3Y,BigButtonWidth ,BigButtonHeight ); |
ahaas92 | 3:b029a3f73a9e | 25 | lcd.DisplayStringAt(0, LINE(10), (uint8_t *)&text_array, CENTER_MODE); |
ahaas92 | 3:b029a3f73a9e | 26 | break; |
ahaas92 | 3:b029a3f73a9e | 27 | case 4: |
ahaas92 | 3:b029a3f73a9e | 28 | lcd.DrawRect(BigButtonX,BigButton4Y,BigButtonWidth ,BigButtonHeight ); |
ahaas92 | 3:b029a3f73a9e | 29 | lcd.DisplayStringAt(0, LINE(13), (uint8_t *)&text_array, CENTER_MODE); |
ahaas92 | 3:b029a3f73a9e | 30 | default: |
ahaas92 | 3:b029a3f73a9e | 31 | break; |
ahaas92 | 3:b029a3f73a9e | 32 | } |
ahaas92 | 3:b029a3f73a9e | 33 | } |
ahaas92 | 3:b029a3f73a9e | 34 | |
ahaas92 | 3:b029a3f73a9e | 35 | void CreatStartupScreen(LCD_DISCO_F429ZI lcd) |
ahaas92 | 3:b029a3f73a9e | 36 | { |
ahaas92 | 3:b029a3f73a9e | 37 | lcd.Clear(LCD_COLOR_DARKGRAY); |
ahaas92 | 3:b029a3f73a9e | 38 | uint8_t text_array[30]; |
ahaas92 | 3:b029a3f73a9e | 39 | // Show Title Line - Select Mode |
ahaas92 | 3:b029a3f73a9e | 40 | BSP_LCD_SetFont(&Font20); |
ahaas92 | 3:b029a3f73a9e | 41 | sprintf((char*)text_array, "Select Mode"); |
ahaas92 | 3:b029a3f73a9e | 42 | lcd.ClearStringLine(1); |
ahaas92 | 3:b029a3f73a9e | 43 | lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&text_array, CENTER_MODE); |
ahaas92 | 3:b029a3f73a9e | 44 | // Show Two Buttons |
ahaas92 | 3:b029a3f73a9e | 45 | // first CPAP Mode |
ahaas92 | 3:b029a3f73a9e | 46 | DrawBigButton(lcd, 1, "CPAP"); |
ahaas92 | 3:b029a3f73a9e | 47 | // On Press SHOW CPAP Screen |
ahaas92 | 3:b029a3f73a9e | 48 | // second NIV |
ahaas92 | 3:b029a3f73a9e | 49 | DrawBigButton(lcd, 2, "NIV"); |
ahaas92 | 3:b029a3f73a9e | 50 | // On Press show NIV Screen |
ahaas92 | 3:b029a3f73a9e | 51 | } |
ahaas92 | 3:b029a3f73a9e | 52 | void CreateCPAPMainScreen(LCD_DISCO_F429ZI lcd) |
ahaas92 | 3:b029a3f73a9e | 53 | { |
ahaas92 | 3:b029a3f73a9e | 54 | lcd.Clear(LCD_COLOR_DARKGRAY); |
ahaas92 | 3:b029a3f73a9e | 55 | uint8_t text_array[30]; |
ahaas92 | 3:b029a3f73a9e | 56 | // Show Title Line - Select Mode |
ahaas92 | 3:b029a3f73a9e | 57 | BSP_LCD_SetFont(&Font20); |
ahaas92 | 3:b029a3f73a9e | 58 | sprintf((char*)text_array, "CPAP"); |
ahaas92 | 3:b029a3f73a9e | 59 | lcd.ClearStringLine(1); |
ahaas92 | 3:b029a3f73a9e | 60 | lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&text_array, CENTER_MODE); |
ahaas92 | 3:b029a3f73a9e | 61 | // Show Two Buttons |
ahaas92 | 3:b029a3f73a9e | 62 | // first CPAP Mode |
ahaas92 | 3:b029a3f73a9e | 63 | DrawBigButton(lcd, 1, "START"); |
ahaas92 | 3:b029a3f73a9e | 64 | // On Press SHOW CPAP Screen |
ahaas92 | 3:b029a3f73a9e | 65 | // second NIV |
ahaas92 | 3:b029a3f73a9e | 66 | DrawBigButton(lcd, 2, "SETTINGS"); |
ahaas92 | 3:b029a3f73a9e | 67 | // On Press show NIV Screen |
ahaas92 | 3:b029a3f73a9e | 68 | DrawBigButton(lcd, 3, "BACK"); |
ahaas92 | 3:b029a3f73a9e | 69 | } |
ahaas92 | 3:b029a3f73a9e | 70 | void CreateCPAPMainSettingsScreen(LCD_DISCO_F429ZI lcd) |
ahaas92 | 3:b029a3f73a9e | 71 | { |
ahaas92 | 3:b029a3f73a9e | 72 | lcd.Clear(LCD_COLOR_DARKGRAY); |
ahaas92 | 3:b029a3f73a9e | 73 | uint8_t text_array[30]; |
ahaas92 | 3:b029a3f73a9e | 74 | // Show Title Line - Select Mode |
ahaas92 | 3:b029a3f73a9e | 75 | BSP_LCD_SetFont(&Font20); |
ahaas92 | 3:b029a3f73a9e | 76 | sprintf((char*)text_array, "CPAP Settings"); |
ahaas92 | 3:b029a3f73a9e | 77 | lcd.ClearStringLine(1); |
ahaas92 | 3:b029a3f73a9e | 78 | lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&text_array, CENTER_MODE); |
ahaas92 | 3:b029a3f73a9e | 79 | // Show Two Buttons |
ahaas92 | 3:b029a3f73a9e | 80 | // first CPAP Mode |
ahaas92 | 3:b029a3f73a9e | 81 | DrawBigButton(lcd, 1, "PEEP"); |
ahaas92 | 3:b029a3f73a9e | 82 | DrawBigButton(lcd, 2, "TI"); |
ahaas92 | 3:b029a3f73a9e | 83 | DrawBigButton(lcd, 3, "OTHER ->"); |
ahaas92 | 3:b029a3f73a9e | 84 | DrawBigButton(lcd, 4, "BACK"); |
ahaas92 | 3:b029a3f73a9e | 85 | } |
ahaas92 | 3:b029a3f73a9e | 86 | |
ahaas92 | 3:b029a3f73a9e | 87 | |
ahaas92 | 3:b029a3f73a9e | 88 | void CreateNIVMainScreen(LCD_DISCO_F429ZI lcd) |
ahaas92 | 3:b029a3f73a9e | 89 | { |
ahaas92 | 3:b029a3f73a9e | 90 | lcd.Clear(LCD_COLOR_DARKGRAY); |
ahaas92 | 3:b029a3f73a9e | 91 | uint8_t text_array[30]; |
ahaas92 | 3:b029a3f73a9e | 92 | // Show Title Line - Select Mode |
ahaas92 | 3:b029a3f73a9e | 93 | BSP_LCD_SetFont(&Font20); |
ahaas92 | 3:b029a3f73a9e | 94 | sprintf((char*)text_array, "NIV"); |
ahaas92 | 3:b029a3f73a9e | 95 | lcd.ClearStringLine(1); |
ahaas92 | 3:b029a3f73a9e | 96 | lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&text_array, CENTER_MODE); |
ahaas92 | 3:b029a3f73a9e | 97 | // Show Two Buttons |
ahaas92 | 3:b029a3f73a9e | 98 | // first CPAP Mode |
ahaas92 | 3:b029a3f73a9e | 99 | DrawBigButton(lcd, 1, "START"); |
ahaas92 | 3:b029a3f73a9e | 100 | // On Press SHOW CPAP Screen |
ahaas92 | 3:b029a3f73a9e | 101 | // second NIV |
ahaas92 | 3:b029a3f73a9e | 102 | DrawBigButton(lcd, 2, "SETTINGS"); |
ahaas92 | 3:b029a3f73a9e | 103 | // On Press show NIV Screen |
ahaas92 | 3:b029a3f73a9e | 104 | DrawBigButton(lcd, 3, "BACK"); |
ahaas92 | 3:b029a3f73a9e | 105 | } |
ahaas92 | 3:b029a3f73a9e | 106 | void showScreen(ScreenState screen,LCD_DISCO_F429ZI lcd) |
ahaas92 | 3:b029a3f73a9e | 107 | { |
ahaas92 | 3:b029a3f73a9e | 108 | if ( refreshScreen == false ) |
ahaas92 | 3:b029a3f73a9e | 109 | return; |
ahaas92 | 3:b029a3f73a9e | 110 | switch(screen) |
ahaas92 | 3:b029a3f73a9e | 111 | { |
ahaas92 | 3:b029a3f73a9e | 112 | case StartUp : |
ahaas92 | 3:b029a3f73a9e | 113 | CreatStartupScreen(lcd); |
ahaas92 | 3:b029a3f73a9e | 114 | refreshScreen = false; |
ahaas92 | 3:b029a3f73a9e | 115 | break; |
ahaas92 | 3:b029a3f73a9e | 116 | case CPAPMain : |
ahaas92 | 3:b029a3f73a9e | 117 | CreateCPAPMainScreen(lcd); |
ahaas92 | 3:b029a3f73a9e | 118 | refreshScreen = false; |
ahaas92 | 3:b029a3f73a9e | 119 | break; |
ahaas92 | 3:b029a3f73a9e | 120 | case NIVMain : |
ahaas92 | 3:b029a3f73a9e | 121 | CreateNIVMainScreen(lcd); |
ahaas92 | 3:b029a3f73a9e | 122 | refreshScreen = false; |
ahaas92 | 3:b029a3f73a9e | 123 | break; |
ahaas92 | 3:b029a3f73a9e | 124 | case CPAPRunning: |
ahaas92 | 3:b029a3f73a9e | 125 | break; |
ahaas92 | 3:b029a3f73a9e | 126 | case CPAPSettingsMain: |
ahaas92 | 3:b029a3f73a9e | 127 | CreateCPAPMainSettingsScreen(lcd); |
ahaas92 | 3:b029a3f73a9e | 128 | refreshScreen = false; |
ahaas92 | 3:b029a3f73a9e | 129 | break; |
ahaas92 | 3:b029a3f73a9e | 130 | case CPAPSettingsDetailView: |
ahaas92 | 3:b029a3f73a9e | 131 | break; |
ahaas92 | 3:b029a3f73a9e | 132 | case NIVRunning: |
ahaas92 | 3:b029a3f73a9e | 133 | break; |
ahaas92 | 3:b029a3f73a9e | 134 | case NIVSettingsMain: |
ahaas92 | 3:b029a3f73a9e | 135 | break; |
ahaas92 | 3:b029a3f73a9e | 136 | case NIVSettingsDetailView: |
ahaas92 | 3:b029a3f73a9e | 137 | break; |
ahaas92 | 3:b029a3f73a9e | 138 | |
ahaas92 | 3:b029a3f73a9e | 139 | |
ahaas92 | 3:b029a3f73a9e | 140 | |
ahaas92 | 3:b029a3f73a9e | 141 | } |
ahaas92 | 3:b029a3f73a9e | 142 | } |
ahaas92 | 3:b029a3f73a9e | 143 |