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.
BarIndicator.h@2:0ca3285971c6, 2012-11-11 (annotated)
- Committer:
- RichardE
- Date:
- Sun Nov 11 13:10:59 2012 +0000
- Revision:
- 2:0ca3285971c6
- Parent:
- 1:2d2a358a8f7d
Fixed more errors in comments.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| RichardE | 0:d4ba843a0e6a | 1 | /* |
| RichardE | 0:d4ba843a0e6a | 2 | * SOURCE FILE : BarIndicator.h |
| RichardE | 0:d4ba843a0e6a | 3 | * |
| RichardE | 0:d4ba843a0e6a | 4 | * Definition of class BarIndicator. |
| RichardE | 0:d4ba843a0e6a | 5 | * |
| RichardE | 0:d4ba843a0e6a | 6 | */ |
| RichardE | 0:d4ba843a0e6a | 7 | |
| RichardE | 0:d4ba843a0e6a | 8 | #ifndef BarIndicatorDefined |
| RichardE | 0:d4ba843a0e6a | 9 | |
| RichardE | 0:d4ba843a0e6a | 10 | #define BarIndicatorDefined |
| RichardE | 0:d4ba843a0e6a | 11 | |
| RichardE | 0:d4ba843a0e6a | 12 | #include "Gameduino.h" |
| RichardE | 0:d4ba843a0e6a | 13 | |
| RichardE | 0:d4ba843a0e6a | 14 | /** Used to draw moving bar indicators on a Gameduino display. |
| RichardE | 0:d4ba843a0e6a | 15 | * The indicators are constructed using suitably defined characters. |
| RichardE | 0:d4ba843a0e6a | 16 | */ |
| RichardE | 0:d4ba843a0e6a | 17 | class BarIndicator { |
| RichardE | 0:d4ba843a0e6a | 18 | |
| RichardE | 0:d4ba843a0e6a | 19 | public : |
| RichardE | 0:d4ba843a0e6a | 20 | |
| RichardE | 0:d4ba843a0e6a | 21 | /** Constructor. |
| RichardE | 0:d4ba843a0e6a | 22 | */ |
| RichardE | 0:d4ba843a0e6a | 23 | BarIndicator(); |
| RichardE | 0:d4ba843a0e6a | 24 | |
| RichardE | 0:d4ba843a0e6a | 25 | /** Destructor. |
| RichardE | 0:d4ba843a0e6a | 26 | */ |
| RichardE | 0:d4ba843a0e6a | 27 | virtual ~BarIndicator(); |
| RichardE | 0:d4ba843a0e6a | 28 | |
| RichardE | 0:d4ba843a0e6a | 29 | /** Set character code at which thermometer characters start. |
| RichardE | 0:d4ba843a0e6a | 30 | * There should be 10 characters defined starting at this code, in this order: |
| RichardE | 0:d4ba843a0e6a | 31 | * 0 : Empty |
| RichardE | 0:d4ba843a0e6a | 32 | * 1 : 1/8 full |
| RichardE | 1:2d2a358a8f7d | 33 | * 2 : 1/4 full |
| RichardE | 0:d4ba843a0e6a | 34 | * 3 : 3/8 full |
| RichardE | 0:d4ba843a0e6a | 35 | * 4 : 1/2 full |
| RichardE | 0:d4ba843a0e6a | 36 | * 5 : 5/8 full |
| RichardE | 0:d4ba843a0e6a | 37 | * 6 : 3/4 full |
| RichardE | 0:d4ba843a0e6a | 38 | * 7 : 7/8 full |
| RichardE | 0:d4ba843a0e6a | 39 | * 8 : Full |
| RichardE | 0:d4ba843a0e6a | 40 | * 9 : Greyed out (used when reading is invalid). |
| RichardE | 2:0ca3285971c6 | 41 | * @param sc Character code at which thermometer characters start. |
| RichardE | 0:d4ba843a0e6a | 42 | */ |
| RichardE | 0:d4ba843a0e6a | 43 | void SetStartCode( UInt8 sc ) { |
| RichardE | 0:d4ba843a0e6a | 44 | startCode = sc; |
| RichardE | 0:d4ba843a0e6a | 45 | } |
| RichardE | 0:d4ba843a0e6a | 46 | |
| RichardE | 0:d4ba843a0e6a | 47 | /** Set minimum and maximum readings. |
| RichardE | 0:d4ba843a0e6a | 48 | * @param min Smallest reading that can be shown on bar indicator. |
| RichardE | 0:d4ba843a0e6a | 49 | * @param max Largest reading that can be shown on bar indicator. |
| RichardE | 0:d4ba843a0e6a | 50 | */ |
| RichardE | 0:d4ba843a0e6a | 51 | void SetLimits( float min, float max ) { |
| RichardE | 0:d4ba843a0e6a | 52 | this->min = min; |
| RichardE | 0:d4ba843a0e6a | 53 | this->max = max; |
| RichardE | 0:d4ba843a0e6a | 54 | } |
| RichardE | 0:d4ba843a0e6a | 55 | |
| RichardE | 0:d4ba843a0e6a | 56 | /** Set location of indicator on screen using character coordinates. |
| RichardE | 0:d4ba843a0e6a | 57 | * @param x X coordinate for indicator. |
| RichardE | 0:d4ba843a0e6a | 58 | * @param y Y coordinate for indicator. |
| RichardE | 0:d4ba843a0e6a | 59 | */ |
| RichardE | 0:d4ba843a0e6a | 60 | void SetLocation( UInt8 x, UInt8 y ) { |
| RichardE | 0:d4ba843a0e6a | 61 | xco = x; |
| RichardE | 0:d4ba843a0e6a | 62 | yco = y; |
| RichardE | 0:d4ba843a0e6a | 63 | } |
| RichardE | 0:d4ba843a0e6a | 64 | |
| RichardE | 0:d4ba843a0e6a | 65 | /** Set length of indicator (in characters). |
| RichardE | 0:d4ba843a0e6a | 66 | * @param len Length of indicator. |
| RichardE | 0:d4ba843a0e6a | 67 | */ |
| RichardE | 0:d4ba843a0e6a | 68 | void SetLength( UInt8 len ) { |
| RichardE | 0:d4ba843a0e6a | 69 | length = len; |
| RichardE | 0:d4ba843a0e6a | 70 | } |
| RichardE | 0:d4ba843a0e6a | 71 | |
| RichardE | 0:d4ba843a0e6a | 72 | /** Draw bar indicator. |
| RichardE | 0:d4ba843a0e6a | 73 | * Invalid readings are drawn using a greyed out indicator. |
| RichardE | 0:d4ba843a0e6a | 74 | * @param gd Pointer to Gameduino to use for drawing. |
| RichardE | 0:d4ba843a0e6a | 75 | * @param reading Reading to display on indicator. |
| RichardE | 0:d4ba843a0e6a | 76 | * @param valid True if reading is valid, False if not. |
| RichardE | 0:d4ba843a0e6a | 77 | */ |
| RichardE | 0:d4ba843a0e6a | 78 | void Draw( Gameduino *gd, float reading, bool valid ); |
| RichardE | 0:d4ba843a0e6a | 79 | |
| RichardE | 0:d4ba843a0e6a | 80 | private : |
| RichardE | 0:d4ba843a0e6a | 81 | |
| RichardE | 0:d4ba843a0e6a | 82 | // Character code at which thermometer characters start. |
| RichardE | 0:d4ba843a0e6a | 83 | UInt8 startCode; |
| RichardE | 0:d4ba843a0e6a | 84 | |
| RichardE | 0:d4ba843a0e6a | 85 | // Minimum and maximum readings on thermometer. |
| RichardE | 0:d4ba843a0e6a | 86 | float min, max; |
| RichardE | 0:d4ba843a0e6a | 87 | |
| RichardE | 0:d4ba843a0e6a | 88 | // Coordinates of indicator. |
| RichardE | 0:d4ba843a0e6a | 89 | UInt8 xco, yco; |
| RichardE | 0:d4ba843a0e6a | 90 | |
| RichardE | 0:d4ba843a0e6a | 91 | // Length of indicator. |
| RichardE | 0:d4ba843a0e6a | 92 | UInt8 length; |
| RichardE | 0:d4ba843a0e6a | 93 | |
| RichardE | 0:d4ba843a0e6a | 94 | }; |
| RichardE | 0:d4ba843a0e6a | 95 | |
| RichardE | 0:d4ba843a0e6a | 96 | #endif |
| RichardE | 0:d4ba843a0e6a | 97 | |
| RichardE | 0:d4ba843a0e6a | 98 | /* END of BarIndicator.h */ |