Started a gui menuflow

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
ahaas92
Date:
Thu Jun 11 22:55:06 2020 +0000
Revision:
3:b029a3f73a9e
Init of gui structure ;

Who changed what in which revision?

UserRevisionLine numberNew 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