Attempts to merge SPI_TFT2 & SPI_TFT_ILI9341

Dependencies:   SPI_TFTx2 TFT_fonts TOUCH_TFTx2 mbed

Fork of CANary by Tick Tock

Revision:
182:10017d74de67
Parent:
181:396fdcceefd2
Child:
184:5ca7b78297fe
--- a/displayModes.cpp	Tue Mar 25 19:57:08 2014 +0000
+++ b/displayModes.cpp	Sun Mar 30 03:00:14 2014 +0000
@@ -1427,51 +1427,41 @@
 }
 
 void whpgDisplay(bool force, bool showButtons, bool showWh){ 
-    unsigned short maxVal, minVal, maxGid, minGid, i, j, y;
-    float avg;
+    unsigned short maxGid, minGid, i, y, delta;
     static unsigned short lmg;
 
     tt.foreground(White);
     tt.background(Navy);
     tt.set_font((unsigned char*) Arial12x12_prop);  // select the font
 
-    maxVal=0;
-    minVal=9999;
     maxGid=0;
     minGid=9999;
-    avg=0;
+    delta=0;
 
     if(force){
         lmg=281;
     }
 
-    // find max/min/avg
+    // find max/min/delta
     if(showWh){
-        for(i=0; i<299; i++){
+        for(i=0; i<300; i++){
             if(wh[i]>0){
-                j=(wh[i+1]-wh[i]);
-                avg+=j;
-                if(j>maxVal) maxVal=j;
-                if(j<minVal) minVal=j;
                 if(i>maxGid) maxGid=i;
                 if(i<minGid) minGid=i;
             }
         }
+        delta = (wh[maxGid]-wh[minGid]);
     }else{
-        for(i=0; i<299; i++){
+        for(i=0; i<300; i++){
             if(whpg[i]>0){
-                j=(whpg[i]-whpg[i+1]);
-                avg+=j;
-                if(j>maxVal) maxVal=j;
-                if(j<minVal) minVal=j;
                 if(i>maxGid) maxGid=i;
                 if(i<minGid) minGid=i;
             }
         }
+        delta = (whpg[minGid]-whpg[maxGid]);
     }
-    avg /= (maxGid-minGid+1);
 
-    if (minGid<lmg){ //update if new data
+    if (force||(minGid<lmg)){ //update if new data
         lmg = minGid;
         //------------------
         tt.cls();
@@ -1485,36 +1475,45 @@
         tt.rect( xWinMin-1,yWinMin-1, xWinMax+1,yWinMax+1, Red);
         tt.rect( xWinMin-2,yWinMin-2, xWinMax+2,yWinMax+2, Green);
         // draw grid
-        for( i=20; i<yWinMax-yWinMin; i+=20){
+        for( i=0; i<yWinMax-yWinMin; i+=20){
             tt.line(xWinMin,yWinMax-i,xWinMax,yWinMax-i,DarkGrey);
+            if(i%40 == 0){
+                // label the y axis each 40
+                tt.line( xWinMin-8,yWinMax-i, xWinMin-2,yWinMax-i, White );  // a white tick mark
+                tt.locate( 0, yWinMax-i-4 );
+                printf("%d\n", i );
+            }
         }
-        for( i=20; i<xWinMax-xWinMin; i+=20){
-            tt.line(xWinMin+i,yWinMin,xWinMin+i,yWinMax,DarkGrey);
+        for( i=0; i<xWinMax-xWinMin; i+=10){
+            // tic mark the x axis each 10
+            tt.line( i+xWinMin,yWinMax+2, i+xWinMin,yWinMax+4, White );  // a white tick mark
+            if(i%40 == 0){
+                // label the x axis each 40
+                tt.line( i+xWinMin,yWinMax+2, i+xWinMin,yWinMax+8, White );  // a white tick mark
+                if(i<100){
+                    tt.locate( i+xWinMin-7, yWinMax+8 );
+                }else{
+                    tt.locate( i+xWinMin-15, yWinMax+8 );
+                }
+                printf("%d\n", i );
+            }
+            if(i%20 == 0){
+                tt.line(xWinMin+i,yWinMin,xWinMin+i,yWinMax,DarkGrey);
+            }
         }
         
-        //----------------
-        if( maxVal > minVal ) {
-
-            // label the Y axis
-            tt.locate( 2, yWinMin-6); printf("%d\n",yWinMax-yWinMin);
-            tt.locate( 2, yWinMax-6); printf("0\n");
-            //tt.locate( xWinMin+3, yWinMax-avg-6); printf("%3.1f avg\n", avg );
-            tt.locate( xWinMin+4, yWinMin+4); printf("%3.1f avg\n", avg );
+        // plot
+        if( maxGid >= minGid ) {
+            tt.locate( xWinMin+4, yWinMin+4);
+            printf("%3.1f avg\n", (float) delta/(maxGid-minGid) );
+            if(debugMode){
+                tt.locate( xWinMin+4, yWinMin+20);
+                printf("minGids=%d; maxGids=%d\n", minGid,maxGid);
+                tt.locate( xWinMin+4, yWinMin+36);
+                printf("minwhpg=%d; maxwhpg=%d\n", whpg[minGid],whpg[maxGid]);
+            }
 
             for( i=4; i<=286; i++) {
-                if(i%40 == 0){
-                    // label the x axis each 40
-                    tt.line( i+xWinMin,yWinMax+2, i+xWinMin,yWinMax+8, White );  // a white tick mark
-                    if(i<10){
-                        tt.locate( i+xWinMin-12, yWinMax+8 );
-                    }else{
-                        tt.locate( i+xWinMin-20, yWinMax+8 );
-                    }
-                    printf("%d\n", i );
-                } else if(i%10 == 0){
-                    // tic mark the x axis each 10
-                    tt.line( i+xWinMin,yWinMax+2, i+xWinMin,yWinMax+4, White );  // a white tick mark
-                }
                 if(showWh){
                     y =  wh[i]-wh[i-1];
                     tt.fillcircle(i+xWinMin,yWinMax-y,2,Green);