My final year project

Dependencies:   BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter

main.cpp

Committer:
Kerneels Bezuidenhout
Date:
2016-10-01
Revision:
1:43fb2d03c36f
Parent:
0:1523395daf0d
Child:
2:5fded6444350

File content as of revision 1:43fb2d03c36f:

#include "mbed.h"
#include "Screens.hpp"


void GUIThread();
void Init();

int currentScreen = 0;
int nextScreen = 0;
Thread guiThread;
Screen *activeScreen = NULL;

int main()
{
  Init();

  while(1)
  {
    // TODO Add hardware logic
  }
}

void GUIThread()
{
  while(1)
  {
    if( nextScreen != currentScreen )
    {
      if( activeScreen != NULL)
        delete activeScreen;

      switch (nextScreen)
      {
        case MAIN_MENU_SCREEN:
          activeScreen = new MainMenuScreen(&nextScreen);
          break;
      }

      activeScreen->Draw();
      Thread::wait(200);
    }

    activeScreen->Process();

    Thread::wait(20);
  }
}

void Init()
{
  nextScreen = Screens::MAIN_SCREEN;
  guiThread.start(GUIThread);
}