My final year project

Dependencies:   BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter

Committer:
Generic
Date:
Sun Oct 02 09:54:14 2016 +0000
Revision:
15:bc63b55a426d
Parent:
14:5beb6b4850b7
Child:
16:6b553c9008ec
Fixed compile errors and Layout of AutomaticControlScreen

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Generic 15:bc63b55a426d 1 #include "AutomaticControlScreen.hpp"
Kerneels Bezuidenhout 14:5beb6b4850b7 2
Generic 15:bc63b55a426d 3 AutomaticControlScreen::AutomaticControlScreen(int *nextScreen, float *xPos, float *yPos, int *Ts, bool *started, int *ballOnPlate, float *xSP, float *ySP) :
Kerneels Bezuidenhout 14:5beb6b4850b7 4 Screen(),
Kerneels Bezuidenhout 14:5beb6b4850b7 5 _lbTitle( SCREEN_W/2, 0, "Automatic", Label::CENTER, Font24),
Kerneels Bezuidenhout 14:5beb6b4850b7 6 _btBack( 0, SCREEN_H-30, 100, 30, "Back"),
Kerneels Bezuidenhout 14:5beb6b4850b7 7 _btSettings(SCREEN_W-100, SCREEN_H-30, 100, 30, "Settings"),
Kerneels Bezuidenhout 14:5beb6b4850b7 8 _btStart(0, SCREEN_H-65, SCREEN_W, 30, "Start"), //TODO Custom colors and disabled featrure
Kerneels Bezuidenhout 14:5beb6b4850b7 9 _btStop(0, SCREEN_H-65, SCREEN_W, 30, "Start"), //TODO Custom colors
Generic 15:bc63b55a426d 10 _btMore((SCREEN_W/2)-50, SCREEN_H-30, 100, 30, "More"),
Kerneels Bezuidenhout 14:5beb6b4850b7 11 _nlbTs( SCREEN_W/2, 26, "Cycle Time (us):%d", *Ts, Label::CENTER),
Generic 15:bc63b55a426d 12 _gXPos( 0, 40, SCREEN_W/2, 158, -170, 170, "X Position (mm)"),
Generic 15:bc63b55a426d 13 _gYPos( SCREEN_W/2+1, 40, SCREEN_W/2-1, 158, -136, 136, "Y Position (mm)")
Kerneels Bezuidenhout 14:5beb6b4850b7 14 {
Kerneels Bezuidenhout 14:5beb6b4850b7 15 _nextScreen = nextScreen;
Kerneels Bezuidenhout 14:5beb6b4850b7 16 _xPos = xPos;
Kerneels Bezuidenhout 14:5beb6b4850b7 17 _yPos = yPos;
Kerneels Bezuidenhout 14:5beb6b4850b7 18 _Ts = Ts;
Kerneels Bezuidenhout 14:5beb6b4850b7 19 _started = started;
Kerneels Bezuidenhout 14:5beb6b4850b7 20 _xSP = xSP;
Kerneels Bezuidenhout 14:5beb6b4850b7 21 _ySP = ySP;
Kerneels Bezuidenhout 14:5beb6b4850b7 22 }
Kerneels Bezuidenhout 14:5beb6b4850b7 23
Kerneels Bezuidenhout 14:5beb6b4850b7 24 void AutomaticControlScreen::Draw()
Kerneels Bezuidenhout 14:5beb6b4850b7 25 {
Kerneels Bezuidenhout 14:5beb6b4850b7 26 Clear();
Kerneels Bezuidenhout 14:5beb6b4850b7 27 _lbTitle.Draw();
Kerneels Bezuidenhout 14:5beb6b4850b7 28 _btBack.Draw();
Kerneels Bezuidenhout 14:5beb6b4850b7 29 _btSettings.Draw();
Kerneels Bezuidenhout 14:5beb6b4850b7 30 _btStart.Inactivate();
Kerneels Bezuidenhout 14:5beb6b4850b7 31 _btStart.Draw();
Kerneels Bezuidenhout 14:5beb6b4850b7 32 _btMore.Draw();
Kerneels Bezuidenhout 14:5beb6b4850b7 33 _nlbTs.Draw();
Kerneels Bezuidenhout 14:5beb6b4850b7 34 _gXPos.Draw();
Kerneels Bezuidenhout 14:5beb6b4850b7 35 _gYPos.Draw();
Kerneels Bezuidenhout 14:5beb6b4850b7 36 }
Kerneels Bezuidenhout 14:5beb6b4850b7 37
Generic 15:bc63b55a426d 38 void AutomaticControlScreen::Process()
Kerneels Bezuidenhout 14:5beb6b4850b7 39 {
Kerneels Bezuidenhout 14:5beb6b4850b7 40 if( _btBack.Touched() )
Kerneels Bezuidenhout 14:5beb6b4850b7 41 {
Kerneels Bezuidenhout 14:5beb6b4850b7 42 *_nextScreen = MAIN_MENU_SCREEN;
Kerneels Bezuidenhout 14:5beb6b4850b7 43 // TODO Add safety logic
Kerneels Bezuidenhout 14:5beb6b4850b7 44 }
Kerneels Bezuidenhout 14:5beb6b4850b7 45
Kerneels Bezuidenhout 14:5beb6b4850b7 46 if( _btSettings.Touched() )
Kerneels Bezuidenhout 14:5beb6b4850b7 47 {
Kerneels Bezuidenhout 14:5beb6b4850b7 48 //TODO Add AutomaticSettingsScreen
Kerneels Bezuidenhout 14:5beb6b4850b7 49 }
Kerneels Bezuidenhout 14:5beb6b4850b7 50
Kerneels Bezuidenhout 14:5beb6b4850b7 51 if( _btMore.Touched() )
Kerneels Bezuidenhout 14:5beb6b4850b7 52 {
Kerneels Bezuidenhout 14:5beb6b4850b7 53 //TODO Add AutomaticMoreScreen
Kerneels Bezuidenhout 14:5beb6b4850b7 54 }
Kerneels Bezuidenhout 14:5beb6b4850b7 55
Kerneels Bezuidenhout 14:5beb6b4850b7 56 if( _btStart.Touched() )
Kerneels Bezuidenhout 14:5beb6b4850b7 57 {
Kerneels Bezuidenhout 14:5beb6b4850b7 58 //TODO Add Start logic
Kerneels Bezuidenhout 14:5beb6b4850b7 59 }
Kerneels Bezuidenhout 14:5beb6b4850b7 60
Kerneels Bezuidenhout 14:5beb6b4850b7 61 if( _btStop.Touched() )
Kerneels Bezuidenhout 14:5beb6b4850b7 62 {
Kerneels Bezuidenhout 14:5beb6b4850b7 63 //TODO Add stop logic
Kerneels Bezuidenhout 14:5beb6b4850b7 64 }
Kerneels Bezuidenhout 14:5beb6b4850b7 65
Kerneels Bezuidenhout 14:5beb6b4850b7 66 if( *_started && *_ballOnPlate )
Kerneels Bezuidenhout 14:5beb6b4850b7 67 {
Kerneels Bezuidenhout 14:5beb6b4850b7 68 _gXPos.Insert(*_xPos);
Kerneels Bezuidenhout 14:5beb6b4850b7 69 _gXPos.Update();
Kerneels Bezuidenhout 14:5beb6b4850b7 70
Kerneels Bezuidenhout 14:5beb6b4850b7 71 if( *_xSP != 0 )
Kerneels Bezuidenhout 14:5beb6b4850b7 72 _gXPos.HLine(*_xSP);
Kerneels Bezuidenhout 14:5beb6b4850b7 73
Generic 15:bc63b55a426d 74 _gYPos.Insert(*_yPos);
Kerneels Bezuidenhout 14:5beb6b4850b7 75 _gYPos.Update();
Kerneels Bezuidenhout 14:5beb6b4850b7 76
Kerneels Bezuidenhout 14:5beb6b4850b7 77 if( *_ySP != 0 )
Kerneels Bezuidenhout 14:5beb6b4850b7 78 _gYPos.HLine(*_ySP);
Generic 15:bc63b55a426d 79
Generic 15:bc63b55a426d 80 _nlbTs.Draw("Cycle Time (us):%d", *_Ts);
Kerneels Bezuidenhout 14:5beb6b4850b7 81
Kerneels Bezuidenhout 14:5beb6b4850b7 82 }
Kerneels Bezuidenhout 14:5beb6b4850b7 83
Kerneels Bezuidenhout 14:5beb6b4850b7 84 }