My final year project

Dependencies:   BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter

Committer:
Generic
Date:
Wed Oct 26 10:40:54 2016 +0000
Revision:
62:58e846621435
Parent:
61:d16e5ad857ba
Firmware

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kerneels Bezuidenhout 22:dd9ff475b34c 1 #include "AutomaticSettingsScreen.hpp"
Kerneels Bezuidenhout 22:dd9ff475b34c 2
Generic 23:bab197887d5e 3 AutomaticSettingsScreen::AutomaticSettingsScreen(int *nextScreen, float *P, float *I, float *D, float *Ts) :
Kerneels Bezuidenhout 22:dd9ff475b34c 4 Screen(),
Kerneels Bezuidenhout 22:dd9ff475b34c 5 _lbTitle( SCREEN_W/2, 0, "Settings", Label::CENTER, Font24),
Kerneels Bezuidenhout 22:dd9ff475b34c 6 _btBack( 0, SCREEN_H-30, 100, 30, "Back"),
Generic 23:bab197887d5e 7 _nlbP(0,26, "P =%.3f", *P, Label::LEFT, Font20),
Kerneels Bezuidenhout 22:dd9ff475b34c 8 _btP(SCREEN_W/2, 26, 100, 30, "Change"),
Generic 23:bab197887d5e 9 _nlbI(0,61, "I =%.3f", *I, Label::LEFT, Font20),
Kerneels Bezuidenhout 22:dd9ff475b34c 10 _btI(SCREEN_W/2, 61, 100, 30, "Change"),
Generic 23:bab197887d5e 11 _nlbD(0,96, "D =%.3f", *D, Label::LEFT, Font20),
Kerneels Bezuidenhout 22:dd9ff475b34c 12 _btD(SCREEN_W/2, 96, 100, 30, "Change"),
Kerneels Bezuidenhout 61:d16e5ad857ba 13 _nlbTs(0,131, "Ts (ms)=%.0f", *Ts, Label::LEFT, Font20),
Kerneels Bezuidenhout 61:d16e5ad857ba 14 _btTs(SCREEN_W/2, 131, 100, 30, "Change")
Generic 23:bab197887d5e 15 //TODO Improve layout of this screen
Kerneels Bezuidenhout 22:dd9ff475b34c 16 {
Kerneels Bezuidenhout 22:dd9ff475b34c 17 _nextScreen = nextScreen;
Kerneels Bezuidenhout 22:dd9ff475b34c 18 _P = P;
Kerneels Bezuidenhout 22:dd9ff475b34c 19 _I = I;
Kerneels Bezuidenhout 22:dd9ff475b34c 20 _D = D;
Kerneels Bezuidenhout 22:dd9ff475b34c 21 _Ts = Ts;
Kerneels Bezuidenhout 22:dd9ff475b34c 22 }
Kerneels Bezuidenhout 22:dd9ff475b34c 23
Kerneels Bezuidenhout 22:dd9ff475b34c 24 void AutomaticSettingsScreen::Draw()
Kerneels Bezuidenhout 22:dd9ff475b34c 25 {
Kerneels Bezuidenhout 22:dd9ff475b34c 26 Clear();
Kerneels Bezuidenhout 22:dd9ff475b34c 27 _lbTitle.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 28 _btBack.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 29 _nlbP.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 30 _btP.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 31 _nlbI.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 32 _btI.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 33 _nlbD.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 34 _btD.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 35 _nlbTs.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 36 _btTs.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 37 }
Kerneels Bezuidenhout 22:dd9ff475b34c 38
Kerneels Bezuidenhout 22:dd9ff475b34c 39 void AutomaticSettingsScreen::Process()
Kerneels Bezuidenhout 22:dd9ff475b34c 40 {
Kerneels Bezuidenhout 22:dd9ff475b34c 41 if( _btBack.Touched() )
Kerneels Bezuidenhout 22:dd9ff475b34c 42 *_nextScreen = AUTOMATIC_CONTROL_SCREEN;
Kerneels Bezuidenhout 26:f57db8d6d79e 43
Kerneels Bezuidenhout 26:f57db8d6d79e 44 if( _btP.Touched() )
Kerneels Bezuidenhout 26:f57db8d6d79e 45 *_nextScreen = CHANGE_P_SCREEN;
Kerneels Bezuidenhout 26:f57db8d6d79e 46
Kerneels Bezuidenhout 26:f57db8d6d79e 47 if( _btI.Touched() )
Kerneels Bezuidenhout 26:f57db8d6d79e 48 *_nextScreen = CHANGE_I_SCREEN;
Kerneels Bezuidenhout 26:f57db8d6d79e 49
Kerneels Bezuidenhout 26:f57db8d6d79e 50 if( _btD.Touched() )
Kerneels Bezuidenhout 26:f57db8d6d79e 51 *_nextScreen = CHANGE_D_SCREEN;
Kerneels Bezuidenhout 26:f57db8d6d79e 52
Kerneels Bezuidenhout 26:f57db8d6d79e 53 if (_btTs.Touched() )
Kerneels Bezuidenhout 26:f57db8d6d79e 54 *_nextScreen = CHANGE_TS_SCREEN;
Kerneels Bezuidenhout 22:dd9ff475b34c 55 }