test fork

Dependencies:   SPI_TFTx2 SPI_TFTx2_ILI9341 TFT_fonts TOUCH_TFTx2 mbed

Fork of CANary_9341 by Tick Tock

Files at this revision

API Documentation at this revision

Comitter:
TickTock
Date:
Sun Mar 24 17:26:09 2013 +0000
Parent:
37:fea2c1d52c5f
Child:
39:eef8beac7411
Commit message:
Fixed kW update routine

Changed in this revision

common.h Show annotated file Show diff for this revision Revisions of this file
displayModes.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
utility.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/common.h	Sun Mar 24 15:35:45 2013 +0000
+++ b/common.h	Sun Mar 24 17:26:09 2013 +0000
@@ -7,7 +7,7 @@
 #define changedScreen 6
 #define cpScreen 7
 #define config1Screen 8
-#define config2Screen 9
+#define playbackScreen 9
 #define dateScreen 10
 #define maxScreens 10
 #define btnGap 10
--- a/displayModes.cpp	Sun Mar 24 15:35:45 2013 +0000
+++ b/displayModes.cpp	Sun Mar 24 17:26:09 2013 +0000
@@ -69,6 +69,7 @@
 void printDTE (bool force){
     unsigned short gids, SOC, packV;
     static unsigned short lgids=0, lSOC=0, lpackV=0;
+    static float lmpkWh=0;
     CANMessage msg;
 
     msg = lastMsg[indexLastMsg[0x5bc]]; //Get gids
@@ -79,10 +80,10 @@
     packV = (msg.data[2]<<2)+(msg.data[3]>>6);
 
     tt.background(Navy);
+    tt.foreground(Yellow);
+    tt.set_font((unsigned char*) Arial28x28);
     if(force) tt.cls();
     if(force||gids!=lgids){
-        tt.foreground(Yellow);
-        tt.set_font((unsigned char*) Arial28x28);
         tt.locate(10,10);
         printf("%4d gids\n",gids);
         tt.locate(20,40);
@@ -92,28 +93,27 @@
         tt.locate(60,96);
         printf("%4.1f mi  \n",(float)(gids-5)*0.31); // Approx for now
         lgids=gids;
+        tt.foreground(Yellow);
+        tt.set_font((unsigned char*) Arial28x28);
     }
     if(force||SOC!=lSOC){
-        tt.foreground(Yellow);
-        tt.set_font((unsigned char*) Arial28x28);
         tt.locate(200,10);
         printf("%4.1f%s\n",(float)SOC/10,"%");
         lSOC=SOC;
     }
     if(force||packV!=lpackV){
-        tt.foreground(Yellow);
-        tt.set_font((unsigned char*) Arial28x28);
         tt.locate(200,200);
         printf("%4.1fV \n",(float)packV/2);
         lpackV=packV;
     }
     if(force||tick){
-        tt.foreground(Yellow);
-        tt.set_font((unsigned char*) Arial28x28);
         tt.locate(20,200);
         printf("%4.2fV  \n",accV);
-        tt.locate(170,40);
-        printf("%4.3fkW  \n",mpkWh); //kW for now
+    }
+    if(force||mpkWh!=lmpkWh){
+        tt.locate(180,40);
+        printf("%3.2fkW  \n",mpkWh); //kW for now
+        lmpkWh=mpkWh;
     }
 }
 
@@ -454,7 +454,7 @@
         case config1Screen:
             config1(changed);
             break;
-        case config2Screen:
+        case playbackScreen:
             config2(changed);
             break;
         case dateScreen:
--- a/main.cpp	Sun Mar 24 15:35:45 2013 +0000
+++ b/main.cpp	Sun Mar 24 17:26:09 2013 +0000
@@ -89,7 +89,7 @@
 float accV = 0;
 bool playbackEn = false;
 bool playbackOpen = false;
-float playbackInt = 0.032; //read one message every 64 ms
+float playbackInt = 0.05; //read messages every 50 ms
 bool step = false;
 char header[5];
 char data[8];
@@ -309,7 +309,7 @@
                                     wait_ms(500);
                                     tt.background(Black);
                                     tt.calibrate();
-                                } else if (dMode[i]==config2Screen) { // slower
+                                } else if (dMode[i]==playbackScreen) { // slower
                                         playbackInt *=2;
                                     if(playbackEn){
                                         playback.detach();
@@ -326,7 +326,7 @@
                                     pollCP=true;
                                 } else if (dMode[i]==config1Screen) {
                                     mbed_reset();
-                                } else if (dMode[i]==config2Screen) { // pause/unpause
+                                } else if (dMode[i]==playbackScreen) { // pause/unpause
                                     playbackEn=!playbackEn;
                                     if(playbackEn){
                                         playback.attach(&playbackISR,playbackInt);
@@ -344,7 +344,7 @@
                                     logMsg(sTemp);
                                     saveConfig();
                                     spkr.beep(2000,0.25);
-                                } else if (dMode[i]==config2Screen) { // faster
+                                } else if (dMode[i]==playbackScreen) { // faster
                                     if(playbackInt>.002){
                                         playbackInt/=2;
                                         if(playbackEn){
@@ -373,7 +373,7 @@
                                     } else {
                                         autoPoll.detach();
                                     }
-                                } else if (dMode[i]==config2Screen) {
+                                } else if (dMode[i]==playbackScreen) {
                                     // Start/stop playback
                                     if(!playbackOpen){
                                         if(!logOpen){
@@ -483,7 +483,7 @@
             if(playbackOpen&&playbackEn){
                 //sprintf(sTemp,"step\n");
                 //logMsg(sTemp);
-                for(i=0;i<200;i++){
+                for(i=0;i<120;i++){
                     if(!feof(file)){
                         fscanf(file,"%5c%8c",&header,&data);
                         pbts=(header[1]<<8)|header[2];
--- a/utility.cpp	Sun Mar 24 15:35:45 2013 +0000
+++ b/utility.cpp	Sun Mar 24 17:26:09 2013 +0000
@@ -130,8 +130,8 @@
         }
         imWs=packV; // Volts*seconds*2
         imWs*=packA; // Watts*4
-        imWs*=-2.5; // milliwatts*seconds (1db messages are 10ms apart)
-        mWs+=imWs; // total mWs
+        imWs*=-10; // milliwatt*seconds*4 (1db messages are 10ms apart)
+        mWs+=(imWs>>2); // total mWs
         //lms=ms;
     }
 }