My final year project
Dependencies: BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter
Screens/ManualSetpointScreen.cpp@62:58e846621435, 2016-10-26 (annotated)
- Committer:
- Generic
- Date:
- Wed Oct 26 10:40:54 2016 +0000
- Revision:
- 62:58e846621435
- Parent:
- 52:c9e1974ae332
Firmware
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"), |
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 | } |