Cornelius Bezuidenhout / Mbed OS Heiko

Dependencies:   BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter

Committer:
Kerneels Bezuidenhout
Date:
Mon Oct 03 12:19:03 2016 +0200
Revision:
26:f57db8d6d79e
Parent:
23:bab197887d5e
Child:
51:7760463a13d1
Added ChangeValWholeScreen

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"),
Generic 21:aa3074b237e0 7 _tpSetpoint( (SCREEN_W/2)-90 ,57, 180,180, -120.0, 120.0, -136,136),
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 _nlbXSP(0,26,"x (mm)=%.0f",*xSP),
Kerneels Bezuidenhout 22:dd9ff475b34c 11 _nlbYSP(0,40,"y (mm)=%.0f",*ySP),
Kerneels Bezuidenhout 20:70c5b1e499f0 12 _btReset( SCREEN_W-100, SCREEN_H-30, 100, 30, "Reset")
Kerneels Bezuidenhout 20:70c5b1e499f0 13 {
Kerneels Bezuidenhout 20:70c5b1e499f0 14 _nextScreen = nextScreen;
Kerneels Bezuidenhout 20:70c5b1e499f0 15 _xSP = xSP;
Kerneels Bezuidenhout 20:70c5b1e499f0 16 _ySP = ySP;
Kerneels Bezuidenhout 22:dd9ff475b34c 17 *_xSP = 0;
Kerneels Bezuidenhout 22:dd9ff475b34c 18 *_ySP = 0;
Kerneels Bezuidenhout 22:dd9ff475b34c 19 _ballOnPlate = ballOnPlate;
Kerneels Bezuidenhout 22:dd9ff475b34c 20 _started = started;
Kerneels Bezuidenhout 20:70c5b1e499f0 21 }
Kerneels Bezuidenhout 20:70c5b1e499f0 22
Kerneels Bezuidenhout 20:70c5b1e499f0 23 void ManualSetpointScreen::Draw()
Kerneels Bezuidenhout 20:70c5b1e499f0 24 {
Kerneels Bezuidenhout 20:70c5b1e499f0 25 Clear();
Kerneels Bezuidenhout 20:70c5b1e499f0 26 _lbTitle.Draw();
Kerneels Bezuidenhout 20:70c5b1e499f0 27 _btBack.Draw();
Generic 21:aa3074b237e0 28 _tpSetpoint.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 29 _btStop.Inactivate();
Kerneels Bezuidenhout 22:dd9ff475b34c 30 _btStart.Inactivate();
Kerneels Bezuidenhout 20:70c5b1e499f0 31 _btStart.Draw();
Kerneels Bezuidenhout 20:70c5b1e499f0 32 _nlbXSP.Draw();
Kerneels Bezuidenhout 20:70c5b1e499f0 33 _nlbYSP.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 34 _btReset.Draw();
Kerneels Bezuidenhout 20:70c5b1e499f0 35 }
Kerneels Bezuidenhout 20:70c5b1e499f0 36
Kerneels Bezuidenhout 20:70c5b1e499f0 37 void ManualSetpointScreen::Process()
Kerneels Bezuidenhout 20:70c5b1e499f0 38 {
Kerneels Bezuidenhout 20:70c5b1e499f0 39 if( _btBack.Touched() )
Kerneels Bezuidenhout 20:70c5b1e499f0 40 {
Kerneels Bezuidenhout 26:f57db8d6d79e 41 *_started = false;
Kerneels Bezuidenhout 20:70c5b1e499f0 42 *_nextScreen = AUTOMATIC_MORE_SCREEN;
Kerneels Bezuidenhout 20:70c5b1e499f0 43 }
Kerneels Bezuidenhout 20:70c5b1e499f0 44
Kerneels Bezuidenhout 22:dd9ff475b34c 45 if( _tpSetpoint.Touched() )
Kerneels Bezuidenhout 22:dd9ff475b34c 46 {
Kerneels Bezuidenhout 22:dd9ff475b34c 47 _tpSetpoint.Update();
Kerneels Bezuidenhout 22:dd9ff475b34c 48
Kerneels Bezuidenhout 22:dd9ff475b34c 49 *_xSP = floor(_tpSetpoint.GetX());
Kerneels Bezuidenhout 22:dd9ff475b34c 50 *_ySP = floor(_tpSetpoint.GetY());
Generic 23:bab197887d5e 51 _nlbXSP.Draw("x (mm)=%.0f",*_xSP);
Generic 23:bab197887d5e 52 _nlbYSP.Draw("y (mm)=%.0f",*_ySP);
Kerneels Bezuidenhout 22:dd9ff475b34c 53 }
Kerneels Bezuidenhout 22:dd9ff475b34c 54
Kerneels Bezuidenhout 22:dd9ff475b34c 55 if( _btReset.Touched() )
Kerneels Bezuidenhout 22:dd9ff475b34c 56 {
Kerneels Bezuidenhout 22:dd9ff475b34c 57 _tpSetpoint.Reset();
Kerneels Bezuidenhout 22:dd9ff475b34c 58 _btReset.Draw();
Kerneels Bezuidenhout 22:dd9ff475b34c 59
Kerneels Bezuidenhout 22:dd9ff475b34c 60 *_xSP = floor(_tpSetpoint.GetX());
Kerneels Bezuidenhout 22:dd9ff475b34c 61 *_ySP = floor(_tpSetpoint.GetY());
Generic 23:bab197887d5e 62 _nlbXSP.Draw("x (mm)=%.0f",*_xSP);
Generic 23:bab197887d5e 63 _nlbYSP.Draw("y (mm)=%.0f",*_ySP);
Kerneels Bezuidenhout 22:dd9ff475b34c 64 }
Kerneels Bezuidenhout 22:dd9ff475b34c 65
Kerneels Bezuidenhout 22:dd9ff475b34c 66 if( _btStart.IsActive() )
Kerneels Bezuidenhout 22:dd9ff475b34c 67 {
Kerneels Bezuidenhout 22:dd9ff475b34c 68 if( !*_ballOnPlate )
Kerneels Bezuidenhout 22:dd9ff475b34c 69 _btStart.Inactivate();
Kerneels Bezuidenhout 22:dd9ff475b34c 70 else if( _btStart.Touched() )
Kerneels Bezuidenhout 22:dd9ff475b34c 71 {
Kerneels Bezuidenhout 22:dd9ff475b34c 72 _btStart.Inactivate();
Kerneels Bezuidenhout 22:dd9ff475b34c 73 _btStart.Erase();
Kerneels Bezuidenhout 22:dd9ff475b34c 74 _btStop.Activate();
Kerneels Bezuidenhout 22:dd9ff475b34c 75 _btStop.Draw(0xFFFF0000);
Kerneels Bezuidenhout 22:dd9ff475b34c 76 Thread::wait(200);
Kerneels Bezuidenhout 22:dd9ff475b34c 77 *_started = true;
Kerneels Bezuidenhout 22:dd9ff475b34c 78 }
Kerneels Bezuidenhout 22:dd9ff475b34c 79 }
Kerneels Bezuidenhout 22:dd9ff475b34c 80 else if( _btStop.IsActive() )
Kerneels Bezuidenhout 22:dd9ff475b34c 81 {
Kerneels Bezuidenhout 22:dd9ff475b34c 82 if( _btStop.Touched() )
Kerneels Bezuidenhout 22:dd9ff475b34c 83 {
Kerneels Bezuidenhout 22:dd9ff475b34c 84 _btStop.Inactivate();
Kerneels Bezuidenhout 22:dd9ff475b34c 85 _btStop.Erase();
Kerneels Bezuidenhout 22:dd9ff475b34c 86 _btStart.Activate();
Kerneels Bezuidenhout 22:dd9ff475b34c 87 _btStart.Draw(0xFF00FF00);
Kerneels Bezuidenhout 22:dd9ff475b34c 88 Thread::wait(200);
Kerneels Bezuidenhout 22:dd9ff475b34c 89 *_started = false;
Kerneels Bezuidenhout 22:dd9ff475b34c 90 }
Kerneels Bezuidenhout 22:dd9ff475b34c 91 }
Kerneels Bezuidenhout 22:dd9ff475b34c 92 else if( *_ballOnPlate )
Kerneels Bezuidenhout 22:dd9ff475b34c 93 {
Kerneels Bezuidenhout 22:dd9ff475b34c 94 if( !_btStop.IsActive() )
Kerneels Bezuidenhout 22:dd9ff475b34c 95 {
Generic 23:bab197887d5e 96 _btStart.Activate();
Generic 23:bab197887d5e 97 _btStart.Draw(0xFF00FF00);
Kerneels Bezuidenhout 22:dd9ff475b34c 98 }
Kerneels Bezuidenhout 22:dd9ff475b34c 99 }
Kerneels Bezuidenhout 22:dd9ff475b34c 100
Kerneels Bezuidenhout 20:70c5b1e499f0 101 }