Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter
Screens/ManualSetpointScreen.cpp@26:f57db8d6d79e, 2016-10-03 (annotated)
- 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?
User | Revision | Line number | New 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 | } |