My final year project
Dependencies: BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter
main.cpp@2:5fded6444350, 2016-10-01 (annotated)
- Committer:
- Generic
- Date:
- Sat Oct 01 20:51:13 2016 +0000
- Revision:
- 2:5fded6444350
- Parent:
- 1:43fb2d03c36f
- Child:
- 5:383f1108187d
Fixed compiler errors
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 |
1:43fb2d03c36f | 37 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 38 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 39 | activeScreen->Draw(); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 40 | Thread::wait(200); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 41 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 42 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 43 | activeScreen->Process(); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 44 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 45 | Thread::wait(20); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 46 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 47 | } |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 48 | |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 49 | void Init() |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 50 | { |
Generic | 2:5fded6444350 | 51 | nextScreen = Screen::MAIN_MENU_SCREEN; |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 52 | guiThread.start(GUIThread); |
Kerneels Bezuidenhout |
1:43fb2d03c36f | 53 | } |