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:
52:c9e1974ae332
Firmware

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kerneels Bezuidenhout 20:70c5b1e499f0 1 #include "ManualSetpointScreen.hpp"
Kerneels Bezuidenhout 20:70c5b1e499f0 2
Kerneels Bezuidenhout 22:dd9ff475b34c 3 ManualSetpointScreen::ManualSetpointScreen(int *nextScreen, float *xSP, float *ySP, int *ballOnPlate, bool *started) :
Kerneels Bezuidenhout 20:70c5b1e499f0 4 Screen(),
Kerneels Bezuidenhout 20:70c5b1e499f0 5 _lbTitle( SCREEN_W/2, 0, "Manual Setpoint", Label::CENTER, Font24),
Kerneels Bezuidenhout 20:70c5b1e499f0 6 _btBack( 0, SCREEN_H-30, 100, 30, "Back"),
Kerneels Bezuidenhout 51:7760463a13d1 7 _tpSetpoint( (SCREEN_W/2)-90 ,57, 180,180, -100.0, 100.0, -100.0 ,100.0),
Kerneels Bezuidenhout 22:dd9ff475b34c 8 _btStart( 110, SCREEN_H-30, SCREEN_W-220, 30, "Start"),
Kerneels Bezuidenhout 22:dd9ff475b34c 9 _btStop( 110, SCREEN_H-30, SCREEN_W-220, 30, "Stop"),
Kerneels Bezuidenhout 20:70c5b1e499f0 10 _btReset( SCREEN_W-100, SCREEN_H-30, 100, 30, "Reset")
Kerneels Bezuidenhout 20:70c5b1e499f0 11 {
Kerneels Bezuidenhout 20:70c5b1e499f0 12 _nextScreen = nextScreen;
Kerneels Bezuidenhout 20:70c5b1e499f0 13 _xSP = xSP;
Kerneels Bezuidenhout 20:70c5b1e499f0 14 _ySP = ySP;
Kerneels Bezuidenhout 22:dd9ff475b34c 15 *_xSP = 0;
Kerneels Bezuidenhout 22:dd9ff475b34c 16 *_ySP = 0;
Kerneels Bezuidenhout 22:dd9ff475b34c 17 _ballOnPlate = ballOnPlate;
Kerneels Bezuidenhout 22:dd9ff475b34c 18 _started = started;
Kerneels Bezuidenhout 20:70c5b1e499f0 19 }
Kerneels Bezuidenhout 20:70c5b1e499f0 20
Kerneels Bezuidenhout 20:70c5b1e499f0 21 void ManualSetpointScreen::Draw()
Kerneels Bezuidenhout 20:70c5b1e499f0 22 {
Kerneels Bezuidenhout 20:70c5b1e499f0 23 Clear();
Kerneels Bezuidenhout 20:70c5b1e499f0 24 _lbTitle.Draw();
Kerneels Bezuidenhout 20:70c5b1e499f0 25 _btBack.Draw();
Generic 21:aa3074b237e0 26 _tpSetpoint.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 27 _btStop.Inactivate();
Kerneels Bezuidenhout 22:dd9ff475b34c 28 _btStart.Inactivate();
Generic 62:58e846621435 29 _btStart.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 30 _btReset.Draw();
Kerneels Bezuidenhout 20:70c5b1e499f0 31 }
Kerneels Bezuidenhout 20:70c5b1e499f0 32
Kerneels Bezuidenhout 20:70c5b1e499f0 33 void ManualSetpointScreen::Process()
Kerneels Bezuidenhout 20:70c5b1e499f0 34 {
Kerneels Bezuidenhout 20:70c5b1e499f0 35 if( _btBack.Touched() )
Kerneels Bezuidenhout 20:70c5b1e499f0 36 {
Kerneels Bezuidenhout 26:f57db8d6d79e 37 *_started = false;
Kerneels Bezuidenhout 20:70c5b1e499f0 38 *_nextScreen = AUTOMATIC_MORE_SCREEN;
Kerneels Bezuidenhout 20:70c5b1e499f0 39 }
Kerneels Bezuidenhout 20:70c5b1e499f0 40
Kerneels Bezuidenhout 22:dd9ff475b34c 41 if( _tpSetpoint.Touched() )
Kerneels Bezuidenhout 22:dd9ff475b34c 42 {
Kerneels Bezuidenhout 22:dd9ff475b34c 43 _tpSetpoint.Update();
Kerneels Bezuidenhout 22:dd9ff475b34c 44
Kerneels Bezuidenhout 52:c9e1974ae332 45 *_ySP = -floor(_tpSetpoint.GetX());
Kerneels Bezuidenhout 52:c9e1974ae332 46 *_xSP = -floor(_tpSetpoint.GetY());
Kerneels Bezuidenhout 22:dd9ff475b34c 47 }
Kerneels Bezuidenhout 22:dd9ff475b34c 48
Kerneels Bezuidenhout 22:dd9ff475b34c 49 if( _btReset.Touched() )
Kerneels Bezuidenhout 22:dd9ff475b34c 50 {
Kerneels Bezuidenhout 22:dd9ff475b34c 51 _tpSetpoint.Reset();
Kerneels Bezuidenhout 22:dd9ff475b34c 52 _btReset.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 53
Kerneels Bezuidenhout 22:dd9ff475b34c 54 *_xSP = floor(_tpSetpoint.GetX());
Kerneels Bezuidenhout 22:dd9ff475b34c 55 *_ySP = floor(_tpSetpoint.GetY());
Kerneels Bezuidenhout 22:dd9ff475b34c 56 }
Kerneels Bezuidenhout 22:dd9ff475b34c 57
Kerneels Bezuidenhout 22:dd9ff475b34c 58 if( _btStart.IsActive() )
Kerneels Bezuidenhout 22:dd9ff475b34c 59 {
Kerneels Bezuidenhout 22:dd9ff475b34c 60 if( !*_ballOnPlate )
Kerneels Bezuidenhout 22:dd9ff475b34c 61 _btStart.Inactivate();
Kerneels Bezuidenhout 22:dd9ff475b34c 62 else if( _btStart.Touched() )
Kerneels Bezuidenhout 22:dd9ff475b34c 63 {
Kerneels Bezuidenhout 22:dd9ff475b34c 64 _btStart.Inactivate();
Kerneels Bezuidenhout 22:dd9ff475b34c 65 _btStart.Erase();
Kerneels Bezuidenhout 22:dd9ff475b34c 66 _btStop.Activate();
Kerneels Bezuidenhout 22:dd9ff475b34c 67 _btStop.Draw(0xFFFF0000);
Kerneels Bezuidenhout 22:dd9ff475b34c 68 Thread::wait(200);
Kerneels Bezuidenhout 22:dd9ff475b34c 69 *_started = true;
Kerneels Bezuidenhout 22:dd9ff475b34c 70 }
Kerneels Bezuidenhout 22:dd9ff475b34c 71 }
Kerneels Bezuidenhout 22:dd9ff475b34c 72 else if( _btStop.IsActive() )
Kerneels Bezuidenhout 22:dd9ff475b34c 73 {
Kerneels Bezuidenhout 22:dd9ff475b34c 74 if( _btStop.Touched() )
Kerneels Bezuidenhout 22:dd9ff475b34c 75 {
Kerneels Bezuidenhout 22:dd9ff475b34c 76 _btStop.Inactivate();
Kerneels Bezuidenhout 22:dd9ff475b34c 77 _btStop.Erase();
Kerneels Bezuidenhout 22:dd9ff475b34c 78 _btStart.Activate();
Kerneels Bezuidenhout 22:dd9ff475b34c 79 _btStart.Draw(0xFF00FF00);
Kerneels Bezuidenhout 22:dd9ff475b34c 80 Thread::wait(200);
Kerneels Bezuidenhout 22:dd9ff475b34c 81 *_started = false;
Kerneels Bezuidenhout 22:dd9ff475b34c 82 }
Kerneels Bezuidenhout 22:dd9ff475b34c 83 }
Kerneels Bezuidenhout 22:dd9ff475b34c 84 else if( *_ballOnPlate )
Kerneels Bezuidenhout 22:dd9ff475b34c 85 {
Kerneels Bezuidenhout 22:dd9ff475b34c 86 if( !_btStop.IsActive() )
Kerneels Bezuidenhout 22:dd9ff475b34c 87 {
Generic 23:bab197887d5e 88 _btStart.Activate();
Generic 23:bab197887d5e 89 _btStart.Draw(0xFF00FF00);
Kerneels Bezuidenhout 22:dd9ff475b34c 90 }
Kerneels Bezuidenhout 22:dd9ff475b34c 91 }
Kerneels Bezuidenhout 22:dd9ff475b34c 92
Kerneels Bezuidenhout 20:70c5b1e499f0 93 }