Dual CANbus monitor and instrumentation cluster
Dependencies: SPI_TFTx2 TFT_fonts TOUCH_TFTx2 beep mbed
Fork of CANary by
Diff: displayModes.cpp
- 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;