Dual CANbus monitor and instrumentation cluster

Dependencies:   SPI_TFTx2 TFT_fonts TOUCH_TFTx2 beep mbed

Fork of CANary by Tick Tock

Revision:
87:46ac3f2519d6
Parent:
86:d1c9e8ac1c4b
Child:
88:45185a5f1c9b
--- a/main.cpp	Wed Apr 17 20:41:14 2013 +0000
+++ b/main.cpp	Fri Apr 19 02:06:59 2013 +0000
@@ -51,8 +51,9 @@
 // gg - revStr is used in 2 places
 // gg - and is easy to edit here
 // gg - added ZeroSecTick and revStr
-char revStr[7] = "86";
+char revStr[7] = "87";
 
+bool debugMode = false;
 bool logEn = false, logOpen = false; 
 bool yesBattLog = false ; // gg - Batt Log
 unsigned char tNavRow = 3 ; // gg - 4x4 touch
@@ -63,7 +64,10 @@
 char writeBuffer[maxBufLen][13] __attribute__ ((section("AHBSRAM1"))); // buffer for USB write
 char indexLastMsg[0x800]={0}; // index table for last message
 CANMessage lastMsg[100]; // table to store last message of eachtype
-unsigned char battData[256]={0};
+
+//unsigned char battData[256]={0}; // 7 * 0x3D = BatDataBufMax
+unsigned char battData[BatDataBufMax]={0}; // 7 * 0x3D = BatDataBufMax
+
 unsigned char msgChanged[100]; // inidcates which bytes changed
 char c;
 volatile int writePointer = 0;
@@ -423,13 +427,13 @@
                                     dMode[whichTouched] = brakeScreen ; // GoTo Brake Screen
                                 } else if (dMode[whichTouched]==cpScreen) {
                                     reqMsgCnt=0;
-                                    msgReq.attach(&sendReq,0.015);
+                                    msgReq.attach(&sendReq,0.025);
                                 } else if (dMode[whichTouched]==cpHistScreen) { // gg - hist
                                     reqMsgCnt=0;
-                                    msgReq.attach(&sendReq,0.015);
+                                    msgReq.attach(&sendReq,0.025);
                                 } else if (dMode[whichTouched]==cpBarScreen) { // gg - cpbars
                                     reqMsgCnt=0;
-                                    msgReq.attach(&sendReq,0.015);
+                                    msgReq.attach(&sendReq,0.025);
                                 } else if (dMode[whichTouched]==config1Screen) {
                                     mbed_reset();
                                 } else if (dMode[whichTouched]==playbackScreen) { // pause/unpause
@@ -584,30 +588,46 @@
 
                                 break;
                                 
+                            case 31: // col 3 row 1
+                                if (dMode[whichTouched]==config1Screen) { // gg - Batt Log Enable Button
+                                    debugMode = !debugMode;                                
+                                } else {
+                                    lastDMode[whichTouched]=99;//repaint to clear highlight
+                                }                            
+                                break;
+                                
                             //-----------------------------------
                             case 02: // left col, bottom row (not nav)
                                 if (dMode[whichTouched] == indexScreen) { // gg - index
-                                    dMode[whichTouched] = config1Screen ; // GoTo Config Screen   
-                                }
+                                    dMode[whichTouched] = config1Screen ; // GoTo Config Screen                                   
+                                } else {
+                                    lastDMode[whichTouched]=99;//repaint to clear highlight
+                                }            
                                 break;
                                 
                              case 12: // left-middle col, bottom row (not nav)
                                 if (dMode[whichTouched] == indexScreen) { // gg - index
                                     dMode[whichTouched] = playbackScreen ; // GoTo Playback Screen   
-                                }
+                                } else {
+                                    lastDMode[whichTouched]=99;//repaint to clear highlight
+                                } 
                                 break;
                              
                              case 22: // right-middle col, bottom row (not nav)
                                 if (dMode[whichTouched] == indexScreen) { // gg - index
                                     dMode[whichTouched] = dateScreen ; // GoTo Set Date/Time Screen   
-                                }
+                                } else {
+                                    lastDMode[whichTouched]=99;//repaint to clear highlight
+                                } 
                                 break;
 
                              case 32: // right col, bottom row (not nav)
                                 if (dMode[whichTouched] == indexScreen) { // gg - index
                                     dMode[whichTouched] = logScreen ; // GoTo Log Screen
                                     sMode=0;
-                                }
+                                } else {
+                                    lastDMode[whichTouched]=99;//repaint to clear highlight
+                                } 
                                 break;
 
                             //-----------------------------------