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:
55:d1a00f344351
Firmware

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 27:9d84c6165b07 34 }
Kerneels Bezuidenhout 27:9d84c6165b07 35
Kerneels Bezuidenhout 27:9d84c6165b07 36 void ChangeValWholeScreen::Process()
Kerneels Bezuidenhout 27:9d84c6165b07 37 {
Kerneels Bezuidenhout 27:9d84c6165b07 38 if( _btBack.Touched() )
Kerneels Bezuidenhout 27:9d84c6165b07 39 *_nextScreen = _prevScreen;
Kerneels Bezuidenhout 27:9d84c6165b07 40
Kerneels Bezuidenhout 27:9d84c6165b07 41 if( _btSave.Touched() )
Kerneels Bezuidenhout 27:9d84c6165b07 42 {
Kerneels Bezuidenhout 31:5ece593c49a7 43 *_value = _tempVal;
Kerneels Bezuidenhout 27:9d84c6165b07 44 *_nextScreen = _prevScreen;
Kerneels Bezuidenhout 27:9d84c6165b07 45 }
Kerneels Bezuidenhout 27:9d84c6165b07 46
Kerneels Bezuidenhout 27:9d84c6165b07 47 if( _npValue.Touched() )
Kerneels Bezuidenhout 27:9d84c6165b07 48 {
Kerneels Bezuidenhout 31:5ece593c49a7 49 Update();
Kerneels Bezuidenhout 27:9d84c6165b07 50 Thread::wait(200);
Kerneels Bezuidenhout 27:9d84c6165b07 51 }
Kerneels Bezuidenhout 31:5ece593c49a7 52
Kerneels Bezuidenhout 31:5ece593c49a7 53
Kerneels Bezuidenhout 31:5ece593c49a7 54 if( _neg )
Kerneels Bezuidenhout 31:5ece593c49a7 55 {
Kerneels Bezuidenhout 31:5ece593c49a7 56 if( _btNeg.IsActive() )
Kerneels Bezuidenhout 31:5ece593c49a7 57 {
Kerneels Bezuidenhout 31:5ece593c49a7 58 if( _btNeg.Touched() )
Kerneels Bezuidenhout 31:5ece593c49a7 59 {
Kerneels Bezuidenhout 31:5ece593c49a7 60 _negVal = true;
Kerneels Bezuidenhout 31:5ece593c49a7 61 _btNeg.Inactivate();
Kerneels Bezuidenhout 31:5ece593c49a7 62 _btNeg.Erase();
Kerneels Bezuidenhout 31:5ece593c49a7 63
Kerneels Bezuidenhout 31:5ece593c49a7 64 _btPos.Activate();
Kerneels Bezuidenhout 31:5ece593c49a7 65 _btPos.Draw();
Kerneels Bezuidenhout 31:5ece593c49a7 66
Kerneels Bezuidenhout 31:5ece593c49a7 67 Update();
Kerneels Bezuidenhout 31:5ece593c49a7 68 Thread::wait(200);
Kerneels Bezuidenhout 31:5ece593c49a7 69 }
Kerneels Bezuidenhout 31:5ece593c49a7 70 }
Kerneels Bezuidenhout 31:5ece593c49a7 71 else if( _btPos.IsActive() )
Kerneels Bezuidenhout 31:5ece593c49a7 72 {
Kerneels Bezuidenhout 31:5ece593c49a7 73 if( _btPos.Touched() )
Kerneels Bezuidenhout 31:5ece593c49a7 74 {
Kerneels Bezuidenhout 31:5ece593c49a7 75 _negVal = false;
Kerneels Bezuidenhout 31:5ece593c49a7 76 _btPos.Inactivate();
Kerneels Bezuidenhout 31:5ece593c49a7 77 _btPos.Erase();
Kerneels Bezuidenhout 31:5ece593c49a7 78
Kerneels Bezuidenhout 31:5ece593c49a7 79 _btNeg.Activate();
Kerneels Bezuidenhout 31:5ece593c49a7 80 _btNeg.Draw();
Kerneels Bezuidenhout 31:5ece593c49a7 81
Kerneels Bezuidenhout 31:5ece593c49a7 82 Update();
Kerneels Bezuidenhout 31:5ece593c49a7 83 Thread::wait(200);
Kerneels Bezuidenhout 31:5ece593c49a7 84 }
Kerneels Bezuidenhout 31:5ece593c49a7 85 }
Kerneels Bezuidenhout 31:5ece593c49a7 86 }
Kerneels Bezuidenhout 27:9d84c6165b07 87 }
Kerneels Bezuidenhout 31:5ece593c49a7 88
Kerneels Bezuidenhout 31:5ece593c49a7 89 void ChangeValWholeScreen::Update()
Kerneels Bezuidenhout 31:5ece593c49a7 90 {
Kerneels Bezuidenhout 31:5ece593c49a7 91 _tempVal = _npValue.GetFloat();
Kerneels Bezuidenhout 31:5ece593c49a7 92
Kerneels Bezuidenhout 31:5ece593c49a7 93 if( _negVal )
Kerneels Bezuidenhout 31:5ece593c49a7 94 _tempVal *= -1;
Kerneels Bezuidenhout 31:5ece593c49a7 95
Kerneels Bezuidenhout 31:5ece593c49a7 96 if( _tempVal < _min)
Kerneels Bezuidenhout 31:5ece593c49a7 97 _tempVal = _min;
Kerneels Bezuidenhout 31:5ece593c49a7 98
Kerneels Bezuidenhout 31:5ece593c49a7 99 _nlbValue.Draw("%.0f", _tempVal );
Kerneels Bezuidenhout 31:5ece593c49a7 100 }