C++ file for display control
Dependencies: 4DGL mbed ConfigFile
Fork of 4DGLtest by
display.cpp@7:779c5b8d3b14, 2014-07-05 (annotated)
- Committer:
- WillemBraat
- Date:
- Sat Jul 05 16:32:03 2014 +0000
- Revision:
- 7:779c5b8d3b14
- Parent:
- 6:904d00252480
- Child:
- 10:5706b75d40fa
Display functions completed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
WillemBraat | 3:f7bce78b04c1 | 1 | //Display control functions -- |
WillemBraat | 3:f7bce78b04c1 | 2 | |
WillemBraat | 3:f7bce78b04c1 | 3 | #include "mbed.h" |
WillemBraat | 3:f7bce78b04c1 | 4 | #include "TFT_4DGL.h" |
WillemBraat | 3:f7bce78b04c1 | 5 | #include "display.h" |
WillemBraat | 3:f7bce78b04c1 | 6 | #include <string> |
WillemBraat | 3:f7bce78b04c1 | 7 | using namespace std; |
WillemBraat | 3:f7bce78b04c1 | 8 | |
WillemBraat | 3:f7bce78b04c1 | 9 | /* |
WillemBraat | 3:f7bce78b04c1 | 10 | ===================================================== |
WillemBraat | 3:f7bce78b04c1 | 11 | SGC (Serial Graphics Controller) PLATFORM OUTPUT FILE |
WillemBraat | 3:f7bce78b04c1 | 12 | ===================================================== |
WillemBraat | 3:f7bce78b04c1 | 13 | |
WillemBraat | 3:f7bce78b04c1 | 14 | ******************************************************* |
WillemBraat | 3:f7bce78b04c1 | 15 | * Must set 'New image format' for usage on Picaso SGC * |
WillemBraat | 3:f7bce78b04c1 | 16 | * Data: * |
WillemBraat | 3:f7bce78b04c1 | 17 | * 0x59, 0x06, 0x00 * |
WillemBraat | 3:f7bce78b04c1 | 18 | * 4DSL command: * |
WillemBraat | 3:f7bce78b04c1 | 19 | * Control(6,0) * |
WillemBraat | 3:f7bce78b04c1 | 20 | ******************************************************* |
WillemBraat | 3:f7bce78b04c1 | 21 | |
WillemBraat | 3:f7bce78b04c1 | 22 | --------------------------------------------------------------------------------------- |
WillemBraat | 3:f7bce78b04c1 | 23 | File "logo_flyengravity.jpg" (logo_flyengravity.jpg) |
WillemBraat | 3:f7bce78b04c1 | 24 | Sector Address 0x000000 |
WillemBraat | 3:f7bce78b04c1 | 25 | X = 0 Y = 135 Width = 640 Height = 215 Bits = 16 |
WillemBraat | 3:f7bce78b04c1 | 26 | |
WillemBraat | 3:f7bce78b04c1 | 27 | Display Image from Memory Card (Serial Command): |
WillemBraat | 3:f7bce78b04c1 | 28 | Syntax: |
WillemBraat | 3:f7bce78b04c1 | 29 | @, I, x, y, SectorAdd(hi), SectorAdd(mid), SectorAdd(lo) |
WillemBraat | 3:f7bce78b04c1 | 30 | Picaso Data: |
WillemBraat | 3:f7bce78b04c1 | 31 | 0x40, 0x49, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00 |
WillemBraat | 3:f7bce78b04c1 | 32 | 4DSL command: |
WillemBraat | 3:f7bce78b04c1 | 33 | NewUSDImage(0, 135, 0x000000) |
WillemBraat | 3:f7bce78b04c1 | 34 | |
WillemBraat | 3:f7bce78b04c1 | 35 | --------------------------------------------------------------------------------------- |
WillemBraat | 3:f7bce78b04c1 | 36 | File "Testscreen.png" (Testscreen.png) |
WillemBraat | 3:f7bce78b04c1 | 37 | Sector Address 0x00021A |
WillemBraat | 3:f7bce78b04c1 | 38 | X = 0 Y = 0 Width = 640 Height = 480 Bits = 16 |
WillemBraat | 3:f7bce78b04c1 | 39 | |
WillemBraat | 3:f7bce78b04c1 | 40 | Display Image from Memory Card (Serial Command): |
WillemBraat | 3:f7bce78b04c1 | 41 | Syntax: |
WillemBraat | 3:f7bce78b04c1 | 42 | @, I, x, y, SectorAdd(hi), SectorAdd(mid), SectorAdd(lo) |
WillemBraat | 3:f7bce78b04c1 | 43 | Picaso Data: |
WillemBraat | 3:f7bce78b04c1 | 44 | 0x40, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1A |
WillemBraat | 3:f7bce78b04c1 | 45 | 4DSL command: |
WillemBraat | 3:f7bce78b04c1 | 46 | NewUSDImage(0, 0, 0x00021A) |
WillemBraat | 3:f7bce78b04c1 | 47 | |
WillemBraat | 3:f7bce78b04c1 | 48 | */ |
WillemBraat | 3:f7bce78b04c1 | 49 | |
WillemBraat | 3:f7bce78b04c1 | 50 | /*Display Commands |
WillemBraat | 3:f7bce78b04c1 | 51 | |
WillemBraat | 3:f7bce78b04c1 | 52 | $PCDUCLS Erase to active background colour (default black) or white |
WillemBraat | 3:f7bce78b04c1 | 53 | =================================================================== |
WillemBraat | 3:f7bce78b04c1 | 54 | Syntax: $PCDUCLS, <mode>*<checksum>CRLF |
WillemBraat | 3:f7bce78b04c1 | 55 | <mode>=0 : Clear screen to current background colour (default=black) |
WillemBraat | 3:f7bce78b04c1 | 56 | <mode>=1 : Clear screen to white |
WillemBraat | 3:f7bce78b04c1 | 57 | |
WillemBraat | 3:f7bce78b04c1 | 58 | $PCDUSBC Set Background Color |
WillemBraat | 3:f7bce78b04c1 | 59 | ==================================================================== |
WillemBraat | 3:f7bce78b04c1 | 60 | Syntax: $PCDUSBC,<Rcolour>,<Gcolour>,<Bcolour>*<checksum>CRLF |
WillemBraat | 3:f7bce78b04c1 | 61 | < Rcolour > : RED (000‐255) |
WillemBraat | 3:f7bce78b04c1 | 62 | < Gcolour > : GREEN (000‐255) |
WillemBraat | 3:f7bce78b04c1 | 63 | < Bcolour > : BLUE (000‐255) |
WillemBraat | 3:f7bce78b04c1 | 64 | Set background colour to RGB as defined in the three data fields. |
WillemBraat | 3:f7bce78b04c1 | 65 | |
WillemBraat | 3:f7bce78b04c1 | 66 | $PCDUWTX WTX=WRITE TEXT Write text on any X,Y position on the screen. |
WillemBraat | 3:f7bce78b04c1 | 67 | ===================================================================== |
WillemBraat | 3:f7bce78b04c1 | 68 | Syntax: $PCDUWTX,<Fsize>,<Fstyle>,<Rcolour>,<Gcolour>,<Bcolour>,<Text><Col>,<Row>*<checksum>CRLF |
WillemBraat | 3:f7bce78b04c1 | 69 | <Fsize> : Font size (F0..F9). Currently F0 and F1 are implemented. |
WillemBraat | 3:f7bce78b04c1 | 70 | <Fstyle> : Font style (S=Standard, B=Bold, I=Italic, U=Underline, N=Negative) |
WillemBraat | 3:f7bce78b04c1 | 71 | < Rcolour > : RED (000‐255) |
WillemBraat | 3:f7bce78b04c1 | 72 | < Gcolour > : GREEN (000‐255) |
WillemBraat | 3:f7bce78b04c1 | 73 | < Bcolour > : BLUE (000‐255) |
WillemBraat | 3:f7bce78b04c1 | 74 | <Text> : Any printable ASCII character except the * character as this is used as the text field delimiter. |
WillemBraat | 3:f7bce78b04c1 | 75 | Maximum length is 24 characters, minimum length is 1 character for font F0. |
WillemBraat | 3:f7bce78b04c1 | 76 | Maximum length is 48 characters, minumum length is 1 character for font F1. |
WillemBraat | 3:f7bce78b04c1 | 77 | <Col> : Horizontal position of the first character (1..24) |
WillemBraat | 3:f7bce78b04c1 | 78 | <Row> : Vertical position of the line (1..14) |
WillemBraat | 3:f7bce78b04c1 | 79 | |
WillemBraat | 3:f7bce78b04c1 | 80 | $PCDUETX ETX=ERASE TEXT |
WillemBraat | 3:f7bce78b04c1 | 81 | ============================================================= |
WillemBraat | 3:f7bce78b04c1 | 82 | Syntax: $PCDUETX, <Col>,<Row>,<n>*<checksum>CRLF |
WillemBraat | 3:f7bce78b04c1 | 83 | <Col> : Horizontal position of the first character (1..24 for font F0 or 1..48 for font F1) |
WillemBraat | 3:f7bce78b04c1 | 84 | <Row> : Vertical position of the line (1‐14) |
WillemBraat | 3:f7bce78b04c1 | 85 | <n> : number of characters to be erased (1..24 for font F0 or 1..48 for font F1) |
WillemBraat | 3:f7bce78b04c1 | 86 | |
WillemBraat | 3:f7bce78b04c1 | 87 | $PCDUKTX Write text attached to a Select Key |
WillemBraat | 3:f7bce78b04c1 | 88 | =========================================================== |
WillemBraat | 3:f7bce78b04c1 | 89 | Syntax: $PCDUKTX,<KeyID>,<Texttype>,<Fsize>,<Fstyle>,<Rcolour>,<Gcolour>,<Bcolour>,<Text>*< checksum>CRLF |
WillemBraat | 3:f7bce78b04c1 | 90 | <KeyID> : Numbering is 00 – 49 for left keys and 50 – 99 for right keys. Top keys are 00 and 50. |
WillemBraat | 3:f7bce78b04c1 | 91 | <Texttype> : M or S, meaning Main text or Subtext. |
WillemBraat | 3:f7bce78b04c1 | 92 | <Fsize> : Font size (F0..F9). Currently F0 and F1 are implemented. |
WillemBraat | 3:f7bce78b04c1 | 93 | <Fstyle> : Font style (S=Standard, B=Bold, I=Italic, U=Underline, N=Negative) |
WillemBraat | 3:f7bce78b04c1 | 94 | < Rcolour > : RED (000‐255) |
WillemBraat | 3:f7bce78b04c1 | 95 | < Gcolour > : GREEN (000‐255) |
WillemBraat | 3:f7bce78b04c1 | 96 | < Bcolour > : BLUE (000‐255) |
WillemBraat | 3:f7bce78b04c1 | 97 | <Text> : Any printable ASCII character within the character set.except the * character as this is used as the text field delimiter. |
WillemBraat | 3:f7bce78b04c1 | 98 | Maximum length is 24 characters, minimum length is 1 character for font F0 |
WillemBraat | 3:f7bce78b04c1 | 99 | Maximum length is 48 characters, minumum length is 1 character for font F1. |
WillemBraat | 3:f7bce78b04c1 | 100 | */ |
WillemBraat | 3:f7bce78b04c1 | 101 | |
WillemBraat | 3:f7bce78b04c1 | 102 | |
WillemBraat | 3:f7bce78b04c1 | 103 | DigitalOut VGA_SOURCE( p7 ); // control line for video switch between internal and external video |
WillemBraat | 3:f7bce78b04c1 | 104 | DigitalOut VGA_SELECT( p8 ); // select or deselect video switch |
WillemBraat | 3:f7bce78b04c1 | 105 | |
WillemBraat | 3:f7bce78b04c1 | 106 | //Control lines for VGA driver board |
WillemBraat | 3:f7bce78b04c1 | 107 | TFT_4DGL display(p13,p14,p15); // serial tx, serial rx, reset pin |
WillemBraat | 3:f7bce78b04c1 | 108 | |
WillemBraat | 3:f7bce78b04c1 | 109 | //Character & String functions |
WillemBraat | 3:f7bce78b04c1 | 110 | |
WillemBraat | 3:f7bce78b04c1 | 111 | char* str2char( string cString ) //convert a string to a character array |
WillemBraat | 3:f7bce78b04c1 | 112 | { |
WillemBraat | 3:f7bce78b04c1 | 113 | int nStrLen=cString.size(); |
WillemBraat | 3:f7bce78b04c1 | 114 | std::string cInput( cString ); |
WillemBraat | 3:f7bce78b04c1 | 115 | char* cText = new char[nStrLen+1]; |
WillemBraat | 3:f7bce78b04c1 | 116 | strncpy(cText, cInput.c_str(), nStrLen); |
WillemBraat | 3:f7bce78b04c1 | 117 | cText[nStrLen+1] = '\0'; |
WillemBraat | 3:f7bce78b04c1 | 118 | return cText; |
WillemBraat | 3:f7bce78b04c1 | 119 | } |
WillemBraat | 3:f7bce78b04c1 | 120 | |
WillemBraat | 3:f7bce78b04c1 | 121 | int centertext( string cString, int nChars, int nCharWidth ) |
WillemBraat | 3:f7bce78b04c1 | 122 | //calculates the startposition on the screen to center the text |
WillemBraat | 3:f7bce78b04c1 | 123 | //needs the actual string (cString), screenwidth in characters (nChars) and the character width (nCharWidth) |
WillemBraat | 3:f7bce78b04c1 | 124 | { |
WillemBraat | 3:f7bce78b04c1 | 125 | int nStart; |
WillemBraat | 3:f7bce78b04c1 | 126 | nStart = nCharWidth*( nChars/2-( cString.size()/2 )); |
WillemBraat | 3:f7bce78b04c1 | 127 | return nStart; |
WillemBraat | 3:f7bce78b04c1 | 128 | } |
WillemBraat | 3:f7bce78b04c1 | 129 | |
WillemBraat | 3:f7bce78b04c1 | 130 | int righttext( string cString, int nChars, int nCharWidth ) |
WillemBraat | 3:f7bce78b04c1 | 131 | //calculates the startposition on the screen to right-align the text |
WillemBraat | 3:f7bce78b04c1 | 132 | //needs the actual string (cString), screenwidth in characters (nChars) and the character width (nCharWidth) |
WillemBraat | 3:f7bce78b04c1 | 133 | { |
WillemBraat | 3:f7bce78b04c1 | 134 | int nStart; |
WillemBraat | 3:f7bce78b04c1 | 135 | nStart = nCharWidth*( nChars - cString.size()); |
WillemBraat | 3:f7bce78b04c1 | 136 | return nStart; |
WillemBraat | 3:f7bce78b04c1 | 137 | } |
WillemBraat | 3:f7bce78b04c1 | 138 | |
WillemBraat | 7:779c5b8d3b14 | 139 | int nFontSize( int nfont_number ) |
WillemBraat | 7:779c5b8d3b14 | 140 | { |
WillemBraat | 7:779c5b8d3b14 | 141 | int nFont = 0; |
WillemBraat | 7:779c5b8d3b14 | 142 | switch ( nfont_number ) |
WillemBraat | 7:779c5b8d3b14 | 143 | { |
WillemBraat | 7:779c5b8d3b14 | 144 | case 0: |
WillemBraat | 7:779c5b8d3b14 | 145 | { |
WillemBraat | 7:779c5b8d3b14 | 146 | nFont = FONT_12X34; |
WillemBraat | 7:779c5b8d3b14 | 147 | break; |
WillemBraat | 7:779c5b8d3b14 | 148 | } |
WillemBraat | 7:779c5b8d3b14 | 149 | case 1: |
WillemBraat | 7:779c5b8d3b14 | 150 | { |
WillemBraat | 7:779c5b8d3b14 | 151 | nFont = FONT_24X34; |
WillemBraat | 7:779c5b8d3b14 | 152 | break; |
WillemBraat | 7:779c5b8d3b14 | 153 | } |
WillemBraat | 7:779c5b8d3b14 | 154 | } |
WillemBraat | 7:779c5b8d3b14 | 155 | return ( nFont ); |
WillemBraat | 7:779c5b8d3b14 | 156 | } |
WillemBraat | 7:779c5b8d3b14 | 157 | |
WillemBraat | 7:779c5b8d3b14 | 158 | int nFontWidth (int nfont_number ) |
WillemBraat | 7:779c5b8d3b14 | 159 | { |
WillemBraat | 7:779c5b8d3b14 | 160 | int nFont = 12; |
WillemBraat | 7:779c5b8d3b14 | 161 | switch ( nfont_number ) |
WillemBraat | 7:779c5b8d3b14 | 162 | { |
WillemBraat | 7:779c5b8d3b14 | 163 | case 0: |
WillemBraat | 7:779c5b8d3b14 | 164 | { |
WillemBraat | 7:779c5b8d3b14 | 165 | nFont = 12; |
WillemBraat | 7:779c5b8d3b14 | 166 | break; |
WillemBraat | 7:779c5b8d3b14 | 167 | } |
WillemBraat | 7:779c5b8d3b14 | 168 | case 1: |
WillemBraat | 7:779c5b8d3b14 | 169 | { |
WillemBraat | 7:779c5b8d3b14 | 170 | nFont = 24; |
WillemBraat | 7:779c5b8d3b14 | 171 | break; |
WillemBraat | 7:779c5b8d3b14 | 172 | } |
WillemBraat | 7:779c5b8d3b14 | 173 | } |
WillemBraat | 7:779c5b8d3b14 | 174 | return ( nFont ); |
WillemBraat | 7:779c5b8d3b14 | 175 | } |
WillemBraat | 7:779c5b8d3b14 | 176 | |
WillemBraat | 7:779c5b8d3b14 | 177 | int cRGB( int cRED, int cGREEN, int cBLUE ) |
WillemBraat | 7:779c5b8d3b14 | 178 | { |
WillemBraat | 7:779c5b8d3b14 | 179 | //assemble separate colors into 1 integer value as 0xRRGGBB |
WillemBraat | 7:779c5b8d3b14 | 180 | //Display driver requires this format |
WillemBraat | 7:779c5b8d3b14 | 181 | int RGB = cBLUE + 8*cGREEN + 64*cRED; |
WillemBraat | 7:779c5b8d3b14 | 182 | return ( RGB ); |
WillemBraat | 7:779c5b8d3b14 | 183 | } |
WillemBraat | 7:779c5b8d3b14 | 184 | |
WillemBraat | 7:779c5b8d3b14 | 185 | int LeftOrRight( int nTextLine, string cString, int nChars, int nCharWidth ) |
WillemBraat | 7:779c5b8d3b14 | 186 | { |
WillemBraat | 7:779c5b8d3b14 | 187 | //decide to print data left aligned or right aligned |
WillemBraat | 7:779c5b8d3b14 | 188 | //00 - 49 is left side of screen |
WillemBraat | 7:779c5b8d3b14 | 189 | //50 - 99 is right side of screen |
WillemBraat | 7:779c5b8d3b14 | 190 | int nHorPos = 0; |
WillemBraat | 7:779c5b8d3b14 | 191 | // nChars is number of characters on this line (24 or 48) |
WillemBraat | 7:779c5b8d3b14 | 192 | // nCharWidth is the character width in pixels |
WillemBraat | 7:779c5b8d3b14 | 193 | |
WillemBraat | 7:779c5b8d3b14 | 194 | if ( nTextLine < 50 ) |
WillemBraat | 7:779c5b8d3b14 | 195 | // Left side adjust |
WillemBraat | 7:779c5b8d3b14 | 196 | { |
WillemBraat | 7:779c5b8d3b14 | 197 | nHorPos = 0; |
WillemBraat | 7:779c5b8d3b14 | 198 | } |
WillemBraat | 7:779c5b8d3b14 | 199 | else |
WillemBraat | 7:779c5b8d3b14 | 200 | // Right side adjust |
WillemBraat | 7:779c5b8d3b14 | 201 | { |
WillemBraat | 7:779c5b8d3b14 | 202 | nHorPos = righttext( cString, nChars, nCharWidth ); |
WillemBraat | 7:779c5b8d3b14 | 203 | } |
WillemBraat | 7:779c5b8d3b14 | 204 | return ( nHorPos ); |
WillemBraat | 7:779c5b8d3b14 | 205 | } |
WillemBraat | 7:779c5b8d3b14 | 206 | |
WillemBraat | 7:779c5b8d3b14 | 207 | int nLine2Pixel( int nLine ) |
WillemBraat | 7:779c5b8d3b14 | 208 | { |
WillemBraat | 7:779c5b8d3b14 | 209 | //calculate vertical pixelposition from linenumber |
WillemBraat | 7:779c5b8d3b14 | 210 | int nPixel = 0; |
WillemBraat | 7:779c5b8d3b14 | 211 | switch ( nLine ) |
WillemBraat | 7:779c5b8d3b14 | 212 | { |
WillemBraat | 7:779c5b8d3b14 | 213 | case 1: |
WillemBraat | 7:779c5b8d3b14 | 214 | { |
WillemBraat | 7:779c5b8d3b14 | 215 | nPixel = LINE1; |
WillemBraat | 7:779c5b8d3b14 | 216 | break; |
WillemBraat | 7:779c5b8d3b14 | 217 | } |
WillemBraat | 7:779c5b8d3b14 | 218 | case 2: |
WillemBraat | 7:779c5b8d3b14 | 219 | { |
WillemBraat | 7:779c5b8d3b14 | 220 | nPixel = LINE2; |
WillemBraat | 7:779c5b8d3b14 | 221 | break; |
WillemBraat | 7:779c5b8d3b14 | 222 | } |
WillemBraat | 7:779c5b8d3b14 | 223 | |
WillemBraat | 7:779c5b8d3b14 | 224 | case 3: |
WillemBraat | 7:779c5b8d3b14 | 225 | { |
WillemBraat | 7:779c5b8d3b14 | 226 | nPixel = LINE3; |
WillemBraat | 7:779c5b8d3b14 | 227 | break; |
WillemBraat | 7:779c5b8d3b14 | 228 | } |
WillemBraat | 7:779c5b8d3b14 | 229 | |
WillemBraat | 7:779c5b8d3b14 | 230 | case 4: |
WillemBraat | 7:779c5b8d3b14 | 231 | { |
WillemBraat | 7:779c5b8d3b14 | 232 | nPixel = LINE4; |
WillemBraat | 7:779c5b8d3b14 | 233 | break; |
WillemBraat | 7:779c5b8d3b14 | 234 | } |
WillemBraat | 7:779c5b8d3b14 | 235 | |
WillemBraat | 7:779c5b8d3b14 | 236 | case 5: |
WillemBraat | 7:779c5b8d3b14 | 237 | { |
WillemBraat | 7:779c5b8d3b14 | 238 | nPixel = LINE5; |
WillemBraat | 7:779c5b8d3b14 | 239 | break; |
WillemBraat | 7:779c5b8d3b14 | 240 | } |
WillemBraat | 7:779c5b8d3b14 | 241 | |
WillemBraat | 7:779c5b8d3b14 | 242 | case 6: |
WillemBraat | 7:779c5b8d3b14 | 243 | { |
WillemBraat | 7:779c5b8d3b14 | 244 | nPixel = LINE6; |
WillemBraat | 7:779c5b8d3b14 | 245 | break; |
WillemBraat | 7:779c5b8d3b14 | 246 | } |
WillemBraat | 7:779c5b8d3b14 | 247 | |
WillemBraat | 7:779c5b8d3b14 | 248 | case 7: |
WillemBraat | 7:779c5b8d3b14 | 249 | { |
WillemBraat | 7:779c5b8d3b14 | 250 | nPixel = LINE7; |
WillemBraat | 7:779c5b8d3b14 | 251 | break; |
WillemBraat | 7:779c5b8d3b14 | 252 | } |
WillemBraat | 7:779c5b8d3b14 | 253 | |
WillemBraat | 7:779c5b8d3b14 | 254 | case 8: |
WillemBraat | 7:779c5b8d3b14 | 255 | { |
WillemBraat | 7:779c5b8d3b14 | 256 | nPixel = LINE8; |
WillemBraat | 7:779c5b8d3b14 | 257 | break; |
WillemBraat | 7:779c5b8d3b14 | 258 | } |
WillemBraat | 7:779c5b8d3b14 | 259 | |
WillemBraat | 7:779c5b8d3b14 | 260 | case 9: |
WillemBraat | 7:779c5b8d3b14 | 261 | { |
WillemBraat | 7:779c5b8d3b14 | 262 | nPixel = LINE9; |
WillemBraat | 7:779c5b8d3b14 | 263 | break; |
WillemBraat | 7:779c5b8d3b14 | 264 | } |
WillemBraat | 7:779c5b8d3b14 | 265 | |
WillemBraat | 7:779c5b8d3b14 | 266 | case 10: |
WillemBraat | 7:779c5b8d3b14 | 267 | { |
WillemBraat | 7:779c5b8d3b14 | 268 | nPixel = LINE10; |
WillemBraat | 7:779c5b8d3b14 | 269 | break; |
WillemBraat | 7:779c5b8d3b14 | 270 | } |
WillemBraat | 7:779c5b8d3b14 | 271 | |
WillemBraat | 7:779c5b8d3b14 | 272 | case 11: |
WillemBraat | 7:779c5b8d3b14 | 273 | { |
WillemBraat | 7:779c5b8d3b14 | 274 | nPixel = LINE11; |
WillemBraat | 7:779c5b8d3b14 | 275 | break; |
WillemBraat | 7:779c5b8d3b14 | 276 | } |
WillemBraat | 7:779c5b8d3b14 | 277 | |
WillemBraat | 7:779c5b8d3b14 | 278 | case 12: |
WillemBraat | 7:779c5b8d3b14 | 279 | { |
WillemBraat | 7:779c5b8d3b14 | 280 | nPixel = LINE12; |
WillemBraat | 7:779c5b8d3b14 | 281 | break; |
WillemBraat | 7:779c5b8d3b14 | 282 | } |
WillemBraat | 7:779c5b8d3b14 | 283 | |
WillemBraat | 7:779c5b8d3b14 | 284 | case 13: |
WillemBraat | 7:779c5b8d3b14 | 285 | { |
WillemBraat | 7:779c5b8d3b14 | 286 | nPixel = LINE13; |
WillemBraat | 7:779c5b8d3b14 | 287 | break; |
WillemBraat | 7:779c5b8d3b14 | 288 | } |
WillemBraat | 7:779c5b8d3b14 | 289 | |
WillemBraat | 7:779c5b8d3b14 | 290 | case 14: |
WillemBraat | 7:779c5b8d3b14 | 291 | { |
WillemBraat | 7:779c5b8d3b14 | 292 | nPixel = LINE14; |
WillemBraat | 7:779c5b8d3b14 | 293 | break; |
WillemBraat | 7:779c5b8d3b14 | 294 | } |
WillemBraat | 7:779c5b8d3b14 | 295 | |
WillemBraat | 7:779c5b8d3b14 | 296 | } |
WillemBraat | 7:779c5b8d3b14 | 297 | return ( nPixel ) ; |
WillemBraat | 7:779c5b8d3b14 | 298 | } |
WillemBraat | 7:779c5b8d3b14 | 299 | |
WillemBraat | 3:f7bce78b04c1 | 300 | void CDU_StartScreen() |
WillemBraat | 3:f7bce78b04c1 | 301 | { |
WillemBraat | 3:f7bce78b04c1 | 302 | string cTitle1="ENGRAVITY"; |
WillemBraat | 3:f7bce78b04c1 | 303 | string cTitle2="CONTROL & DISPLAY UNIT"; |
WillemBraat | 3:f7bce78b04c1 | 304 | display.cls(); |
WillemBraat | 3:f7bce78b04c1 | 305 | |
WillemBraat | 3:f7bce78b04c1 | 306 | display.graphic_string( str2char( cTitle1 ), centertext( cTitle1, 24, LARGECHAR), LINE6, FONT_24X34, WHITE, 1, 1 ); |
WillemBraat | 7:779c5b8d3b14 | 307 | wait_ms(1000); |
WillemBraat | 3:f7bce78b04c1 | 308 | display.graphic_string( str2char( cTitle2 ), centertext( cTitle2, 24, LARGECHAR), LINE8, FONT_24X34, RED, 1, 1 ); |
WillemBraat | 7:779c5b8d3b14 | 309 | wait_ms(1000); |
WillemBraat | 3:f7bce78b04c1 | 310 | display.graphic_string( str2char( cTitle2 ), centertext( cTitle2, 24, LARGECHAR), LINE8, FONT_24X34, GREEN, 1, 1 ); |
WillemBraat | 7:779c5b8d3b14 | 311 | wait_ms(1000); |
WillemBraat | 3:f7bce78b04c1 | 312 | display.graphic_string( str2char( cTitle2) , centertext( cTitle2, 24, LARGECHAR), LINE8, FONT_24X34, BLUE, 1, 1 ); |
WillemBraat | 7:779c5b8d3b14 | 313 | wait_ms(1000); |
WillemBraat | 3:f7bce78b04c1 | 314 | display.graphic_string( str2char( cTitle2) , centertext( cTitle2, 24, LARGECHAR), LINE8, FONT_24X34, WHITE, 1, 1 ); |
WillemBraat | 7:779c5b8d3b14 | 315 | wait_ms(1000); |
WillemBraat | 3:f7bce78b04c1 | 316 | } |
WillemBraat | 3:f7bce78b04c1 | 317 | |
WillemBraat | 3:f7bce78b04c1 | 318 | void CDU_ScreenAlign() |
WillemBraat | 6:904d00252480 | 319 | //Draw a wireframe for aligning the screen on display with keys |
WillemBraat | 3:f7bce78b04c1 | 320 | { |
WillemBraat | 3:f7bce78b04c1 | 321 | display.cls(); |
WillemBraat | 3:f7bce78b04c1 | 322 | |
WillemBraat | 3:f7bce78b04c1 | 323 | display.pen_size(WIREFRAME); |
WillemBraat | 3:f7bce78b04c1 | 324 | display.rectangle(XMIN,YMIN,XMAX,YMAX, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 325 | display.line(XMIN,LINE2,XMAX,LINE2, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 326 | display.line(XMIN,LINE3,XMAX,LINE3, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 327 | display.line(XMIN,LINE4,XMAX,LINE4, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 328 | display.line(XMIN,LINE5,XMAX,LINE5, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 329 | display.line(XMIN,LINE6,XMAX,LINE6, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 330 | display.line(XMIN,LINE7,XMAX,LINE7, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 331 | display.line(XMIN,LINE8,XMAX,LINE8, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 332 | display.line(XMIN,LINE9,XMAX,LINE9, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 333 | display.line(XMIN,LINE10,XMAX,LINE10, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 334 | display.line(XMIN,LINE11,XMAX,LINE11, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 335 | display.line(XMIN,LINE12,XMAX,LINE12, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 336 | display.line(XMIN,LINE13,XMAX,LINE13, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 337 | display.line(XMIN,LINE14,XMAX,LINE14, WHITE); |
WillemBraat | 3:f7bce78b04c1 | 338 | |
WillemBraat | 6:904d00252480 | 339 | } |
WillemBraat | 6:904d00252480 | 340 | |
WillemBraat | 7:779c5b8d3b14 | 341 | void CDU_TestScreen() |
WillemBraat | 7:779c5b8d3b14 | 342 | { |
WillemBraat | 7:779c5b8d3b14 | 343 | display.display_control(IMAGE_FORMAT, NEW); //set correct image for reading from SD |
WillemBraat | 7:779c5b8d3b14 | 344 | display.cls(); |
WillemBraat | 7:779c5b8d3b14 | 345 | display.showpicture(0x00, 0x00, 0x00, 0x14, 0x00, 0x01, 0xB5); // Testscreen |
WillemBraat | 7:779c5b8d3b14 | 346 | } |
WillemBraat | 6:904d00252480 | 347 | |
WillemBraat | 7:779c5b8d3b14 | 348 | void CDU_LogoScreen() |
WillemBraat | 7:779c5b8d3b14 | 349 | { |
WillemBraat | 7:779c5b8d3b14 | 350 | display.display_control(IMAGE_FORMAT, NEW); //set correct image for reading from SD |
WillemBraat | 7:779c5b8d3b14 | 351 | display.cls(); |
WillemBraat | 7:779c5b8d3b14 | 352 | display.showpicture(0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00); // Engravity logo |
WillemBraat | 7:779c5b8d3b14 | 353 | } |