Dual CANbus monitor and instrumentation cluster
Dependencies: SPI_TFTx2 TFT_fonts TOUCH_TFTx2 beep mbed
Fork of CANary by
Diff: displayModes.cpp
- Branch:
- Metric
- Revision:
- 103:1389e9efe8c3
- Parent:
- 102:fd19f777a0b4
- Child:
- 106:f016912a03db
--- a/displayModes.cpp Thu Jun 20 05:35:36 2013 +0000 +++ b/displayModes.cpp Thu Jun 20 23:07:27 2013 +0000 @@ -142,12 +142,12 @@ } if(force||Ah_x10000!=lAh){ tt.locate(10,70); - printf("%4.2fAh \n",(float)Ah_x10000/10000); + printf("% 4.2fAh \n",(float)Ah_x10000/10000); lAh=Ah_x10000; } if(force||SOH_x100!=lSOH){ tt.locate(180,40); - printf("%3.1f%s\n",(float)SOH_x100/100,"% "); + printf(" %3.1f%s\n",(float)SOH_x100/100,"% "); lSOH=SOH_x100; } }else {//if(skin==ggSkin){ @@ -346,7 +346,7 @@ min=9999; avg=0; for(i=0; i<96; i++){ - bd=(battData[i*2+3]<<8)+battData[i*2+4]; + bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4]; avg+=bd; if(bd>max) max=bd; if(bd<min) min=bd; @@ -365,13 +365,12 @@ break; case 1: tt.locate(0,6); - // BatDataBaseG4 * 7 = 280 char* sTemperatureUnit = temperatureUnit(); printf(" MAX MIN AVG CVLI T1 T2 T3 T4\n %04d %04d %04d %04d %2.0f%s %2.0f%s %2.0f%s %2.0f%s\n\n", - max,min,avg,jv, convertTemperature(battData[(BatDataBaseG4*7)+5]),sTemperatureUnit,convertTemperature(battData[(BatDataBaseG4*7)+8]),sTemperatureUnit, - convertTemperature(battData[(BatDataBaseG4*7)+11]),sTemperatureUnit,convertTemperature(battData[(BatDataBaseG4*7)+14]),sTemperatureUnit); + max,min,avg,jv, convertTemperature(battData[BatDataBaseG4*7+5]),sTemperatureUnit,convertTemperature(battData[BatDataBaseG4*7+8]),sTemperatureUnit, + convertTemperature(battData[BatDataBaseG4*7+11]),sTemperatureUnit,convertTemperature(battData[BatDataBaseG4*7+14]),sTemperatureUnit); //printf(" MAX MIN AVG CVLI T1 T2 T3 T4\n %04d %04d %04d %04d %02dC %02dC %02dC %02dC\n\n", - // max,min,avg,jv, battData[(BatDataBaseG4*7)+5],battData[(BatDataBaseG4*7)+8],battData[(BatDataBaseG4*7)+11],battData[(BatDataBaseG4*7)+14]); + // max,min,avg,jv, battData[BatDataBaseG4*7+5],battData[BatDataBaseG4*7+8],battData[BatDataBaseG4*7+11],battData[BatDataBaseG4*7+14]); tt.rect(8+0*41,16,40+0*41,28,Green); tt.rect(8+1*41,16,40+1*41,28,Yellow); //tt.rect(8+2*41,16,40+2*41,28,White); @@ -382,12 +381,12 @@ for(i=(step-2)*4; i<(step-1)*4; i++){ printf("%02d-%02d : %04d %04d %04d %04d %04d %04d\n", i*6+1,i*6+6, - (battData[i*12+3]<<8)+battData[i*12+4],(battData[i*12+5]<<8)+battData[i*12+6], - (battData[i*12+7]<<8)+battData[i*12+8],(battData[i*12+9]<<8)+battData[i*12+10], - (battData[i*12+11]<<8)+battData[i*12+12],(battData[i*12+13]<<8)+battData[i*12+14]); + (battData[BatDataBaseG2*7+i*12+3]<<8)+battData[BatDataBaseG2*7+i*12+4],(battData[BatDataBaseG2*7+i*12+5]<<8)+battData[BatDataBaseG2*7+i*12+6], + (battData[BatDataBaseG2*7+i*12+7]<<8)+battData[BatDataBaseG2*7+i*12+8],(battData[BatDataBaseG2*7+i*12+9]<<8)+battData[BatDataBaseG2*7+i*12+10], + (battData[BatDataBaseG2*7+i*12+11]<<8)+battData[BatDataBaseG2*7+i*12+12],(battData[BatDataBaseG2*7+i*12+13]<<8)+battData[BatDataBaseG2*7+i*12+14]); } for(i=(step-2)*24; i<(step-1)*24; i++){ - bd=(battData[i*2+3]<<8)+battData[i*2+4]; + bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4]; if(bd>0){ if(bd==max) tt.rect(58+(i%6)*41,34+(int)(i/6)*12,90+(i%6)*41,46+(int)(i/6)*12,Green); //if(bd==avg) tt.rect(58+(i%6)*41,34+(int)(i/6)*12,90+(i%6)*41,46+(int)(i/6)*12,White); @@ -471,7 +470,7 @@ // calc each cell-pair voltage, find max and min for(i=0; i<96; i++){ - bd=(battData[i*2+3]<<8)+battData[i*2+4]; + bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4]; nBar[i] = bd; // init to bar height avg+=bd; if(bd>max) max=bd; @@ -528,7 +527,7 @@ // BatDataBaseG4 * 7 = 280 tt.locate( 0, yWinMax+40 ); printf(" MAX MIN AVG CVLI T1 T2 T3 T4\n %04d %04d %04d %04d %02dC %02dC %02dC %02dC\n\n", - max,min,avg,jv, battData[(BatDataBaseG4*7)+5],battData[(BatDataBaseG4*7)+8], battData[(BatDataBaseG4*7)+11],battData[(BatDataBaseG4*7)+14]); + max,min,avg,jv, battData[BatDataBaseG4*7+5],battData[BatDataBaseG4*7+8], battData[BatDataBaseG4*7+11],battData[BatDataBaseG4*7+14]); // label the X axis (approximate) tt.locate( 2, yWinMax+5); printf("%04d", min ); @@ -591,7 +590,7 @@ min=9999; avg=0; for(i=0; i<96; i++){ - bd=(battData[i*2+3]<<8)+battData[i*2+4]; + bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4]; avg+=bd; if(bd>max) max=bd; if(bd<min) min=bd; @@ -629,7 +628,7 @@ // do the bin counting for(int i=0; i<96; i++){ - bd=(battData[i*2+3]<<8)+battData[i*2+4] - min ; + bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4] - min ; if( bd > iBinValMax ) bd = iBinValMax ; nBin[bd] ++ ; } @@ -651,7 +650,7 @@ // BatDataBaseG4 * 7 = 280 tt.locate( 0, yWinMax+40 ); printf(" MAX MIN AVG CVLI T1 T2 T3 T4\n %04d %04d %04d %04d %02dC %02dC %02dC %02dC\n\n", - max,min,avg,jv, battData[(BatDataBaseG4*7)+5],battData[(BatDataBaseG4*7)+8], battData[(BatDataBaseG4*7)+11],battData[(BatDataBaseG4*7)+14]); + max,min,avg,jv, battData[BatDataBaseG2*7+BatDataBaseG4*7+5],battData[BatDataBaseG2*7+BatDataBaseG4*7+8], battData[BatDataBaseG2*7+BatDataBaseG4*7+11],battData[BatDataBaseG2*7+BatDataBaseG4*7+14]); //--------------- // show the bars