Modifications in 4DGL library. Added CDU_hw_sw.h for version info. Added pins.h for hardware pin remapping

Dependencies:   4DGL-UC MODSERIAL mbed mbos

Fork of CDU_Mbed_30 by Engravity-CDU

Committer:
WillemBraat
Date:
Fri Oct 10 18:23:36 2014 +0000
Revision:
21:f348e6f0f7d4
Parent:
20:150afde94910
Additional files: CDU_Maintenance.cpp / mbps_def3.h
; Rewrite of main() function for power checks

Who changed what in which revision?

UserRevisionLine numberNew contents of line
LvdK 7:6576a287e563 1 //Display control functions --
LvdK 7:6576a287e563 2 #include "mbed.h"
LvdK 7:6576a287e563 3 #include "TFT_4DGL.h"
LvdK 7:6576a287e563 4 #include "display.h"
LvdK 8:422544d24df3 5 #include <string>
WillemBraat 17:b3545e9d38f7 6 #include "pins.h"
WillemBraat 18:fd672797458c 7
LvdK 7:6576a287e563 8 using namespace std;
WillemBraat 17:b3545e9d38f7 9
WillemBraat 19:9d8032cb0f12 10 extern string CDU_Hardware();
WillemBraat 19:9d8032cb0f12 11 extern string CDU_Firmware();
WillemBraat 19:9d8032cb0f12 12 extern string CDU_Compile();
WillemBraat 19:9d8032cb0f12 13 extern string CDU_MAC();
WillemBraat 19:9d8032cb0f12 14 extern string CDU_IP();
WillemBraat 19:9d8032cb0f12 15
WillemBraat 17:b3545e9d38f7 16 DigitalOut VGA_SOURCE( VGA_SOURCE_SELECT ); //control line for video switch between INT and EXT video
WillemBraat 17:b3545e9d38f7 17 DigitalOut VGA_SELECT( VGA_ON_OFF ); //control line to select/deselect video switch
WillemBraat 20:150afde94910 18
LvdK 7:6576a287e563 19 /*
LvdK 7:6576a287e563 20 =====================================================
LvdK 7:6576a287e563 21 SGC (Serial Graphics Controller) PLATFORM OUTPUT FILE
LvdK 7:6576a287e563 22 =====================================================
LvdK 7:6576a287e563 23 *******************************************************
LvdK 7:6576a287e563 24 * Must set 'New image format' for usage on Picaso SGC *
LvdK 7:6576a287e563 25 * Data: *
LvdK 7:6576a287e563 26 * 0x59, 0x06, 0x00 *
LvdK 7:6576a287e563 27 * 4DSL command: *
LvdK 7:6576a287e563 28 * Control(6,0) *
LvdK 7:6576a287e563 29 *******************************************************
LvdK 7:6576a287e563 30 ---------------------------------------------------------------------------------------
LvdK 7:6576a287e563 31 File "logo_flyengravity.jpg" (logo_flyengravity.jpg)
LvdK 7:6576a287e563 32 Sector Address 0x000000
LvdK 7:6576a287e563 33 X = 0 Y = 135 Width = 640 Height = 215 Bits = 16
LvdK 7:6576a287e563 34 Display Image from Memory Card (Serial Command):
LvdK 7:6576a287e563 35 Syntax:
LvdK 7:6576a287e563 36 @, I, x, y, SectorAdd(hi), SectorAdd(mid), SectorAdd(lo)
LvdK 7:6576a287e563 37 Picaso Data:
LvdK 7:6576a287e563 38 0x40, 0x49, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00
LvdK 7:6576a287e563 39 4DSL command:
LvdK 7:6576a287e563 40 NewUSDImage(0, 135, 0x000000)
WillemBraat 20:150afde94910 41
LvdK 7:6576a287e563 42 ---------------------------------------------------------------------------------------
LvdK 7:6576a287e563 43 File "Testscreen.png" (Testscreen.png)
LvdK 7:6576a287e563 44 Sector Address 0x00021A
LvdK 7:6576a287e563 45 X = 0 Y = 0 Width = 640 Height = 480 Bits = 16
LvdK 7:6576a287e563 46 Display Image from Memory Card (Serial Command):
LvdK 7:6576a287e563 47 Syntax:
LvdK 7:6576a287e563 48 @, I, x, y, SectorAdd(hi), SectorAdd(mid), SectorAdd(lo)
LvdK 7:6576a287e563 49 Picaso Data:
LvdK 7:6576a287e563 50 0x40, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1A
LvdK 7:6576a287e563 51 4DSL command:
LvdK 7:6576a287e563 52 NewUSDImage(0, 0, 0x00021A)
LvdK 7:6576a287e563 53 */
WillemBraat 20:150afde94910 54
WillemBraat 20:150afde94910 55
LvdK 7:6576a287e563 56 //Control lines for VGA driver board
WillemBraat 17:b3545e9d38f7 57 TFT_4DGL display(VGA_TX,VGA_RX,VGA_RESET); // serial tx, serial rx, reset pin
WillemBraat 17:b3545e9d38f7 58
LvdK 7:6576a287e563 59 //Character & String functions
LvdK 7:6576a287e563 60 char* str2char( string cString ) //convert a string to a character array
LvdK 7:6576a287e563 61 {
LvdK 7:6576a287e563 62 int nStrLen=cString.size();
LvdK 7:6576a287e563 63 std::string cInput( cString );
LvdK 7:6576a287e563 64 char* cText = new char[nStrLen+1];
LvdK 7:6576a287e563 65 strncpy(cText, cInput.c_str(), nStrLen);
LvdK 7:6576a287e563 66 cText[nStrLen] = '\0';
LvdK 7:6576a287e563 67 return cText;
LvdK 7:6576a287e563 68 }
LvdK 8:422544d24df3 69
LvdK 7:6576a287e563 70 int centertext( string cString, int nChars, int nCharWidth )
LvdK 7:6576a287e563 71 //calculates the startposition on the screen to center the text
LvdK 7:6576a287e563 72 //needs the actual string (cString), screenwidth in characters (nChars) and the character width (nCharWidth)
LvdK 7:6576a287e563 73 {
LvdK 7:6576a287e563 74 int nStart;
LvdK 7:6576a287e563 75 nStart = nCharWidth*( nChars/2-( cString.size()/2 ));
LvdK 7:6576a287e563 76 return nStart;
LvdK 7:6576a287e563 77 }
LvdK 8:422544d24df3 78
LvdK 7:6576a287e563 79 int righttext( string cString, int nChars, int nCharWidth )
LvdK 7:6576a287e563 80 //calculates the startposition on the screen to right-align the text
LvdK 7:6576a287e563 81 //needs the actual string (cString), screenwidth in characters (nChars) and the character width (nCharWidth)
LvdK 7:6576a287e563 82 {
LvdK 7:6576a287e563 83 int nStart;
LvdK 7:6576a287e563 84 nStart = nCharWidth*( nChars - cString.size());
LvdK 7:6576a287e563 85 return nStart;
LvdK 7:6576a287e563 86 }
WillemBraat 13:d60c746c097c 87
LvdK 7:6576a287e563 88 int nFontSize( int nfont_number )
LvdK 7:6576a287e563 89 {
LvdK 8:422544d24df3 90 int nFontWidth = 24;
LvdK 7:6576a287e563 91 switch ( nfont_number )
LvdK 7:6576a287e563 92 {
LvdK 7:6576a287e563 93 case 0:
LvdK 7:6576a287e563 94 {
LvdK 8:422544d24df3 95 nFontWidth = SMALLCHAR;
LvdK 8:422544d24df3 96 //nFontWidth = FONT_12X34;
LvdK 7:6576a287e563 97 break;
LvdK 7:6576a287e563 98 }
LvdK 7:6576a287e563 99 case 1:
LvdK 7:6576a287e563 100 {
LvdK 8:422544d24df3 101 nFontWidth = LARGECHAR;
LvdK 8:422544d24df3 102 //nFontWidth = FONT_24X34;
LvdK 7:6576a287e563 103 break;
LvdK 7:6576a287e563 104 }
LvdK 7:6576a287e563 105 }
LvdK 8:422544d24df3 106 return ( nFontWidth );
LvdK 8:422544d24df3 107 }
LvdK 7:6576a287e563 108
LvdK 7:6576a287e563 109 int nFontWidth (int nfont_number )
LvdK 7:6576a287e563 110 {
LvdK 7:6576a287e563 111 int nFont = 12;
LvdK 7:6576a287e563 112 switch ( nfont_number )
LvdK 7:6576a287e563 113 {
LvdK 7:6576a287e563 114 case 0:
LvdK 7:6576a287e563 115 {
LvdK 7:6576a287e563 116 nFont = 12;
LvdK 7:6576a287e563 117 break;
LvdK 7:6576a287e563 118 }
LvdK 7:6576a287e563 119 case 1:
LvdK 7:6576a287e563 120 {
LvdK 7:6576a287e563 121 nFont = 24;
LvdK 7:6576a287e563 122 break;
LvdK 7:6576a287e563 123 }
LvdK 7:6576a287e563 124 }
LvdK 7:6576a287e563 125 return ( nFont );
LvdK 8:422544d24df3 126 }
LvdK 7:6576a287e563 127
LvdK 7:6576a287e563 128 unsigned int cRGB( char cRED, char cGREEN, char cBLUE )
LvdK 7:6576a287e563 129 {
LvdK 7:6576a287e563 130 //assemble separate colors into 1 integer value as 0xRRGGBB
LvdK 7:6576a287e563 131 //Display driver requires this format
LvdK 7:6576a287e563 132 unsigned int RGB = cBLUE + 256*cGREEN + 65536*cRED;
LvdK 7:6576a287e563 133 return ( RGB );
LvdK 8:422544d24df3 134 }
LvdK 7:6576a287e563 135
LvdK 7:6576a287e563 136 int LeftOrRight( int nTextLine, string cString, int nChars, int nCharWidth )
LvdK 7:6576a287e563 137 {
LvdK 8:422544d24df3 138 // nChars is the maximum numbers of characters on the line
LvdK 8:422544d24df3 139 // nCharWidth is the characterwidth in pixels
LvdK 7:6576a287e563 140 //decide to print data left aligned or right aligned
LvdK 7:6576a287e563 141 //00 - 49 is left side of screen
LvdK 7:6576a287e563 142 //50 - 99 is right side of screen
LvdK 8:422544d24df3 143 int nHorPos = 0;
LvdK 7:6576a287e563 144 // nChars is number of characters on this line (24 or 48)
LvdK 7:6576a287e563 145 // nCharWidth is the character width in pixels
LvdK 8:422544d24df3 146
LvdK 7:6576a287e563 147 if ( nTextLine < 50 )
LvdK 7:6576a287e563 148 // Left side adjust
LvdK 7:6576a287e563 149 {
LvdK 7:6576a287e563 150 nHorPos = 0;
LvdK 7:6576a287e563 151 }
LvdK 7:6576a287e563 152 else
LvdK 7:6576a287e563 153 // Right side adjust
LvdK 7:6576a287e563 154 {
LvdK 7:6576a287e563 155 nHorPos = righttext( cString, nChars, nCharWidth );
LvdK 7:6576a287e563 156 }
LvdK 7:6576a287e563 157 return ( nHorPos );
LvdK 7:6576a287e563 158 }
WillemBraat 18:fd672797458c 159
LvdK 7:6576a287e563 160 int nLine2Pixel( int nLine )
LvdK 7:6576a287e563 161 {
LvdK 7:6576a287e563 162 //calculate vertical pixelposition from linenumber
LvdK 7:6576a287e563 163 int nPixel = 0;
LvdK 7:6576a287e563 164 switch ( nLine )
LvdK 7:6576a287e563 165 {
LvdK 7:6576a287e563 166 case 1:
LvdK 7:6576a287e563 167 {
LvdK 7:6576a287e563 168 nPixel = LINE1;
LvdK 7:6576a287e563 169 break;
LvdK 7:6576a287e563 170 }
LvdK 7:6576a287e563 171 case 2:
LvdK 7:6576a287e563 172 {
LvdK 7:6576a287e563 173 nPixel = LINE2;
LvdK 7:6576a287e563 174 break;
LvdK 7:6576a287e563 175 }
LvdK 8:422544d24df3 176
LvdK 7:6576a287e563 177 case 3:
LvdK 7:6576a287e563 178 {
LvdK 7:6576a287e563 179 nPixel = LINE3;
LvdK 7:6576a287e563 180 break;
LvdK 7:6576a287e563 181 }
LvdK 8:422544d24df3 182
LvdK 7:6576a287e563 183 case 4:
LvdK 7:6576a287e563 184 {
LvdK 7:6576a287e563 185 nPixel = LINE4;
LvdK 7:6576a287e563 186 break;
LvdK 7:6576a287e563 187 }
LvdK 8:422544d24df3 188
LvdK 7:6576a287e563 189 case 5:
LvdK 7:6576a287e563 190 {
LvdK 7:6576a287e563 191 nPixel = LINE5;
LvdK 7:6576a287e563 192 break;
LvdK 7:6576a287e563 193 }
LvdK 8:422544d24df3 194
LvdK 7:6576a287e563 195 case 6:
LvdK 7:6576a287e563 196 {
LvdK 7:6576a287e563 197 nPixel = LINE6;
LvdK 7:6576a287e563 198 break;
LvdK 7:6576a287e563 199 }
LvdK 8:422544d24df3 200
LvdK 7:6576a287e563 201 case 7:
LvdK 7:6576a287e563 202 {
LvdK 7:6576a287e563 203 nPixel = LINE7;
LvdK 7:6576a287e563 204 break;
LvdK 7:6576a287e563 205 }
LvdK 8:422544d24df3 206
LvdK 7:6576a287e563 207 case 8:
LvdK 7:6576a287e563 208 {
LvdK 7:6576a287e563 209 nPixel = LINE8;
LvdK 7:6576a287e563 210 break;
LvdK 7:6576a287e563 211 }
LvdK 8:422544d24df3 212
LvdK 7:6576a287e563 213 case 9:
LvdK 7:6576a287e563 214 {
LvdK 7:6576a287e563 215 nPixel = LINE9;
LvdK 7:6576a287e563 216 break;
LvdK 7:6576a287e563 217 }
LvdK 8:422544d24df3 218
LvdK 7:6576a287e563 219 case 10:
LvdK 7:6576a287e563 220 {
LvdK 7:6576a287e563 221 nPixel = LINE10;
LvdK 7:6576a287e563 222 break;
LvdK 7:6576a287e563 223 }
LvdK 8:422544d24df3 224
LvdK 7:6576a287e563 225 case 11:
LvdK 7:6576a287e563 226 {
LvdK 7:6576a287e563 227 nPixel = LINE11;
LvdK 7:6576a287e563 228 break;
LvdK 7:6576a287e563 229 }
LvdK 8:422544d24df3 230
LvdK 7:6576a287e563 231 case 12:
LvdK 7:6576a287e563 232 {
LvdK 7:6576a287e563 233 nPixel = LINE12;
LvdK 7:6576a287e563 234 break;
LvdK 7:6576a287e563 235 }
LvdK 8:422544d24df3 236
LvdK 7:6576a287e563 237 case 13:
LvdK 7:6576a287e563 238 {
LvdK 7:6576a287e563 239 nPixel = LINE13;
LvdK 7:6576a287e563 240 break;
LvdK 7:6576a287e563 241 }
LvdK 8:422544d24df3 242
LvdK 7:6576a287e563 243 case 14:
LvdK 7:6576a287e563 244 {
LvdK 7:6576a287e563 245 nPixel = LINE14;
LvdK 7:6576a287e563 246 break;
LvdK 7:6576a287e563 247 }
LvdK 8:422544d24df3 248
LvdK 7:6576a287e563 249 }
LvdK 7:6576a287e563 250 return ( nPixel ) ;
LvdK 7:6576a287e563 251 }
WillemBraat 18:fd672797458c 252
LvdK 7:6576a287e563 253 void VGA_SIGNAL( int Source, int On_Off)
LvdK 7:6576a287e563 254 {
LvdK 7:6576a287e563 255 VGA_SOURCE = Source;
LvdK 7:6576a287e563 256 VGA_SELECT = On_Off;
LvdK 7:6576a287e563 257 }
WillemBraat 18:fd672797458c 258
LvdK 7:6576a287e563 259 void CDU_InitDisplay()
LvdK 7:6576a287e563 260 {
LvdK 7:6576a287e563 261 display.baudrate( 9600 ); //init uVGAIII card
WillemBraat 20:150afde94910 262 VGA_SIGNAL( VGA_INT, VGA_ON ); //select INTERNAL video and set VGA switch ON
WillemBraat 20:150afde94910 263 }
WillemBraat 20:150afde94910 264
WillemBraat 20:150afde94910 265
WillemBraat 20:150afde94910 266 void CDU_TVScreen()
WillemBraat 20:150afde94910 267 {
WillemBraat 20:150afde94910 268 display.display_control(IMAGE_FORMAT, NEW); //set correct image for reading from SD
WillemBraat 20:150afde94910 269 display.cls();
WillemBraat 20:150afde94910 270 display.showpicture( 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xCD ); // TVscreen
WillemBraat 20:150afde94910 271 }
WillemBraat 20:150afde94910 272
WillemBraat 20:150afde94910 273
WillemBraat 20:150afde94910 274 void CDU_LogoScreen()
WillemBraat 20:150afde94910 275 {
WillemBraat 21:f348e6f0f7d4 276 display.cls();
WillemBraat 20:150afde94910 277 display.display_control(IMAGE_FORMAT, NEW); //set correct image for reading from SD
WillemBraat 20:150afde94910 278 display.showpicture( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); // Engravity logo
LvdK 7:6576a287e563 279 }
WillemBraat 18:fd672797458c 280
WillemBraat 18:fd672797458c 281
LvdK 7:6576a287e563 282 void CDU_StartScreen()
LvdK 8:422544d24df3 283 {
LvdK 7:6576a287e563 284 string cTitle1="ENGRAVITY";
LvdK 7:6576a287e563 285 string cTitle2="CONTROL & DISPLAY UNIT";
WillemBraat 18:fd672797458c 286
LvdK 8:422544d24df3 287 display.cls();
LvdK 7:6576a287e563 288
WillemBraat 21:f348e6f0f7d4 289 display.graphic_string( str2char( cTitle1 ), centertext( cTitle1, 24, LARGECHAR), LINE6, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 290 wait_ms(100);
WillemBraat 21:f348e6f0f7d4 291 display.graphic_string( str2char( cTitle2 ), centertext( cTitle2, 24, LARGECHAR), LINE8, FONT_24X34, RED, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 292 wait_ms(100);
WillemBraat 21:f348e6f0f7d4 293 display.graphic_string( str2char( cTitle2 ), centertext( cTitle2, 24, LARGECHAR), LINE8, FONT_24X34, GREEN, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 294 wait_ms(100);
WillemBraat 21:f348e6f0f7d4 295 display.graphic_string( str2char( cTitle2) , centertext( cTitle2, 24, LARGECHAR), LINE8, FONT_24X34, BLUE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 296 wait_ms(100);
WillemBraat 18:fd672797458c 297
WillemBraat 18:fd672797458c 298 display.cls();
WillemBraat 19:9d8032cb0f12 299
WillemBraat 19:9d8032cb0f12 300 //Hardware & Firmware information
WillemBraat 21:f348e6f0f7d4 301 display.graphic_string( str2char( CDU_Hardware() ), centertext( CDU_Hardware(), 48, SMALLCHAR), LINE6, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 302 display.graphic_string( str2char( CDU_Firmware() ), centertext( CDU_Firmware(), 48, SMALLCHAR), LINE7, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 303 display.graphic_string( str2char( CDU_Compile() ) , centertext( CDU_Compile() , 48, SMALLCHAR), LINE8, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 304 display.graphic_string( str2char( CDU_MAC() ) , centertext( CDU_MAC() , 48, SMALLCHAR), LINE10, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 305 display.graphic_string( str2char( CDU_IP() ) , centertext( CDU_IP() , 48, SMALLCHAR), LINE11, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 18:fd672797458c 306 wait_ms(5000);
LvdK 8:422544d24df3 307 }
WillemBraat 18:fd672797458c 308
LvdK 7:6576a287e563 309 void CDU_ScreenAlign()
LvdK 7:6576a287e563 310 //Draw a wireframe for aligning the screen on display with keys
LvdK 7:6576a287e563 311 {
LvdK 7:6576a287e563 312 display.cls();
LvdK 8:422544d24df3 313
LvdK 7:6576a287e563 314 display.pen_size(WIREFRAME);
LvdK 7:6576a287e563 315 display.rectangle(XMIN,YMIN,XMAX,YMAX, WHITE);
LvdK 7:6576a287e563 316 display.line(XMIN,LINE2,XMAX,LINE2, WHITE);
LvdK 7:6576a287e563 317 display.line(XMIN,LINE3,XMAX,LINE3, WHITE);
LvdK 7:6576a287e563 318 display.line(XMIN,LINE4,XMAX,LINE4, WHITE);
LvdK 7:6576a287e563 319 display.line(XMIN,LINE5,XMAX,LINE5, WHITE);
LvdK 7:6576a287e563 320 display.line(XMIN,LINE6,XMAX,LINE6, WHITE);
LvdK 7:6576a287e563 321 display.line(XMIN,LINE7,XMAX,LINE7, WHITE);
LvdK 7:6576a287e563 322 display.line(XMIN,LINE8,XMAX,LINE8, WHITE);
LvdK 7:6576a287e563 323 display.line(XMIN,LINE9,XMAX,LINE9, WHITE);
LvdK 7:6576a287e563 324 display.line(XMIN,LINE10,XMAX,LINE10, WHITE);
LvdK 7:6576a287e563 325 display.line(XMIN,LINE11,XMAX,LINE11, WHITE);
LvdK 7:6576a287e563 326 display.line(XMIN,LINE12,XMAX,LINE12, WHITE);
LvdK 7:6576a287e563 327 display.line(XMIN,LINE13,XMAX,LINE13, WHITE);
LvdK 7:6576a287e563 328 display.line(XMIN,LINE14,XMAX,LINE14, WHITE);
WillemBraat 20:150afde94910 329
WillemBraat 20:150afde94910 330 //Hardware & Firmware information
WillemBraat 21:f348e6f0f7d4 331 display.graphic_string( str2char( CDU_Hardware() ), centertext( CDU_Hardware(), 48, SMALLCHAR), LINE6, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 332 display.graphic_string( str2char( CDU_Firmware() ), centertext( CDU_Firmware(), 48, SMALLCHAR), LINE7, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 333 display.graphic_string( str2char( CDU_Compile() ) , centertext( CDU_Compile() , 48, SMALLCHAR), LINE8, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 334 display.graphic_string( str2char( CDU_MAC() ) , centertext( CDU_MAC() , 48, SMALLCHAR), LINE10, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 335 display.graphic_string( str2char( CDU_IP() ) , centertext( CDU_IP() , 48, SMALLCHAR), LINE11, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 20:150afde94910 336
LvdK 7:6576a287e563 337 }
WillemBraat 20:150afde94910 338
LvdK 7:6576a287e563 339 void CDU_Page()
LvdK 7:6576a287e563 340 {
LvdK 7:6576a287e563 341 display.cls();
WillemBraat 21:f348e6f0f7d4 342 display.graphic_string( "PERF INIT" , 8*24, LINE1, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 343
WillemBraat 21:f348e6f0f7d4 344 display.graphic_string( "GW/CRZ CG" , 0, LINE2, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 345 display.graphic_string( "CRZ ALT" , 41*12, LINE2, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 346
WillemBraat 21:f348e6f0f7d4 347 display.graphic_string( "___._ / 26.2%" , 0, LINE3, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 348 display.graphic_string( "_____" , 19*24, LINE3, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 349 display.graphic_string( "FUEL" , 0, LINE4, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 350 display.graphic_string( "CRZ/WIND" , 40*12, LINE4, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 351
WillemBraat 21:f348e6f0f7d4 352 display.graphic_string( "0.0" , 0, LINE5, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 353 display.graphic_string( "000$ /---" , 15*24, LINE5, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 354
WillemBraat 21:f348e6f0f7d4 355 display.graphic_string( "ZFW" , 0, LINE6, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 356 display.graphic_string( "___._ " , 0, LINE7, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 357
WillemBraat 21:f348e6f0f7d4 358 display.graphic_string( "RESERVES" , 0, LINE8, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 359 display.graphic_string( "__._ " , 0, LINE9, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 360
WillemBraat 21:f348e6f0f7d4 361 display.graphic_string( "COST INDEX" , 0, LINE10, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 362 display.graphic_string( "TRANS ALT" , 39*12, LINE10, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 7:6576a287e563 363
WillemBraat 21:f348e6f0f7d4 364 display.graphic_string( "___" , 0, LINE11, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 365 display.graphic_string( "_____" , 19*24, LINE11, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 366
WillemBraat 21:f348e6f0f7d4 367 display.graphic_string( "------------------------------------------------" , 0, LINE12, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 7:6576a287e563 368
WillemBraat 21:f348e6f0f7d4 369 display.graphic_string( "<INDEX" , 0, LINE13, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 370 display.graphic_string( "N1 LIMIT>" , 15*24, LINE13, FONT_24X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 8:422544d24df3 371
WillemBraat 21:f348e6f0f7d4 372 display.graphic_string( "SCRATCHPAD DATA LINE", centertext("SCRATCHPAD DATA LINE", 24, LARGECHAR) , LINE14, FONT_24X34, RED, TEXT_SCALE, TEXT_SCALE );
WillemBraat 21:f348e6f0f7d4 373 }
WillemBraat 21:f348e6f0f7d4 374
WillemBraat 21:f348e6f0f7d4 375 void CDU_Waiting()
WillemBraat 21:f348e6f0f7d4 376 {
WillemBraat 21:f348e6f0f7d4 377 display.cls();
WillemBraat 21:f348e6f0f7d4 378 display.graphic_string( "WAITING" , 0, LINE1, FONT_12X34, WHITE, TEXT_SCALE, TEXT_SCALE );
LvdK 7:6576a287e563 379 }
LvdK 8:422544d24df3 380
LvdK 7:6576a287e563 381 void CDU_displayclear(){
LvdK 7:6576a287e563 382 display.cls();
LvdK 7:6576a287e563 383 }
LvdK 8:422544d24df3 384
LvdK 7:6576a287e563 385