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/CalibrateScreen.cpp@35:6baa558d3b86, 2016-10-03 (annotated)
- Committer:
- Kerneels Bezuidenhout
- Date:
- Mon Oct 03 17:12:39 2016 +0200
- Revision:
- 35:6baa558d3b86
- Parent:
- 34:0b308a399f72
- Child:
- 37:93c7563f2078
Testing calibration
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 1 | #include "CalibrateScreen.hpp" |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 2 | |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 3 | CalibrateScreen::CalibrateScreen(int *nextScreen, int *ballOnPlate, bool *calStarted, int *calPoint, float *calHeldTime) : |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 4 | Screen(), |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 5 | _lbTitle( SCREEN_W/2, 0, "Calibrate", Label::CENTER, Font24), |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 6 | _btBack( 0, SCREEN_H-30, 100, 30, "Back"), |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 7 | _lbMessage( SCREEN_W/2, SCREEN_H/2-10, "Please remove ball from plate", Label::CENTER, Font20) |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 8 | { |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 9 | _nextScreen = nextScreen; |
| Kerneels Bezuidenhout |
34:0b308a399f72 | 10 | _ballOnPlate = ballOnPlate; |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 11 | _calStarted = calStarted; |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 12 | _calHeldTime = calHeldTime; |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 13 | } |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 14 | |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 15 | void CalibrateScreen::Draw() |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 16 | { |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 17 | Clear(); |
| Kerneels Bezuidenhout |
34:0b308a399f72 | 18 | |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 19 | _lbTitle.Draw(); |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 20 | _btBack.Draw(); |
| Kerneels Bezuidenhout |
34:0b308a399f72 | 21 | |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 22 | DisplayMessage(); |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 23 | } |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 24 | |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 25 | void CalibrateScreen::Process() |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 26 | { |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 27 | if( _btBack.Touched() ) |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 28 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 29 | *_calStarted = false; |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 30 | *_calPoint = 0; |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 31 | *_nextScreen = MAIN_SETTINGS_SCREEN; |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 32 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 33 | |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 34 | DisplayMessage(); |
| Kerneels Bezuidenhout |
32:d490f8ca6d2a | 35 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 36 | |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 37 | void CalibrateScreen::DisplayMessage() |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 38 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 39 | if( *_calStarted) |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 40 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 41 | if( *_ballOnPlate ) |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 42 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 43 | float _tempHeldTime = 5; |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 44 | _tempHeldTime -= *_heldTime; |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 45 | |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 46 | if( _tempHeldTime <= 0 ) |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 47 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 48 | sprintf(message, "Release"); |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 49 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 50 | else |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 51 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 52 | sprintf(message, "%.0f", _tempHeldTime); |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 53 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 54 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 55 | else |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 56 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 57 | sprintf(message, "Touch and hold position %d", *_pointToMeasure); |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 58 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 59 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 60 | else |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 61 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 62 | if( *_ballOnPlate) |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 63 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 64 | sprintf(_message, "Please remove ball from plate"); |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 65 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 66 | else |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 67 | { |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 68 | *_calStarted = true; |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 69 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 70 | } |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 71 | |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 72 | _lbMessage.Draw(_message); |
| Kerneels Bezuidenhout |
35:6baa558d3b86 | 73 | } |