My final year project
Dependencies: BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter
main.cpp@5:383f1108187d, 2016-10-01 (annotated)
- Committer:
- Kerneels Bezuidenhout
- Date:
- Sat Oct 01 23:01:41 2016 +0200
- Revision:
- 5:383f1108187d
- Parent:
- 2:5fded6444350
- Child:
- 6:f717ce705c5d
Added MainSettingsScreen to GUIThread
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kerneels Bezuidenhout |
1:43fb2d03c36f | 1 | #include "mbed.h" |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 2 | #include "Screens.hpp" |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 3 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 4 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 5 | void GUIThread(); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 6 | void Init(); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 7 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 8 | int currentScreen = 0; |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 9 | int nextScreen = 0; |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 10 | Thread guiThread; |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 11 | Screen *activeScreen = NULL; |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 12 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 13 | int main() |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 14 | { |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 15 | Init(); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 16 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 17 | while(1) |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 18 | { |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 19 | // TODO Add hardware logic |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 20 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 21 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 22 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 23 | void GUIThread() |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 24 | { |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 25 | while(1) |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 26 | { |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 27 | if( nextScreen != currentScreen ) |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 28 | { |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 29 | if( activeScreen != NULL) |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 30 | delete activeScreen; |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 31 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 32 | switch (nextScreen) |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 33 | { |
Generic | 2:5fded6444350 | 34 | case Screen::MAIN_MENU_SCREEN: |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 35 | activeScreen = new MainMenuScreen(&nextScreen); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 36 | break; |
Kerneels Bezuidenhout |
5:383f1108187d | 37 | case Screen::MAIN_SETTINGS_SCREEN: |
Kerneels Bezuidenhout |
5:383f1108187d | 38 | activeScreen = new MainSettingsScreen(&nextScreen); |
Kerneels Bezuidenhout |
5:383f1108187d | 39 | break; |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 40 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 41 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 42 | activeScreen->Draw(); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 43 | Thread::wait(200); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 44 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 45 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 46 | activeScreen->Process(); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 47 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 48 | Thread::wait(20); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 49 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 50 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 51 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 52 | void Init() |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 53 | { |
Generic | 2:5fded6444350 | 54 | nextScreen = Screen::MAIN_MENU_SCREEN; |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 55 | guiThread.start(GUIThread); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 56 | } |