test fork
Dependencies: SPI_TFTx2 SPI_TFTx2_ILI9341 TFT_fonts TOUCH_TFTx2 mbed
Fork of CANary_9341 by
Diff: displayModes.cpp
- Branch:
- Metric
- Revision:
- 122:138a40892a4c
- Parent:
- 121:553faf139a20
- Child:
- 123:a8c0042df617
--- a/displayModes.cpp Thu Jul 11 05:29:18 2013 +0000 +++ b/displayModes.cpp Wed Jul 17 13:48:51 2013 +0000 @@ -5,7 +5,7 @@ char sTemp2[16]; void mainDisplay (bool force, bool showButtons){ - unsigned short gids, SOC, packV_x2; + unsigned short gids, SOC_x10, packV_x2; static unsigned short lgids=0, lSOC=0, lSOH=0, lpackV_x2=0, maxPS=0; static float lmaxTemp=0; static float lkW=0, laccV=0, lmpkWh=0; @@ -15,7 +15,7 @@ msg = lastMsg[indexLastMsg[0x5bc]]; //Get gids gids = (msg.data[0]<<2)+(msg.data[1]>>6); msg = lastMsg[indexLastMsg[0x55b]]; //Get SOC - SOC = (msg.data[0]<<2)+(msg.data[1]>>6); + SOC_x10 = (msg.data[0]<<2)+(msg.data[1]>>6); msg = lastMsg[indexLastMsg[0x1db]]; //Get pack volts packV_x2 = (msg.data[2]<<2)+(msg.data[3]>>6); @@ -44,10 +44,10 @@ tt.foreground(Yellow); tt.set_font((unsigned char*) Arial28x28); } - if(force||SOC!=lSOC){ + if(force||SOC_x10!=lSOC){ tt.locate(200,10); - printf("%4.1f%s\n",(float)SOC/10,"% "); - lSOC=SOC; + printf("%4.1f%s\n",(float)SOC_x10/10,"% "); + lSOC=SOC_x10; } if(force||packV_x2!=lpackV_x2){ tt.locate(200,200); @@ -65,19 +65,30 @@ laccV=accV; } if(force||kW[0]!=lkW){ - tt.locate(180,40); - printf("%3.2fkW \n",kW[0]); + if(kW[0]<-10){ //Right justify + tt.locate(171,40); + printf("%4.2fkW\n",kW[0]); + } else if (kW[0]<0){ + tt.locate(171,40); + printf(" %4.2fkW\n",kW[0]); + } else if (kW[0]<10){ + tt.locate(165,40); + printf(" %4.2fkW\n",kW[0]); + } else { + tt.locate(165,40); + printf(" %4.2fkW\n",kW[0]); + } lkW=kW[0]; } - tt.foreground(DarkGrey); + tt.foreground(LightGrey); if(force||Ah_x10000!=lAh){ tt.locate(10,70); printf("% 4.2fAh \n",(float)Ah_x10000/10000); lAh=Ah_x10000; } if(force||SOH_x100!=lSOH){ - tt.locate(180,70); - printf(" %3.1f%s\n",(float)SOH_x100/100,"% "); + tt.locate(200,70); + printf("%4.1f%s\n",(float)SOH_x100/100,"% "); lSOH=SOH_x100; } }else {//if(skin==ggSkin){ @@ -100,10 +111,10 @@ tt.set_font((unsigned char*) Arial28x28); } - if(force||SOC!=lSOC){ + if(force||SOC_x10!=lSOC){ tt.locate(200,10); - printf("%4.1f%s\n",(float)SOC/10,"% "); - lSOC=SOC; + printf("%4.1f%s\n",(float)SOC_x10/10,"% "); + lSOC=SOC_x10; } if(force||packV_x2!=lpackV_x2){ tt.locate(200,200); @@ -139,7 +150,7 @@ msg = lastMsg[i+indexOffset]; printf("%03x : %02x %02x %02x %02x %02x %02x %02x %02x \n",msg.id,msg.data[0],msg.data[1],msg.data[2],msg.data[3],msg.data[4],msg.data[5],msg.data[6],msg.data[7]); } - if((sMode==1)&&showButtons){ + if(showButtons){ tt.foreground(Yellow); tt.background(DarkCyan); tt.set_font((unsigned char*) Arial12x12); @@ -167,11 +178,10 @@ i++; }// if changed }while(i<19&&j<99); - if((sMode==1)&&showButtons){ + if(showButtons){ tt.foreground(Yellow); tt.background(DarkCyan); tt.set_font((unsigned char*) Arial12x12); - showButton(0,0," <up>","",4,4); showButton(2,0," <down>","",4,4); showButton(1,0," Reset","Baseline",4,4); @@ -210,6 +220,8 @@ tt.locate(6,20+i*60); printf("%3.2f : %3.1f : %2.1f\n",kWh_trip[i],convertDistance(miles_trip[i]),convertDistance(miles_trip[i])/kWh_trip[i]); } + } + if(showButtons){ tt.set_font((unsigned char*) Arial12x12); tt.background(DarkCyan); tt.foreground(Yellow); @@ -220,7 +232,7 @@ } void healthDisplay (bool force, bool showButtons){ - unsigned short gids, SOC; + unsigned short gids, SOC_x10; static unsigned short lgids=0, lSOC=0, lSOH=0; static float lmaxTemp=0, lresr=0, lunlV=0; static unsigned long lAh=0; @@ -229,7 +241,7 @@ msg = lastMsg[indexLastMsg[0x5bc]]; //Get gids gids = (msg.data[0]<<2)+(msg.data[1]>>6); msg = lastMsg[indexLastMsg[0x55b]]; //Get SOC - SOC = (msg.data[0]<<2)+(msg.data[1]>>6); + SOC_x10 = (msg.data[0]<<2)+(msg.data[1]>>6); tt.background(Blue); tt.foreground(Yellow); @@ -260,10 +272,10 @@ printf("%4d gids \n",gids); lgids=gids; } - if(force||SOC!=lSOC){ + if(force||SOC_x10!=lSOC){ tt.locate(10,40); - printf(" %4.1f%s \n",(float)SOC/10,"% SOC"); - lSOC=SOC; + printf(" %4.1f%s \n",(float)SOC_x10/10,"% SOC"); + lSOC=SOC_x10; } if(force||SOH_x100!=lSOH){ tt.locate(10,70); @@ -500,7 +512,7 @@ showCP=false; } } - if((sMode==1)&&showButtons){ + if(showButtons){ tt.foreground(Yellow); tt.background(DarkCyan); tt.set_font((unsigned char*) Arial12x12); @@ -530,7 +542,7 @@ showButton(0,0," GoTo"," Main",4,4); showButton(1,0," GoTo"," Brake",4,4); showButton(2,0," GoTo"," EFF",4,4); - showButton(3,0," GoTo"," DTE",4,4); + showButton(3,0," GoTo","Health",4,4); // middle row showButton(0,1," GoTo","CP Data",4,4); showButton(1,1," GoTo","CP Hist",4,4); @@ -905,7 +917,7 @@ tt.set_font((unsigned char*) Arial12x12); strftime(sTemp1, 32, "%a %m/%d/%Y %X \n", &t); printf("%s",sTemp1); - if((sMode==1)&&showButtons){ + if(showButtons){ switch(dtMode){ case 0: sprintf(sTemp1,"Year"); @@ -1140,57 +1152,58 @@ } void updateDisplay(char display){ - bool changed; + bool changed,showButtons; changed = dMode[display]!=lastDMode[display]; + showButtons = (display==whichTouched)&&(sMode==1); tt.set_display(display); switch (dMode[display]) { case logScreen: - printLog(changed,(display==whichTouched)); + printLog(changed,showButtons); break; case mainScreen: - mainDisplay(changed,(display==whichTouched)); + mainDisplay(changed,showButtons); break; case brakeScreen: - braking(changed,(display==whichTouched)); + braking(changed,showButtons); break; case dteScreen: - dteDisplay(changed,(display==whichTouched),true); + dteDisplay(changed,showButtons,true); break; case effScreen: - dteDisplay(changed,(display==whichTouched),false); + dteDisplay(changed,showButtons,false); break; case monitorScreen: - printLast(changed,(display==whichTouched)); + printLast(changed,showButtons); break; case changedScreen: - printChanged(changed,(display==whichTouched)); + printChanged(changed,showButtons); break; case cpScreen: - cpData(changed||showCP,(display==whichTouched)); + cpData(changed||showCP,showButtons); break; case configScreen: - config(changed,(display==whichTouched)); + config(changed,showButtons); break; case playbackScreen: - pbScreen(changed,(display==whichTouched)); + pbScreen(changed,showButtons); break; case dateScreen: - showDateTime(changed,(display==whichTouched)); + showDateTime(changed,showButtons); break; case cpHistScreen: // gg - hist - cpHistogram(changed||showCP,(display==whichTouched)); + cpHistogram(changed||showCP,showButtons); break; case cpBarScreen: // gg - cpbars - cpBarPlot(changed||showCP,(display==whichTouched)); + cpBarPlot(changed||showCP,showButtons); break; case indexScreen: - showIndex(changed,(display==whichTouched)); + showIndex(changed,showButtons); break; case tripScreen: - tripDisplay(changed,(display==whichTouched)); + tripDisplay(changed,showButtons); break; case healthScreen: - healthDisplay(changed,(display==whichTouched)); + healthDisplay(changed,showButtons); break; default: if (changed){