Attempts to merge SPI_TFT2 & SPI_TFT_ILI9341

Dependencies:   SPI_TFTx2 TFT_fonts TOUCH_TFTx2 mbed

Fork of CANary by Tick Tock

Revision:
158:059abeb44ba1
Parent:
157:1a100a5ed06f
Child:
159:577e9d015693
--- a/main.cpp	Wed Oct 30 03:16:51 2013 +0000
+++ b/main.cpp	Thu Oct 31 14:41:24 2013 +0000
@@ -5,15 +5,14 @@
 // * Add linear efficiency graph with 10 minute values
 // * Subtract accessory power from efficiency history (add back in when displaying)
 // * Add in-device config editor
-// * Store efficiency data at different temperatures
 // * Change pack volt color when CVLI fails
 // * Add tire pressure cal (40psi for me = FR 38, RR 38.2, FL 37.8, RL 38 - maybe 2psi error on my tire gauge?)
 // * Add heater activation warning message
 
-
-// rev157
-// Added trip max/min efficiency reset
-// Added second config screen and RegenMon enable/disable
+// rev158
+// Fixed bug in date/time sync to sync on all days of the month
+// Added auto time sync enable/disable button to cofig2 screen
+// Highlighted row if data changed in testScreen
 
 #include "mbed.h"
 #include "CAN.h"
@@ -23,7 +22,7 @@
 #include "utility.h"
 #include "displayModes.h"
 #include "TOUCH_TFTx2.h"
-char revStr[7] = "157"; // gg - revision string, max 6 characters
+char revStr[7] = "158"; // gg - revision string, max 6 characters
 
 FATFS USBdrive;
 LocalFileSystem local("local");
@@ -127,8 +126,8 @@
 float kWh_trip[3]={0};
 float miles_trip[3]={0};
 float curEff = 0;
-float maxTripEff = 4;
-float minTripEff = 4;
+float maxTripEff = 0;
+float minTripEff = 5;
 float mph[39]={0};
 float kW[39]={0};
 float mpkWh[39]={0};
@@ -158,6 +157,7 @@
 unsigned short modelYear = 2011;
 bool idir, lidir;
 bool enableSound=false;
+bool clearTest=true;
 
 int main() {
     char sTemp[40];
@@ -464,8 +464,8 @@
                                 } else if (dMode[whichTouched]==configScreen) {
                                     mbed_reset();
                                 } else if (dMode[whichTouched]==config2Screen) { // reset DTE Max/Min
-                                    maxTripEff = 4;
-                                    minTripEff = 4;
+                                    maxTripEff = 0;
+                                    minTripEff = 5;
                                 } else if (dMode[whichTouched]==playbackScreen) { // pause/unpause
                                     playbackEn=!playbackEn;
                                     if(playbackEn){
@@ -517,7 +517,9 @@
                                 } else if (dMode[whichTouched] == indexScreen) { // gg - index
                                     dMode[whichTouched] = healthScreen ; // Goto health screen
                                     sMode=0;
-                                } else {
+                                } else if (dMode[whichTouched] == testScreen) { // gg - index
+                                    clearTest=true;
+                                } else { // top-right corner always mute/unmute unless used by specific screen
                                     enableSound = !enableSound;
                                     if(!enableSound) spkr=0;
                                 }
@@ -631,23 +633,25 @@
                                     }else{
                                         geiger.detach();
                                     }
+                                } else if (dMode[whichTouched]==config2Screen) {
+                                    autoSync = !autoSync;                                
                                 } else {
                                     lastDMode[whichTouched]=99;//repaint to clear highlight
                                 }            
                                 break;
                                 
                              case 12: // left-middle col, bottom row (not nav)
-                                if (dMode[whichTouched] == config2Screen) { // gg - index
+                                if (dMode[whichTouched]==configScreen) {
+                                    regenMon = !regenMon;                                
+                                } else if (dMode[whichTouched]==config2Screen) { // gg - index
                                     dMode[whichTouched] = dateScreen ; // GoTo Set Date/Time Screen  
-                                } else if (dMode[whichTouched]==configScreen) {
-                                    regenMon = !regenMon;                                
                                 } else {
                                     lastDMode[whichTouched]=99;//repaint to clear highlight
                                 } 
                                 break;
                              
                              case 22: // right-middle col, bottom row (not nav)
-                                if (dMode[whichTouched] == indexScreen) { // gg - index
+                                if (dMode[whichTouched]==indexScreen) { // gg - index
                                     dMode[whichTouched] = logScreen ;    
                                 } else if (dMode[whichTouched]==config2Screen) {
                                     showHealth = !showHealth;
@@ -657,15 +661,15 @@
                                 break;
 
                              case 32: // right col, bottom row (not nav)  
-                                if (dMode[whichTouched] == config2Screen) {
+                                if (dMode[whichTouched]==config2Screen) {
                                     logEn=false;
                                     updateFirmware();
-                                } else if (dMode[whichTouched] == tripScreen) {
+                                } else if (dMode[whichTouched]==tripScreen) {
                                     miles_trip[2]=0;
                                     kWh_trip[2]=0;
                                     sMode=0;
                                     lastDMode[whichTouched]=99;//repaint to clear highlight
-                                } else if (dMode[whichTouched] == indexScreen) {
+                                } else if (dMode[whichTouched]==indexScreen) {
                                     dMode[whichTouched] = tripScreen ;    
                                 } else if (dMode[whichTouched]==dateScreen){
                                     autoSync=!autoSync; // toggle autoSync mode
@@ -757,7 +761,7 @@
                     userIdle=false;
                 }
                 // Keep track of max and min trip efficiency
-                if (miles_trip[0]>3){ // Ignore very short trips
+                if (miles_trip[0]>5){ // Ignore short trips
                     if (maxTripEff<curEff) {
                         maxTripEff=curEff;
                     }