Attempts to merge SPI_TFT2 & SPI_TFT_ILI9341

Dependencies:   SPI_TFTx2 TFT_fonts TOUCH_TFTx2 mbed

Fork of CANary by Tick Tock

Files at this revision

API Documentation at this revision

Comitter:
garygid
Date:
Thu Apr 11 18:52:12 2013 +0000
Parent:
65:821fc79cd7fe
Child:
68:10f7d7dbae19
Child:
69:6bfdfc002036
Commit message:
Added Index Screen with 10 GoTo Buttons

Changed in this revision

displayModes.cpp Show annotated file Show diff for this revision Revisions of this file
displayModes.h 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
--- a/displayModes.cpp	Wed Apr 10 15:08:38 2013 +0000
+++ b/displayModes.cpp	Thu Apr 11 18:52:12 2013 +0000
@@ -359,6 +359,49 @@
 }
 
 //----------------
+// gg - index
+void showIndex(bool force, bool showButtons){ 
+
+    if(force){
+        tt.foreground(White);
+        tt.background(Navy);
+        //tt.set_font((unsigned char*) Arial12x12_prop);  // select the font
+       
+        tt.cls();
+        
+        // add the buttons to GoTo to other screens
+
+        tt.foreground(Yellow);
+        tt.background(DarkCyan);
+        tt.set_font((unsigned char*) Arial12x12);
+        
+         // top row
+        showButton(0,0," GoTo"," Main",4,4);               
+        showButton(1,0," GoTo"," Brake",4,4);               
+        showButton(2,0," GoTo"," EFF",4,4);               
+        showButton(3,0," GoTo"," DTE",4,4);     
+        // middle row
+        showButton(0,1," GoTo","CP Data",4,4);               
+        showButton(1,1," GoTo","CP Hist",4,4);               
+        showButton(2,1," GoTo","CP Bars",4,4);     
+        // bottom (not Nav) row
+        showButton(0,2," GoTo"," Config",4,4);               
+        showButton(1,2," GoTo","Playback",4,4);               
+        showButton(2,2," GoTo","Set Time",4,4);             
+    
+        showCP=false;
+    }
+    
+    if(sMode==1&&showButtons){
+        tt.foreground(Yellow);
+        tt.background(DarkCyan);
+        tt.set_font((unsigned char*) Arial12x12);
+        
+        // do nothing here?
+    }
+}
+
+//----------------
 // gg - cpbars
 void cpBarPlot(bool force, bool showButtons){ 
     short unsigned max, min, jv, i, bd;
@@ -894,6 +937,9 @@
         case cpBarScreen: // gg - cpbars
             cpBarPlot(changed||showCP,(display==whichTouched));
             break;
+        case indexScreen:
+            showIndex(changed,(display==whichTouched));
+            break;
         default:
             if (changed){
                 tt.background(Black);
@@ -911,10 +957,11 @@
                 tt.set_font((unsigned char*) Arial12x12);   
                            
                 showButton(0,tNavRow," <-Prev","",4,4); // gg - 4x4
+                // col 1 see below
+                showButton(2,tNavRow," Go To"," Index",4,4); // gg - index
                 showButton(3,tNavRow," Next->","",4,4); // gg - move next
-                               
-                showButton(2,tNavRow," Go To"," Main",4,4); // gg - index
                 
+                // col 1 in Nav row                              
                 switch (dMode[display]) {
                     case offScreen:
                         sprintf(sTemp2,"  Off");
@@ -941,7 +988,7 @@
                         sprintf(sTemp2,"DeltaMon");
                         break;
                     case cpScreen:
-                        sprintf(sTemp2,"Cell Pair");
+                        sprintf(sTemp2,"CP Data");
                         break;
                     case config1Screen:
                         sprintf(sTemp2," Config");
@@ -958,6 +1005,9 @@
                     case cpBarScreen: // gg - cpbars
                         sprintf(sTemp2,"CP Bars");
                         break;
+                    case indexScreen: // gg - index
+                        sprintf(sTemp2," Index");
+                        break;
                 }
                 showButton(1,tNavRow," Select",sTemp2,4,4);
                 
--- a/displayModes.h	Wed Apr 10 15:08:38 2013 +0000
+++ b/displayModes.h	Thu Apr 11 18:52:12 2013 +0000
@@ -46,6 +46,7 @@
     void cpData(bool force, bool showButtons);
     void cpHistogram(bool force, bool showButtons); // gg - hist
     void cpBarPlot(bool force, bool showButtons); // gg - cpbars
+    void showIndex(bool force, bool showButtons); // gg - index
     void showDateTime(bool force, bool showButtons);
     void updateDisplay(char display);
     void showButton(unsigned char column, unsigned char row, char * text1, char * text2, unsigned char columns, unsigned char rows);
--- a/main.cpp	Wed Apr 10 15:08:38 2013 +0000
+++ b/main.cpp	Thu Apr 11 18:52:12 2013 +0000
@@ -158,7 +158,9 @@
     
     // revision
     //sprintf(sTemp,"CANary firmware rev62\n"); // wrong rev, should be rev63
-    sprintf(sTemp,"CANary firmware rev64\n");
+    //sprintf(sTemp,"CANary firmware rev64\n");
+    //sprintf(sTemp,"CANary firmware rev64-gg1\n"); // gg - adding Index screen
+    sprintf(sTemp,"CANary firmware rev65\n"); // gg - commit Index screen
     logMsg(sTemp);
 
     // Look for new binary on thumbdrive
@@ -373,9 +375,11 @@
                         if( tRow == tNavRow ) tRow = 7 ; // gg                   
                         switch ( (tCol*10) + tRow ) {
                             //---------------------------------
-                            case 00: // 00 on screen 0 or 1
+                            case 00: // top row, left button on screen 0 or 1
                                 if (dMode[whichTouched]==monitorScreen||dMode[whichTouched]==changedScreen) {
-                                indexOffset=indexOffset>4?indexOffset-4:1;
+                                    indexOffset=indexOffset>4?indexOffset-4:1;
+                                } else if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = mainScreen ; // GoTo Main Screen
                                 } else if (dMode[whichTouched]==config1Screen) {
                                     wait_ms(500);
                                     tt.background(Black);
@@ -391,10 +395,12 @@
                                 }
                                 break;
                             //-----------------------------------------------
-                            case 10: // 1,0 (col,row) on screen 0 or 1
+                            case 10: // 1,0 (col left of center,top row) on screen 0 or 1
                                 if (dMode[whichTouched]==changedScreen) {
                                     for(j=0;j<100;j++) msgChanged[j]=0; // clear changed data
                                     lastDMode[whichTouched]=99;//force refresh
+                                } else if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = brakeScreen ; // GoTo Brake Screen
                                 } else if (dMode[whichTouched]==cpScreen) {
                                     pollCP=true;
                                 } else if (dMode[whichTouched]==cpHistScreen) { // gg - hist
@@ -419,6 +425,8 @@
                             case 20: // col 2 and row 0 on either screen 0 or 1
                                 if (dMode[whichTouched]==monitorScreen||dMode[whichTouched]==changedScreen) {
                                     indexOffset=indexOffset<77?indexOffset+4:80;
+                                } else if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = effScreen ; // GoTo EFF Screen
                                 } else if (dMode[whichTouched]==config1Screen) {
                                     sprintf(sTemp,"Saving config file.\n");
                                     logMsg(sTemp);
@@ -438,7 +446,7 @@
 
                                 break;
                                 
-                            case 30: // rightmost on top row
+                            case 30: // right-most on top row
                                 
                                 if (dMode[whichTouched]==config1Screen) {
                                     // step through skins
@@ -454,7 +462,8 @@
                                     //logMsg(sTemp);
                                     //saveConfig();
                                     //spkr.beep(2000,0.25);
-                               
+                                } else if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = dteScreen ; // GoTo DTE Screen
                                 }else{
                                     lastDMode[whichTouched]=99;//repaint to clear highlight
                                 }
@@ -462,10 +471,13 @@
                                 break;
                             //----------------------------------
                             //----------------------------------
-                            case 01: // col 0 row 1
+                            case 01: // left col middle row
                                 if (dMode[whichTouched]==config1Screen) {
                                     logEn = !logEn;
                                     if (!logEn) repeatPoll=false; // disable auto polling, too
+                                } else if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = cpScreen ; // GoTo CP Data Screen
+                                
                                 } else if (dMode[whichTouched]==dateScreen){
                                     dtMode=(dtMode<6)?dtMode+1:0;
                                     lastDMode[whichTouched]=99;
@@ -483,6 +495,9 @@
                                     } else {
                                         autoPoll.detach();
                                     }
+                                } else if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = cpHistScreen ; // GoTo CP Hist Screen
+                                    
                                 } else if (dMode[whichTouched]==playbackScreen) {
                                     // Start/stop playback
                                     if(!playbackOpen){
@@ -528,7 +543,8 @@
                             case 21: // col 2 row 1
                                 if (dMode[whichTouched]==config1Screen) { // gg - Batt Log Enable Button
                                     yesBattLog = !yesBattLog;
-                                    
+                                } else if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = cpBarScreen ; // GoTo CP Bars Screen  
                                 } else if (dMode[whichTouched]==dateScreen){
                                     upDate(dtMode,false);
                                     lastDMode[whichTouched]=99;
@@ -539,6 +555,25 @@
                                 break;
                                 
                             //-----------------------------------
+                            case 02: // left col, bottom row (not nav)
+                                if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = config1Screen ; // GoTo Config Screen   
+                                }
+                                break;
+                                
+                             case 12: // left-middle col, bottom row (not nav)
+                                if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = playbackScreen ; // GoTo Playback Screen   
+                                }
+                                break;
+                             
+                             case 22: // right-middle col, bottom row (not nav)
+                                if (dMode[whichTouched] == indexScreen) { // gg - index
+                                    dMode[whichTouched] = dateScreen ; // GoTo Set Date/Time Screen   
+                                }
+                                break;
+                                
+                            //-----------------------------------
                             //-----------------------------------
                             // Prev Navigation
                             case 07: // col 0 row tNavRow
@@ -554,7 +589,7 @@
                             //-----------------------------------
                             // Index Navigation
                             case 27: // col 2 row tNavRow
-                                dMode[whichTouched]= mainScreen; // indexScreen ; // gg - index
+                                dMode[whichTouched]= indexScreen ; // gg - index
                                 break;
                             //------------------------------------
                             // Next Navigation