My final year project

Dependencies:   BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter

Committer:
Kerneels Bezuidenhout
Date:
Mon Oct 03 13:48:48 2016 +0200
Revision:
31:5ece593c49a7
Parent:
28:5b112dfcabe1
Child:
54:75dc5c3b7cfc
Modified ChangeValWholeScreen

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kerneels Bezuidenhout 27:9d84c6165b07 1 #include "ChangeValWholeScreen.hpp"
Kerneels Bezuidenhout 27:9d84c6165b07 2
Kerneels Bezuidenhout 31:5ece593c49a7 3 ChangeValWholeScreen::ChangeValWholeScreen(int *nextScreen, int prevScreen, float *valToChange, string title, bool negative, float min) :
Kerneels Bezuidenhout 27:9d84c6165b07 4 Screen(),
Kerneels Bezuidenhout 27:9d84c6165b07 5 _lbTitle( SCREEN_W/2, 0, title, Label::CENTER, Font24),
Kerneels Bezuidenhout 27:9d84c6165b07 6 _btBack( 0, SCREEN_H-30, 100, 30, "Back"),
Kerneels Bezuidenhout 27:9d84c6165b07 7 _btSave( SCREEN_W-100, SCREEN_H-30, 100, 30, "Save"),
Kerneels Bezuidenhout 31:5ece593c49a7 8 _btNeg( 110, SCREEN_H-100, SCREEN_W-220, 30, "-"),
Kerneels Bezuidenhout 31:5ece593c49a7 9 _btPos( 110, SCREEN_H-100, SCREEN_W-220, 30, "+"),
Kerneels Bezuidenhout 27:9d84c6165b07 10 _npValue( 0, 48, SCREEN_W, SCREEN_H-83),
Kerneels Bezuidenhout 28:5b112dfcabe1 11 _nlbValue(SCREEN_W/2, 26, "%.0f", *valToChange, Label::CENTER, Font20)
Kerneels Bezuidenhout 27:9d84c6165b07 12 {
Kerneels Bezuidenhout 27:9d84c6165b07 13 _nextScreen = nextScreen;
Kerneels Bezuidenhout 27:9d84c6165b07 14 _prevScreen = prevScreen;
Kerneels Bezuidenhout 31:5ece593c49a7 15 _value = valToChange;
Kerneels Bezuidenhout 31:5ece593c49a7 16 _min = min;
Kerneels Bezuidenhout 31:5ece593c49a7 17 _neg = negative;
Kerneels Bezuidenhout 31:5ece593c49a7 18 _negVal = false;
Kerneels Bezuidenhout 27:9d84c6165b07 19 }
Kerneels Bezuidenhout 27:9d84c6165b07 20
Kerneels Bezuidenhout 27:9d84c6165b07 21 void ChangeValWholeScreen::Draw()
Kerneels Bezuidenhout 27:9d84c6165b07 22 {
Kerneels Bezuidenhout 27:9d84c6165b07 23 Clear();
Kerneels Bezuidenhout 27:9d84c6165b07 24 _lbTitle.Draw();
Kerneels Bezuidenhout 28:5b112dfcabe1 25 _btBack.Draw();
Kerneels Bezuidenhout 27:9d84c6165b07 26 _btSave.Draw();
Kerneels Bezuidenhout 27:9d84c6165b07 27 _npValue.Draw();
Kerneels Bezuidenhout 27:9d84c6165b07 28 _nlbValue.Draw();
Kerneels Bezuidenhout 31:5ece593c49a7 29
Kerneels Bezuidenhout 31:5ece593c49a7 30 if( _neg )
Kerneels Bezuidenhout 31:5ece593c49a7 31 {
Kerneels Bezuidenhout 31:5ece593c49a7 32 _btNeg.Draw();
Kerneels Bezuidenhout 31:5ece593c49a7 33 }
Kerneels Bezuidenhout 31:5ece593c49a7 34 else
Kerneels Bezuidenhout 31:5ece593c49a7 35 {
Kerneels Bezuidenhout 31:5ece593c49a7 36 _btNeg.Inactivate();
Kerneels Bezuidenhout 31:5ece593c49a7 37 _btNeg.Erase();
Kerneels Bezuidenhout 31:5ece593c49a7 38 _btPos.Inactivate();
Kerneels Bezuidenhout 31:5ece593c49a7 39 _btNeg.Erase();
Kerneels Bezuidenhout 31:5ece593c49a7 40 }
Kerneels Bezuidenhout 31:5ece593c49a7 41
Kerneels Bezuidenhout 27:9d84c6165b07 42 }
Kerneels Bezuidenhout 27:9d84c6165b07 43
Kerneels Bezuidenhout 27:9d84c6165b07 44 void ChangeValWholeScreen::Process()
Kerneels Bezuidenhout 27:9d84c6165b07 45 {
Kerneels Bezuidenhout 27:9d84c6165b07 46 if( _btBack.Touched() )
Kerneels Bezuidenhout 27:9d84c6165b07 47 *_nextScreen = _prevScreen;
Kerneels Bezuidenhout 27:9d84c6165b07 48
Kerneels Bezuidenhout 27:9d84c6165b07 49 if( _btSave.Touched() )
Kerneels Bezuidenhout 27:9d84c6165b07 50 {
Kerneels Bezuidenhout 31:5ece593c49a7 51 *_value = _tempVal;
Kerneels Bezuidenhout 27:9d84c6165b07 52 *_nextScreen = _prevScreen;
Kerneels Bezuidenhout 27:9d84c6165b07 53 }
Kerneels Bezuidenhout 27:9d84c6165b07 54
Kerneels Bezuidenhout 27:9d84c6165b07 55 if( _npValue.Touched() )
Kerneels Bezuidenhout 27:9d84c6165b07 56 {
Kerneels Bezuidenhout 31:5ece593c49a7 57 Update();
Kerneels Bezuidenhout 27:9d84c6165b07 58 Thread::wait(200);
Kerneels Bezuidenhout 27:9d84c6165b07 59 }
Kerneels Bezuidenhout 31:5ece593c49a7 60
Kerneels Bezuidenhout 31:5ece593c49a7 61
Kerneels Bezuidenhout 31:5ece593c49a7 62 if( _neg )
Kerneels Bezuidenhout 31:5ece593c49a7 63 {
Kerneels Bezuidenhout 31:5ece593c49a7 64 if( _btNeg.IsActive() )
Kerneels Bezuidenhout 31:5ece593c49a7 65 {
Kerneels Bezuidenhout 31:5ece593c49a7 66 if( _btNeg.Touched() )
Kerneels Bezuidenhout 31:5ece593c49a7 67 {
Kerneels Bezuidenhout 31:5ece593c49a7 68 _negVal = true;
Kerneels Bezuidenhout 31:5ece593c49a7 69 _btNeg.Inactivate();
Kerneels Bezuidenhout 31:5ece593c49a7 70 _btNeg.Erase();
Kerneels Bezuidenhout 31:5ece593c49a7 71
Kerneels Bezuidenhout 31:5ece593c49a7 72 _btPos.Activate();
Kerneels Bezuidenhout 31:5ece593c49a7 73 _btPos.Draw();
Kerneels Bezuidenhout 31:5ece593c49a7 74
Kerneels Bezuidenhout 31:5ece593c49a7 75 Update();
Kerneels Bezuidenhout 31:5ece593c49a7 76 Thread::wait(200);
Kerneels Bezuidenhout 31:5ece593c49a7 77 }
Kerneels Bezuidenhout 31:5ece593c49a7 78 }
Kerneels Bezuidenhout 31:5ece593c49a7 79 else if( _btPos.IsActive() )
Kerneels Bezuidenhout 31:5ece593c49a7 80 {
Kerneels Bezuidenhout 31:5ece593c49a7 81 if( _btPos.Touched() )
Kerneels Bezuidenhout 31:5ece593c49a7 82 {
Kerneels Bezuidenhout 31:5ece593c49a7 83 _negVal = false;
Kerneels Bezuidenhout 31:5ece593c49a7 84 _btPos.Inactivate();
Kerneels Bezuidenhout 31:5ece593c49a7 85 _btPos.Erase();
Kerneels Bezuidenhout 31:5ece593c49a7 86
Kerneels Bezuidenhout 31:5ece593c49a7 87 _btNeg.Activate();
Kerneels Bezuidenhout 31:5ece593c49a7 88 _btNeg.Draw();
Kerneels Bezuidenhout 31:5ece593c49a7 89
Kerneels Bezuidenhout 31:5ece593c49a7 90 Update();
Kerneels Bezuidenhout 31:5ece593c49a7 91 Thread::wait(200);
Kerneels Bezuidenhout 31:5ece593c49a7 92 }
Kerneels Bezuidenhout 31:5ece593c49a7 93 }
Kerneels Bezuidenhout 31:5ece593c49a7 94 }
Kerneels Bezuidenhout 27:9d84c6165b07 95 }
Kerneels Bezuidenhout 31:5ece593c49a7 96
Kerneels Bezuidenhout 31:5ece593c49a7 97 void ChangeValWholeScreen::Update()
Kerneels Bezuidenhout 31:5ece593c49a7 98 {
Kerneels Bezuidenhout 31:5ece593c49a7 99 _tempVal = _npValue.GetFloat();
Kerneels Bezuidenhout 31:5ece593c49a7 100
Kerneels Bezuidenhout 31:5ece593c49a7 101 if( _negVal )
Kerneels Bezuidenhout 31:5ece593c49a7 102 _tempVal *= -1;
Kerneels Bezuidenhout 31:5ece593c49a7 103
Kerneels Bezuidenhout 31:5ece593c49a7 104 if( _tempVal < _min)
Kerneels Bezuidenhout 31:5ece593c49a7 105 _tempVal = _min;
Kerneels Bezuidenhout 31:5ece593c49a7 106
Kerneels Bezuidenhout 31:5ece593c49a7 107 _nlbValue.Draw("%.0f", _tempVal );
Kerneels Bezuidenhout 31:5ece593c49a7 108 }