Started a gui menuflow

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Screens.cpp

Committer:
ahaas92
Date:
2020-06-11
Revision:
3:b029a3f73a9e

File content as of revision 3:b029a3f73a9e:

#include "TS_DISCO_F429ZI.h"
#include "LCD_DISCO_F429ZI.h" 
#include "Screens.h"
#include "main.h"

bool refreshScreen = true;
// Pos 1 2 (row of button )
void DrawBigButton(LCD_DISCO_F429ZI lcd, uint8_t position, char* array)
{
   BSP_LCD_SetFont(&Font20);  
   uint8_t text_array[30];
   sprintf((char*)text_array, array);  
   switch (position)
   {
       case 1:
       lcd.DrawRect(BigButtonX, BigButton1Y, BigButtonWidth , BigButtonHeight );
       lcd.DisplayStringAt(0, LINE(4), (uint8_t *)&text_array, CENTER_MODE);
       break;
       case 2:
       lcd.DrawRect(BigButtonX, BigButton2Y, BigButtonWidth , BigButtonHeight );
       lcd.DisplayStringAt(0, LINE(7), (uint8_t *)&text_array, CENTER_MODE);
       break;
       case 3:
       lcd.DrawRect(BigButtonX,BigButton3Y,BigButtonWidth ,BigButtonHeight );
       lcd.DisplayStringAt(0, LINE(10), (uint8_t *)&text_array, CENTER_MODE);
       break;
       case 4:
       lcd.DrawRect(BigButtonX,BigButton4Y,BigButtonWidth ,BigButtonHeight );
       lcd.DisplayStringAt(0, LINE(13), (uint8_t *)&text_array, CENTER_MODE);
       default:
       break;
   }
}

void CreatStartupScreen(LCD_DISCO_F429ZI lcd)
{
    lcd.Clear(LCD_COLOR_DARKGRAY);
    uint8_t text_array[30];
    // Show Title Line - Select Mode 
     BSP_LCD_SetFont(&Font20);          
     sprintf((char*)text_array, "Select Mode");
     lcd.ClearStringLine(1);   
     lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&text_array, CENTER_MODE);
    // Show Two Buttons 
    // first CPAP Mode 
    DrawBigButton(lcd, 1, "CPAP");
        // On Press SHOW CPAP Screen 
    // second NIV 
    DrawBigButton(lcd, 2, "NIV");
        // On Press show NIV Screen    
}
void CreateCPAPMainScreen(LCD_DISCO_F429ZI lcd)
{
    lcd.Clear(LCD_COLOR_DARKGRAY);
    uint8_t text_array[30];
    // Show Title Line - Select Mode 
     BSP_LCD_SetFont(&Font20);          
     sprintf((char*)text_array, "CPAP");   
     lcd.ClearStringLine(1);
     lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&text_array, CENTER_MODE);
    // Show Two Buttons 
    // first CPAP Mode 
    DrawBigButton(lcd, 1, "START");
        // On Press SHOW CPAP Screen 
    // second NIV 
    DrawBigButton(lcd, 2, "SETTINGS");
        // On Press show NIV Screen   
    DrawBigButton(lcd, 3, "BACK"); 
}
void CreateCPAPMainSettingsScreen(LCD_DISCO_F429ZI lcd)
{
   lcd.Clear(LCD_COLOR_DARKGRAY); 
    uint8_t text_array[30];
    // Show Title Line - Select Mode 
     BSP_LCD_SetFont(&Font20);          
     sprintf((char*)text_array, "CPAP Settings");   
     lcd.ClearStringLine(1);
     lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&text_array, CENTER_MODE);
    // Show Two Buttons 
    // first CPAP Mode 
    DrawBigButton(lcd, 1, "PEEP"); 
    DrawBigButton(lcd, 2, "TI"); 
    DrawBigButton(lcd, 3, "OTHER ->"); 
    DrawBigButton(lcd, 4, "BACK"); 
}


void CreateNIVMainScreen(LCD_DISCO_F429ZI lcd)
{
    lcd.Clear(LCD_COLOR_DARKGRAY);
    uint8_t text_array[30];
    // Show Title Line - Select Mode 
     BSP_LCD_SetFont(&Font20);          
     sprintf((char*)text_array, "NIV");   
     lcd.ClearStringLine(1);
     lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&text_array, CENTER_MODE);
    // Show Two Buttons 
    // first CPAP Mode 
    DrawBigButton(lcd, 1, "START");
        // On Press SHOW CPAP Screen 
    // second NIV 
    DrawBigButton(lcd, 2, "SETTINGS");
        // On Press show NIV Screen  
    DrawBigButton(lcd, 3, "BACK");  
}
void showScreen(ScreenState screen,LCD_DISCO_F429ZI lcd)
{ 
    if ( refreshScreen == false )
        return;
    switch(screen) 
    {
        case StartUp :
                CreatStartupScreen(lcd); 
                refreshScreen = false;               
        break;
        case  CPAPMain :
                CreateCPAPMainScreen(lcd);
                refreshScreen = false;
        break;
        case  NIVMain :
                CreateNIVMainScreen(lcd);
                refreshScreen = false;
        break;
        case  CPAPRunning:
        break;
        case   CPAPSettingsMain:
            CreateCPAPMainSettingsScreen(lcd);
            refreshScreen = false;
        break;
        case  CPAPSettingsDetailView:
        break;
        case NIVRunning:
        break;
        case  NIVSettingsMain:
        break;
        case  NIVSettingsDetailView:
        break;



    }
}