My final year project
Dependencies: BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter
Diff: main.cpp
- Revision:
- 7:1a6e18b818a5
- Parent:
- 6:f717ce705c5d
- Child:
- 9:355a59fd962b
--- a/main.cpp Sat Oct 01 21:06:08 2016 +0000 +++ b/main.cpp Sun Oct 02 00:00:48 2016 +0200 @@ -5,18 +5,31 @@ void GUIThread(); void Init(); +void ZeroPlate(); + int currentScreen = 0; int nextScreen = 0; Thread guiThread; Screen *activeScreen = NULL; +float zeroAlpha; + +float zeroBeta; + +bool saved; + int main() { Init(); while(1) { - // TODO Add hardware logic + switch (currentScreen) + { + case Screen::ZERO_PLATE_SCREEN : + ZeroPlate(); + break; + } } } @@ -31,12 +44,15 @@ switch (nextScreen) { - case Screen::MAIN_MENU_SCREEN: + case Screen::MAIN_MENU_SCREEN : activeScreen = new MainMenuScreen(&nextScreen); break; - case Screen::MAIN_SETTINGS_SCREEN: + case Screen::MAIN_SETTINGS_SCREEN : activeScreen = new MainSettingsScreen(&nextScreen); break; + case Screen::ZERO_PLATE_SCREEN : + activeScreen = new ZeroPlateScreen(&nextScreen, &zeroAlpha, &zeroBeta, &saved); + break; } activeScreen->Draw(); @@ -52,6 +68,17 @@ void Init() { + saved = false; nextScreen = Screen::MAIN_MENU_SCREEN; guiThread.start(GUIThread); } + +void ZeroPlate() +{ + if( saved) + { + // TODO Save zero position on servos + saved = false; + nextScreen = MAIN_SETTINGS_SCREEN; + } +}