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

Files at this revision

API Documentation at this revision

Comitter:
WillemBraat
Date:
Thu Aug 28 14:39:32 2014 +0000
Parent:
18:fd672797458c
Child:
20:150afde94910
Commit message:
Added CDU_hw_sw.cpp. All hardware and software related functions moved from display.cpp to here.
; Added funtions for reading MAC and IP addresses.

Changed in this revision

CDU_hw_sw.cpp Show annotated file Show diff for this revision Revisions of this file
display.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CDU_hw_sw.cpp	Thu Aug 28 14:39:32 2014 +0000
@@ -0,0 +1,66 @@
+#include "mbed.h"
+#include <string>
+#include "pins.h"
+
+extern "C" void mbed_mac_address(char *mac); //for reading MAC Address
+
+string CDU_Hardware()
+{
+    string cHardware = "HW version: ";
+    char   buf[1];
+    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[1];
+    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 UTC Timestamp: " ;
+    cCompile += __DATE__; 
+    cCompile += " ";
+    cCompile += __TIME__;  
+return cCompile  ;
+}
+
+string CDU_MAC()
+{
+    string cMac = "MAC address: ";
+    char mac[6];
+    char buf[1];
+    mbed_mac_address(mac);
+    for(int i=0; i<6;i++) 
+        {
+         if (i==5)
+         {
+            sprintf(buf, "%02X", mac[i]);             
+         }
+         else
+         {
+            sprintf(buf, "%02X:", mac[i]);
+         }
+         cMac += buf;
+        }
+    return cMac;
+}
+
+string CDU_IP()
+{
+    string cIP = "IP address: ";
+    cIP += "000:000:000:000 (not defined)";
+    return cIP;
+}
\ No newline at end of file
--- a/display.cpp	Thu Aug 28 12:01:12 2014 +0000
+++ b/display.cpp	Thu Aug 28 14:39:32 2014 +0000
@@ -7,6 +7,12 @@
 
 using namespace std;
 
+extern string CDU_Hardware();
+extern string CDU_Firmware();
+extern string CDU_Compile();
+extern string CDU_MAC();
+extern string CDU_IP();
+
 DigitalOut VGA_SOURCE( VGA_SOURCE_SELECT ); //control line for video switch between INT and EXT video
 DigitalOut VGA_SELECT( VGA_ON_OFF ); //control line to select/deselect video switch
 /*
@@ -299,44 +305,11 @@
     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();  
     
@@ -350,10 +323,13 @@
     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 );
+    
+    //Hardware & 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 );
+    display.graphic_string( str2char( CDU_MAC() )     , centertext( CDU_MAC()     , 48, SMALLCHAR), LINE10, FONT_12X34, WHITE, 1, 1 );  
+    display.graphic_string( str2char( CDU_IP() )      , centertext( CDU_IP()      , 48, SMALLCHAR), LINE11, FONT_12X34, WHITE, 1, 1 );          
     wait_ms(5000);    
 }