Dual CANbus monitor and instrumentation cluster supporting ILI9341 display controller
Dependencies: SPI_TFTx2_ILI9341 TOUCH_TFTx2_ILI9341 TFT_fonts mbed
Fork of CANary by
Diff: displayModes.cpp
- Revision:
- 181:396fdcceefd2
- Parent:
- 180:5fdeeb86f3a3
- Child:
- 182:10017d74de67
--- a/displayModes.cpp Mon Mar 24 01:18:05 2014 +0000 +++ b/displayModes.cpp Tue Mar 25 19:57:08 2014 +0000 @@ -37,11 +37,14 @@ if (useable_kWh<0){ useable_kWh=0; } - tt.locate(181,4); + //tt.locate(181,4); + tt.locate(170,4); //LAJ temp if (useable_kWh<9.95){ - printf("%3.2fkWh\n",useable_kWh); + //printf("%3.2fkWh\n",useable_kWh); + printf("%3.2f %3.2f\n",useable_kWh,(wh[gids]-400)/1000); //LAJ temp } else { - printf("%3.1fkWh\n",useable_kWh); + //printf("%3.1fkWh\n",useable_kWh); + printf("%3.1f %3.1f\n",useable_kWh,(wh[gids]-400)/1000); //LAJ temp } } if(force||SOC_x10!=lSOC){ @@ -1444,9 +1447,9 @@ // find max/min/avg if(showWh){ - for(i=0; i<300; i++){ + for(i=0; i<299; i++){ if(wh[i]>0){ - j=(wh[i]-wh[i+1]); + j=(wh[i+1]-wh[i]); avg+=j; if(j>maxVal) maxVal=j; if(j<minVal) minVal=j; @@ -1455,7 +1458,7 @@ } } }else{ - for(i=0; i<300; i++){ + for(i=0; i<299; i++){ if(whpg[i]>0){ j=(whpg[i]-whpg[i+1]); avg+=j; @@ -1481,30 +1484,24 @@ // draw the Frame, 2 pixels wide 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){ + tt.line(xWinMin,yWinMax-i,xWinMax,yWinMax-i,DarkGrey); + } + for( i=20; i<xWinMax-xWinMin; i+=20){ + tt.line(xWinMin+i,yWinMin,xWinMin+i,yWinMax,DarkGrey); + } //---------------- if( maxVal > minVal ) { // label the Y axis - tt.locate( 2, yWinMin-14); printf("200\n"); - tt.locate( 2, yWinMax+5); printf("0\n"); - tt.locate( 2, yWinMax-avg-18); printf("%3.1f\n", avg ); - tt.locate( 2, yWinMax-avg+2); printf("avg\n"); + 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 ); for( i=4; i<=286; i++) { - if(showWh){ - y = wh[i]-wh[i-1]; - tt.fillcircle(i+xWinMin,yWinMax-y,2,Green); - }else{ - if((whpg[i-4]>0)&&(whpg[i+4]>0)){ - y = (whpg[i-4]-whpg[i+4])/4; - }else{ - y = whpg[i]; - } - if( (y>20) && (y<180) && whpg[i]>0){ - tt.fillcircle(i+xWinMin,yWinMax-y,2,Yellow); - } - } 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 @@ -1518,6 +1515,19 @@ // 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); + }else{ + if((whpg[i-4]>0)&&(whpg[i+4]>0)){ + y = (whpg[i-4]-whpg[i+4])/8; + }else{ + y = whpg[i]; + } + if( (y>20) && (y<180) && whpg[i]>0){ + tt.fillcircle(i+xWinMin,yWinMax-y,2,Yellow); + } + } } } }