test fork

Dependencies:   SPI_TFTx2 SPI_TFTx2_ILI9341 TFT_fonts TOUCH_TFTx2 mbed

Fork of CANary_9341 by Tick Tock

Branch:
Metric
Revision:
102:fd19f777a0b4
Parent:
99:c05abf8e1cdc
Child:
103:1389e9efe8c3
--- a/displayModes.cpp	Sat Jun 15 19:05:32 2013 +0000
+++ b/displayModes.cpp	Thu Jun 20 05:35:36 2013 +0000
@@ -73,9 +73,11 @@
 
 void mainDisplay (bool force, bool showButtons){
     unsigned short gids, SOC, packV;
-    static unsigned short lgids=0, lSOC=0, lpackV=0, maxPS=0;
-    static unsigned char lbattTemp_x4=0;
+    static unsigned short lgids=0, lSOC=0, lSOH=0, lpackV=0, maxPS=0;
+    //static unsigned char lbattTemp_x4=0;
+    static signed short lbattTemp_x10=0;
     static float lkW=0, laccV=0, lmpkWh=0;
+    static unsigned long lAh=0;
     CANMessage msg;
 
     msg = lastMsg[indexLastMsg[0x5bc]]; //Get gids
@@ -102,7 +104,7 @@
             printf("%4.1f kWh \n",(float)(gids-5)*0.075);
             tt.set_font((unsigned char*) SCProSB31x55);
             tt.foreground(Green);
-            tt.locate(60,96);            
+            tt.locate(60,106);            
             printf("%4.1f %s  \n",convertDistance(mpkWh[dtePeriod]*((float)(gids-5)*.075)),distanceUnit()); //LM - add metric conversion
             lgids=gids;
             lmpkWh=mpkWh[dtePeriod];
@@ -119,10 +121,13 @@
             printf("%4.1fV \n",(float)packV/2);
             lpackV=packV;
         }
-        if(force||battTemp_x4!=lbattTemp_x4){
+        //if(force||battTemp_x4!=lbattTemp_x4){
+        if(force||battTemp_x10!=lbattTemp_x10){
             tt.locate(200,170);
-            printf("%4.1f%s\n",convertTemperature((float)battTemp_x4*0.25f),temperatureUnit());
-            lbattTemp_x4=battTemp_x4;
+            //printf("%4.1f%s\n",convertTemperature((float)battTemp_x4*0.25f),temperatureUnit());
+            printf("%4.1f%s\n",convertTemperature((float)battTemp_x10*0.1f),temperatureUnit());
+            //lbattTemp_x4=battTemp_x4;
+            lbattTemp_x10=battTemp_x10;
         }
         if(force||accV!=laccV){
             tt.locate(20,200);
@@ -130,11 +135,21 @@
             laccV=accV;
         }
         if(force||kW[0]!=lkW){
-            tt.locate(180,40);
+            tt.locate(180,70);
             printf("%3.2fkW  \n",kW[0]);
             //printf("%3.1f mpkWh  \n",mpkWh[0]);
             lkW=kW[0];
         }
+        if(force||Ah_x10000!=lAh){
+            tt.locate(10,70);
+            printf("%4.2fAh  \n",(float)Ah_x10000/10000);
+            lAh=Ah_x10000;
+        }
+        if(force||SOH_x100!=lSOH){
+            tt.locate(180,40);
+            printf("%3.1f%s\n",(float)SOH_x100/100,"% ");
+            lSOH=SOH_x100;
+        }
     }else {//if(skin==ggSkin){
         if(force||gids!=lgids){
             tt.locate(10,10);
@@ -350,13 +365,13 @@
                 break;
             case 1:
                 tt.locate(0,6);
-                // BatDataBaseG4 * 7 = 224
+                // BatDataBaseG4 * 7 = 280
                 char* sTemperatureUnit = temperatureUnit();
                 printf(" MAX  MIN  AVG CVLI T1  T2  T3  T4\n %04d %04d %04d %04d %2.0f%s %2.0f%s %2.0f%s %2.0f%s\n\n",
-                    max,min,avg,jv, convertTemperature(battData[224+5]),sTemperatureUnit,convertTemperature(battData[224+8]),sTemperatureUnit,
-                    convertTemperature(battData[224+11]),sTemperatureUnit,convertTemperature(battData[224+14]),sTemperatureUnit);
+                    max,min,avg,jv, convertTemperature(battData[(BatDataBaseG4*7)+5]),sTemperatureUnit,convertTemperature(battData[(BatDataBaseG4*7)+8]),sTemperatureUnit,
+                    convertTemperature(battData[(BatDataBaseG4*7)+11]),sTemperatureUnit,convertTemperature(battData[(BatDataBaseG4*7)+14]),sTemperatureUnit);
                 //printf(" MAX  MIN  AVG CVLI T1  T2  T3  T4\n %04d %04d %04d %04d %02dC %02dC %02dC %02dC\n\n",
-                //            max,min,avg,jv, battData[224+5],battData[224+8],battData[224+11],battData[224+14]);
+                //            max,min,avg,jv, battData[(BatDataBaseG4*7)+5],battData[(BatDataBaseG4*7)+8],battData[(BatDataBaseG4*7)+11],battData[(BatDataBaseG4*7)+14]);
                 tt.rect(8+0*41,16,40+0*41,28,Green);
                 tt.rect(8+1*41,16,40+1*41,28,Yellow);
                 //tt.rect(8+2*41,16,40+2*41,28,White);
@@ -510,10 +525,10 @@
         }
         
         // values, for now
-        // BatDataBaseG4 * 7 = 224
+        // BatDataBaseG4 * 7 = 280
         tt.locate( 0, yWinMax+40 );
         printf(" MAX  MIN  AVG CVLI T1  T2  T3  T4\n %04d %04d %04d %04d %02dC %02dC %02dC %02dC\n\n",
-                max,min,avg,jv,  battData[224+5],battData[224+8],  battData[224+11],battData[224+14]);
+                max,min,avg,jv,  battData[(BatDataBaseG4*7)+5],battData[(BatDataBaseG4*7)+8],  battData[(BatDataBaseG4*7)+11],battData[(BatDataBaseG4*7)+14]);
         
         // label the X axis (approximate)
         tt.locate( 2, yWinMax+5); printf("%04d", min );
@@ -633,10 +648,10 @@
         }
         
         // the values, for now
-        // BatDataBaseG4 * 7 = 224        
+        // BatDataBaseG4 * 7 = 280        
         tt.locate( 0, yWinMax+40 );
         printf(" MAX  MIN  AVG CVLI T1  T2  T3  T4\n %04d %04d %04d %04d %02dC %02dC %02dC %02dC\n\n",
-                max,min,avg,jv,  battData[224+5],battData[224+8],  battData[224+11],battData[224+14]);
+                max,min,avg,jv,  battData[(BatDataBaseG4*7)+5],battData[(BatDataBaseG4*7)+8],  battData[(BatDataBaseG4*7)+11],battData[(BatDataBaseG4*7)+14]);
         
         //---------------
         // show the bars