Attempts to merge SPI_TFT2 & SPI_TFT_ILI9341

Dependencies:   SPI_TFTx2 TFT_fonts TOUCH_TFTx2 mbed

Fork of CANary by Tick Tock

Revision:
50:83d5864c64a0
Parent:
49:a3d2c5bb3cfa
Child:
51:6187c5264a73
--- a/main.cpp	Sun Apr 07 08:29:04 2013 +0000
+++ b/main.cpp	Sun Apr 07 16:34:12 2013 +0000
@@ -96,6 +96,7 @@
 char data[8];
 signed long motorRPM;
 unsigned char skin = 0;
+unsigned char dtePeriod = 14; //ten minute averaging interval
 float mph[39]={0};
 float kW[39]={0};
 float mpkWh[39]={0};
@@ -113,7 +114,7 @@
     char sTemp[40];
     unsigned long secs;
     unsigned char i,j,display=0,lwt=0;
-    unsigned char sixtySecCount=0;
+    unsigned char minuteCount=0;
     point lastTouch;
     float average,mph9,kW9;
 
@@ -154,12 +155,13 @@
     t = *localtime(&seconds) ;
     strftime(sTemp, 32, "%a %m/%d/%Y %X\n", &t);
     logMsg(sTemp);
-    sprintf(sTemp,"CANary firmware rev49\n");
+    sprintf(sTemp,"CANary firmware rev50\n");
     logMsg(sTemp);
 
     // Look for new binary on thumbdrive
     // Can't make this work right now since USB doesn't attach the right timestamp (so new binary isn't loaded)
     /*cfile = fopen("/usb/CANary.bin", "rb");
+    lastDMode[whichTouched]=99;//force refresh
     if (cfile!=NULL){ //found a new binary on the thumbdrive so copy it over
         sprintf(sTemp,"New binary found.\n");
         logMsg(sTemp);
@@ -230,7 +232,7 @@
                 //sprintf(sTemp,"Using file %s\n",fileName);
                 //logMsg(sTemp);
                 file = fopen(fileName, "ab");
-                
+                lastDMode[whichTouched]=99;//force refresh
                 if(file==NULL){
                     sprintf(sTemp,"\nUnable to open %s\n\n\n\n",fileName);
                     logMsg(sTemp);
@@ -432,12 +434,15 @@
                                     if(!playbackOpen){
                                         if(!logOpen){
                                             file = fopen("/usb/playback.alc", "rb");                                          
+                                            lastDMode[whichTouched]=99;//force refresh
                                             if(file==NULL){
                                                 sprintf(sTemp,"Unable to open /usb/playback.alc\n");
                                                 logMsg(sTemp);
                                                 spkr.beep(1000,0.25);
                                             } else {
                                                 playbackOpen = true;
+                                                playbackEn=true;
+                                                playback.attach(&playbackISR,playbackInt);
                                                 sprintf(sTemp,"Starting playback\n");
                                                 logMsg(sTemp);
                                                 spkr.beep(2000,0.25);
@@ -452,11 +457,11 @@
                                         playback.detach();
                                         fclose(file);
                                         playbackOpen=false;
+                                        playbackEn=false;
                                         can1.attach(&recieve1);// Restore CAN data recieve
                                         can2.attach(&recieve2);
                                         lastDMode[whichTouched]=99;
                                     }
-                                    playbackEn=false;
                                 } else if (dMode[whichTouched]==dateScreen){
                                     upDate(dtMode,true);
                                     lastDMode[whichTouched]=99;
@@ -559,28 +564,28 @@
                 mph9=mph[i]/timeConstant[i];
                 mph[i]-=mph9;
                 mph[i]+=mph[0];
-                mpkWh[i]=mph9;
                 kW9=kW[i]/timeConstant[i];
                 kW[i]-=kW9;
                 kW[i]+=kW[0];
-                mpkWh[i]/=kW9;
+                mpkWh[i]=mph[i];
+                mpkWh[i]/=kW[i];
                 if (mpkWh[i]<0) {
                     mpkWh[i]=99;// negative means inf.
                 }
                 //mpkWh[i]=floor(mpkWh[i]*10+0.5)/10; // Round to nearest 10th
            }
            // The rest are updated each minute
-           if(++sixtySecCount>59){ //
-                sixtySecCount=0;
+           if(++minuteCount>59){ //
+                minuteCount=0;
                 for(i=10;i<39;i++){
                     average=mph[i]/timeConstant[i];
                     mph[i]-=average;
                     mph[i]+=mph9;
-                    mpkWh[i]=average;
                     average=kW[i]/timeConstant[i];
                     kW[i]-=average;
                     kW[i]+=kW9;
-                    mpkWh[i]/=average;
+                    mpkWh[i]=mph[i];
+                    mpkWh[i]/=kW[i];
                     if (mpkWh[i]<0) {
                         mpkWh[i]=99;// negative means inf.
                     }
@@ -612,6 +617,7 @@
                     }else{
                         fclose(file); // restart
                         file = fopen("/usb/playback.alc", "rb");                                          
+                        lastDMode[whichTouched]=99;//force refresh
                         spkr.beep(2000,0.25);
                     }
                 }