New work version with additional functions
Dependencies: 4DGL-UC ConfigFile MODSERIAL mbed mbos
Fork of CDU_Mbed_35 by
Diff: display.cpp
- Revision:
- 18:fd672797458c
- Parent:
- 17:b3545e9d38f7
- Child:
- 19:9d8032cb0f12
--- a/display.cpp Tue Aug 26 14:18:39 2014 +0000 +++ b/display.cpp Thu Aug 28 12:01:12 2014 +0000 @@ -4,6 +4,7 @@ #include "display.h" #include <string> #include "pins.h" + using namespace std; DigitalOut VGA_SOURCE( VGA_SOURCE_SELECT ); //control line for video switch between INT and EXT video @@ -192,6 +193,7 @@ } return ( nHorPos ); } + int nLine2Pixel( int nLine ) { //calculate vertical pixelposition from linenumber @@ -284,20 +286,58 @@ } return ( nPixel ) ; } + void VGA_SIGNAL( int Source, int On_Off) { VGA_SOURCE = Source; VGA_SELECT = On_Off; } + void CDU_InitDisplay() { display.baudrate( 9600 ); //init uVGAIII card VGA_SIGNAL( VGA_INT, VGA_ON ); //select INTERNTAL video and set VGA switch ON } + +string CDU_Hardware() +{ + string cHardware = "HW version: "; + char buf[10]; + sprintf(buf, "%d", HW_VERSION_MAIN ); + cHardware += buf; + cHardware += "."; + sprintf(buf, "%d", HW_VERSION_SUB ); + cHardware += buf; + return cHardware; + } + +string CDU_Firmware() +{ + string cFirmware = "FW version: "; + char buf[10]; + sprintf(buf, "%d", SW_VERSION_MAIN ); + cFirmware += buf; + cFirmware += "."; + sprintf(buf, "%d", SW_VERSION_SUB ); + cFirmware += buf; +return cFirmware; +} + +string CDU_Compile() +{ + string cCompile = "FW Timestamp: " ; + cCompile += __DATE__; + cCompile += " "; + cCompile += __TIME__; +return cCompile ; +} + void CDU_StartScreen() { string cTitle1="ENGRAVITY"; string cTitle2="CONTROL & DISPLAY UNIT"; + + display.cls(); display.graphic_string( str2char( cTitle1 ), centertext( cTitle1, 24, LARGECHAR), LINE6, FONT_24X34, WHITE, 1, 1 ); @@ -308,9 +348,15 @@ wait_ms(100); display.graphic_string( str2char( cTitle2) , centertext( cTitle2, 24, LARGECHAR), LINE8, FONT_24X34, BLUE, 1, 1 ); wait_ms(100); - display.graphic_string( str2char( cTitle2) , centertext( cTitle2, 24, LARGECHAR), LINE8, FONT_24X34, WHITE, 1, 1 ); - wait_ms(100); + + display.cls(); + //Firmware information + display.graphic_string( str2char( CDU_Hardware() ), centertext( CDU_Hardware(), 48, SMALLCHAR), LINE6, FONT_12X34, WHITE, 1, 1 ); + display.graphic_string( str2char( CDU_Firmware() ), centertext( CDU_Firmware(), 48, SMALLCHAR), LINE7, FONT_12X34, WHITE, 1, 1 ); + display.graphic_string( str2char( CDU_Compile() ), centertext( CDU_Compile(), 48, SMALLCHAR), LINE8, FONT_12X34, WHITE, 1, 1 ); + wait_ms(5000); } + void CDU_ScreenAlign() //Draw a wireframe for aligning the screen on display with keys {