Dual CANbus monitor and instrumentation cluster supporting ILI9341 display controller

Dependencies:   SPI_TFTx2_ILI9341 TOUCH_TFTx2_ILI9341 TFT_fonts mbed

Fork of CANary by Tick Tock

Revision:
27:6bd073c33977
Parent:
26:462ccb580472
Child:
28:f24ac05645d9
--- a/displayModes.cpp	Sat Mar 16 02:07:09 2013 +0000
+++ b/displayModes.cpp	Sat Mar 16 02:47:26 2013 +0000
@@ -112,7 +112,7 @@
 
 void braking (bool force, bool prdata=false){
     unsigned long targetBraking, regenBraking, speed;
-    static unsigned long maxTarget = 0, maxRegen = 0, tarDivReg = 1000;
+    static unsigned long maxTarget = 20000, maxRegen = 20000, tarDivReg = 1000;
     short rpm;
     unsigned long temp;
     static unsigned char lastPressure[4] = {200,200,200,200};
@@ -167,54 +167,39 @@
         }
     }
 
-    if(targetBraking>50){
-        temp = targetBraking;
-        temp *=200;
-        temp /= maxTarget;
-        t = (char) temp;
-        if (t>200) t=200;
-        temp = regenBraking;
-        temp *= tarDivReg;
-        temp /= maxTarget;
-        temp /= 5;
-        r = (char) temp;
-        if (r>200) r=200;
-        if(lr!=r&&prdata){
-            tt.foreground(Yellow);
-            tt.set_font((unsigned char*) Arial28x28);
-            tt.locate(100,40);
-            printf("%d %d    \n",regenBraking,maxRegen);
-            tt.locate(100,70);
-            printf("%3.1f (%3.1f%s)    \n",(float)tarDivReg/10,(float)regenBraking*tarDivReg/targetBraking/10,"%");
-        }    
-        if(lt!=t&&prdata){
-            tt.foreground(Yellow);
-            tt.set_font((unsigned char*) Arial28x28);
-            tt.locate(100,10);
-            printf("%d %d    \n",targetBraking,maxTarget);
-        }
-        if (r>t) t=r;  //Should never happen
-        if((lr!=r||lt!=t)&&!prdata){
-            tt.fillrect(200,10,300,239-t,Navy);
-            tt.fillrect(200,239-t,300,239-r,Red);
-            tt.fillrect(200,239-r,300,239,Green);
-        }
-        /*if((lr!=r||lt!=t)&&!prdata){
-            if(t<lt){
-                tt.fillrect(200,238-lt,300,237-t,Navy);
-                if(t<lr) lr=t;
-            } else {
-                tt.fillrect(200,238-t,300,238-lt,Red);
-            }
-            if(r<lr){
-                tt.fillrect(200,238-lr,300,237-r,Red);
-            } else {
-                tt.fillrect(200,238-r,300,238-lr,Green);
-            }
-        }*/
-        lt=t;
-        lr=r;
+    temp = targetBraking;
+    temp *=200;
+    temp /= maxTarget;
+    t = (char) temp;
+    if (t>200) t=200;
+    temp = regenBraking;
+    temp *= tarDivReg;
+    temp /= maxTarget;
+    temp /= 5;
+    r = (char) temp;
+    if (r>200) r=200;
+    if(lr!=r&&prdata){
+        tt.foreground(Yellow);
+        tt.set_font((unsigned char*) Arial28x28);
+        tt.locate(100,40);
+        printf("%d %d    \n",regenBraking,maxRegen);
+        tt.locate(100,70);
+        printf("%3.1f (%3.1f%s)    \n",(float)tarDivReg/10,(float)regenBraking*tarDivReg/targetBraking/10,"%");
+    }    
+    if(lt!=t&&prdata){
+        tt.foreground(Yellow);
+        tt.set_font((unsigned char*) Arial28x28);
+        tt.locate(100,10);
+        printf("%d %d    \n",targetBraking,maxTarget);
     }
+    if (r>t) t=r;  //Should never happen
+    if((lr!=r||lt!=t)&&!prdata){
+        tt.fillrect(200,10,300,239-t,Navy);
+        tt.fillrect(200,239-t,300,239-r,Red);
+        tt.fillrect(200,239-r,300,239,Green);
+    }
+    lt=t;
+    lr=r;
 }
 
 void cpData(bool force){
@@ -361,11 +346,11 @@
             printDTE(changed);
             break;
         case brakeScreen:
-            braking(changed,true);
+            braking(changed);
             break;
         case powerScreen:
-            braking(changed);
-            break;
+            //braking(changed, true);
+            //break;
         case monitorScreen:
             printLast(changed);
             break;