test fork
Dependencies: SPI_TFTx2 SPI_TFTx2_ILI9341 TFT_fonts TOUCH_TFTx2 mbed
Fork of CANary_9341 by
Diff: displayModes.cpp
- Branch:
- Metric
- Revision:
- 123:a8c0042df617
- Parent:
- 122:138a40892a4c
- Child:
- 124:0d622967b764
--- a/displayModes.cpp Wed Jul 17 13:48:51 2013 +0000 +++ b/displayModes.cpp Fri Jul 19 12:48:10 2013 +0000 @@ -234,7 +234,7 @@ void healthDisplay (bool force, bool showButtons){ unsigned short gids, SOC_x10; static unsigned short lgids=0, lSOC=0, lSOH=0; - static float lmaxTemp=0, lresr=0, lunlV=0; + static float lTire=0, lresr=0, lunlV=0; static unsigned long lAh=0; CANMessage msg; @@ -287,21 +287,22 @@ printf(" %4.2f Ah cap \n",(float)Ah_x10000/10000); lAh=Ah_x10000; } - if(force||maxTemp!=lmaxTemp){ + if(force||unloadedV_x2!=lunlV){ tt.locate(10,130); - printf(" %4.1f %s (max) \n",convertTemperature(maxTemp),temperatureUnit()); - lmaxTemp=maxTemp; - } - if(force||unloadedV_x2!=lunlV){ - tt.locate(10,160); printf(" %4.1f V \n",unloadedV_x2/2); lunlV=unloadedV_x2; } if(force||Resr!=lresr){ - tt.locate(10,190); + tt.locate(10,160); printf(" %3.0f mOhms \n",Resr*1000); lresr=Resr; } + if(force||(queryData[DataBaseG7*7+8]!=lTire)){ + tt.locate(10,190); + printf("%3.1f %3.1f %3.1f %3.1f\n",(float)queryData[DataBaseG7*7+5]/4,(float)queryData[DataBaseG7*7+6]/4,(float)queryData[DataBaseG7*7+7]/4,(float)queryData[DataBaseG7*7+8]/4); + lTire=queryData[DataBaseG7*7+8]; + } + } void braking (bool force, bool showButtons, bool prdata=false){ @@ -460,7 +461,7 @@ min=9999; avg=0; for(i=0; i<96; i++){ - bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4]; + bd=(queryData[DataBaseG2*7+i*2+3]<<8)+queryData[DataBaseG2*7+i*2+4]; avg+=bd; if(bd>max) max=bd; if(bd<min) min=bd; @@ -481,8 +482,8 @@ case 1: tt.locate(0,6); 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(queryData[DataBaseG4*7+5]),sTemperatureUnit,convertTemperature(queryData[DataBaseG4*7+8]),sTemperatureUnit, + convertTemperature(queryData[DataBaseG4*7+11]),sTemperatureUnit,convertTemperature(queryData[DataBaseG4*7+14]),sTemperatureUnit); 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); @@ -493,12 +494,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[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]); + (queryData[DataBaseG2*7+i*12+3]<<8)+queryData[DataBaseG2*7+i*12+4],(queryData[DataBaseG2*7+i*12+5]<<8)+queryData[DataBaseG2*7+i*12+6], + (queryData[DataBaseG2*7+i*12+7]<<8)+queryData[DataBaseG2*7+i*12+8],(queryData[DataBaseG2*7+i*12+9]<<8)+queryData[DataBaseG2*7+i*12+10], + (queryData[DataBaseG2*7+i*12+11]<<8)+queryData[DataBaseG2*7+i*12+12],(queryData[DataBaseG2*7+i*12+13]<<8)+queryData[DataBaseG2*7+i*12+14]); } for(i=(step-2)*24; i<(step-1)*24; i++){ - bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4]; + bd=(queryData[DataBaseG2*7+i*2+3]<<8)+queryData[DataBaseG2*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); @@ -583,7 +584,7 @@ // calc each cell-pair voltage, find max and min for(i=0; i<96; i++){ - bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4]; + bd=(queryData[DataBaseG2*7+i*2+3]<<8)+queryData[DataBaseG2*7+i*2+4]; nBar[i] = bd; // init to bar height avg+=bd; if(bd>max) max=bd; @@ -637,14 +638,14 @@ } // values, for now - // BatDataBaseG4 * 7 = 280 + // DataBaseG4 * 7 = 280 tt.locate( 0, yWinMax+40 ); 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(queryData[DataBaseG4*7+5]),sTemperatureUnit,convertTemperature(queryData[DataBaseG4*7+8]),sTemperatureUnit, + convertTemperature(queryData[DataBaseG4*7+11]),sTemperatureUnit,convertTemperature(queryData[DataBaseG4*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, queryData[DataBaseG4*7+5],queryData[DataBaseG4*7+8], queryData[DataBaseG4*7+11],queryData[DataBaseG4*7+14]); // label the X axis (approximate) tt.locate( 2, yWinMax+5); printf("%04d", min ); @@ -710,7 +711,7 @@ min=9999; avg=0; for(i=0; i<96; i++){ - bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4]; + bd=(queryData[DataBaseG2*7+i*2+3]<<8)+queryData[DataBaseG2*7+i*2+4]; avg+=bd; if(bd>max) max=bd; if(bd<min) min=bd; @@ -748,7 +749,7 @@ // do the bin counting for(int i=0; i<96; i++){ - bd=(battData[BatDataBaseG2*7+i*2+3]<<8)+battData[BatDataBaseG2*7+i*2+4] - min ; + bd=(queryData[DataBaseG2*7+i*2+3]<<8)+queryData[DataBaseG2*7+i*2+4] - min ; if( bd > iBinValMax ) bd = iBinValMax ; nBin[bd] ++ ; } @@ -767,14 +768,14 @@ } // the values, for now - // BatDataBaseG4 * 7 = 280 + // DataBaseG4 * 7 = 280 tt.locate( 0, yWinMax+40 ); 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(queryData[DataBaseG4*7+5]),sTemperatureUnit,convertTemperature(queryData[DataBaseG4*7+8]),sTemperatureUnit, + convertTemperature(queryData[DataBaseG4*7+11]),sTemperatureUnit,convertTemperature(queryData[DataBaseG4*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[BatDataBaseG2*7+BatDataBaseG4*7+5],battData[BatDataBaseG2*7+BatDataBaseG4*7+8], battData[BatDataBaseG2*7+BatDataBaseG4*7+11],battData[BatDataBaseG2*7+BatDataBaseG4*7+14]); + // max,min,avg,jv, queryData[DataBaseG2*7+DataBaseG4*7+5],queryData[DataBaseG2*7+DataBaseG4*7+8], queryData[DataBaseG2*7+DataBaseG4*7+11],queryData[DataBaseG2*7+DataBaseG4*7+14]); //--------------- // show the bars