Attempts to merge SPI_TFT2 & SPI_TFT_ILI9341
Dependencies: SPI_TFTx2 TFT_fonts TOUCH_TFTx2 mbed
Fork of CANary by
Diff: main.cpp
- Revision:
- 169:84d790ac18a2
- Parent:
- 168:9227024c4e3a
- Child:
- 170:7ee98e3611bc
--- a/main.cpp Wed Dec 04 12:45:39 2013 +0000 +++ b/main.cpp Tue Dec 17 15:25:41 2013 +0000 @@ -9,9 +9,11 @@ // * Add tire pressure cal (40psi for me = FR 38, RR 38.2, FL 37.8, RL 38 - maybe 2psi error on my tire gauge?) // * Add on screen messages for heater on, etc, and use refresh feature above to clear in x seconds // * Add climate control impact to main max/min dte and new trip display +// * Be more efficient with write buffer (use msgLen instead of always storing 8 bytes) // rev168 // Added trip meter including climate control impact +// Pulled updateConfig to dedicated procedure #include "mbed.h" #include "CAN.h" @@ -472,6 +474,7 @@ if (dMode[whichTouched]==changedScreen) { for(j=0;j<100;j++) msgChanged[j]=0; // clear changed data lastDMode[whichTouched]=99;//force refresh + sMode=0; } else if (dMode[whichTouched] == indexScreen) { // gg - index sMode=0; dMode[whichTouched] = brakeScreen ; // GoTo Brake Screen @@ -513,6 +516,22 @@ dMode[whichTouched]=mainScreen; saveConfig(); beep(2000,0.25); + //write efficiency history data + hfile = fopen("/local/ehist.cny", "w"); + if (hfile!=NULL){ // found a efficiency history file + for(i=0;i<39;i++){ + fprintf(hfile,"%f %f\r\n",mph[i],kW[i]); + } + fprintf(hfile,"%f %f\r\n",maxTripEff,minTripEff); // Save max and min + fprintf(hfile,"%f \r\n",Resr); // Save series resistance + fprintf(hfile,"%f %f\r\n",maxTripMiles,minTripMiles); // Save max and min + fprintf(hfile,"%f %f\r\n",maxTripkWh,minTripkWh); // Save max and min + fprintf(hfile,"%f %f\r\n",maxTripCCkWh,minTripCCkWh); // Save max and min + fclose(hfile); + } + beep(2000,0.25); + } else if (dMode[whichTouched]==config2Screen) { + showHealth = !showHealth; } else if (dMode[whichTouched]==playbackScreen) { // faster if(playbackInt>.002){ playbackInt/=2; @@ -541,7 +560,7 @@ } else if (dMode[whichTouched] == indexScreen) { // gg - index dMode[whichTouched] = healthScreen ; // Goto health screen sMode=0; - } else if (dMode[whichTouched] == testScreen) { // gg - index + } else if (dMode[whichTouched] == testScreen) { // gg - clearTest=true; } else { // top-right corner always mute/unmute unless used by specific screen enableSound = !enableSound; @@ -677,10 +696,13 @@ case 22: // right-middle col, bottom row (not nav) if (dMode[whichTouched]==indexScreen) { // gg - index dMode[whichTouched] = logScreen ; + sMode=0; } else if (dMode[whichTouched]==configScreen) { heaterMon = !heaterMon; } else if (dMode[whichTouched]==config2Screen) { - showHealth = !showHealth; + updateConfig(); + lastDMode[whichTouched]=99;//force refresh + sMode=0; } else { lastDMode[whichTouched]=99;//repaint to clear highlight } @@ -698,6 +720,7 @@ lastDMode[whichTouched]=99;//repaint to clear highlight } else if (dMode[whichTouched]==indexScreen) { dMode[whichTouched] = tripScreen ; + sMode=0; } else if (dMode[whichTouched]==dateScreen){ autoSync=!autoSync; // toggle autoSync mode lastDMode[whichTouched]=99;