Attempts to merge SPI_TFT2 & SPI_TFT_ILI9341
Dependencies: SPI_TFTx2 TFT_fonts TOUCH_TFTx2 mbed
Fork of CANary by
Diff: main.cpp
- Revision:
- 77:7c136766466c
- Parent:
- 76:fb6779d0963e
- Child:
- 78:a383971fe02f
- Child:
- 80:24f1793171e7
--- a/main.cpp Mon Apr 15 14:40:05 2013 +0000 +++ b/main.cpp Tue Apr 16 03:28:55 2013 +0000 @@ -8,6 +8,7 @@ // * Better graphical DTE display with historic efficiency information considered and displayed // * Add 50% charge option // * Tire Pressure Sensor display +// * Fix bug in playback while connected to canbus (hangs) #include "mbed.h" #include "CAN.h" @@ -49,7 +50,7 @@ // gg - revStr is used in 2 places // gg - and is easy to edit here // gg - added ZeroSecTick and revStr -char revStr[7] = "76"; // gg - fix rev number +char revStr[7] = "77"; // gg - fix rev number bool logEn = false, logOpen = false; bool yesBattLog = false ; // gg - Batt Log @@ -126,15 +127,6 @@ point lastTouch; float average; - can1.monitor(true); // set to snoop mode - can2.monitor(true); // set to snoop mode - can1.frequency(500000); - can2.frequency(500000); - can1SleepMode = 1; // Turn on Monitor_only Mode - can2SleepMode = 1; // Turn on Monitor_only Mode - can1.attach(&recieve1); - can2.attach(&recieve2); - tt.set_orientation(1); tt.background(Black); tt.set_display(2); // select both displays @@ -231,6 +223,16 @@ // Read config file readConfig(); + // Start monitors + can1.monitor(true); // set to snoop mode + can2.monitor(true); // set to snoop mode + can1.frequency(500000); + can2.frequency(500000); + can1SleepMode = 1; // Turn on Monitor_only Mode + can2SleepMode = 1; // Turn on Monitor_only Mode + can1.attach(&recieve1); + can2.attach(&recieve2); + touched=false; secsNoTouch=2; while (true) { @@ -273,12 +275,6 @@ spkr.beep(1000,0.25); logEn=false; } else { - //moved overrun detection to the write code in utility.cpp - //if (pointerSep>(maxBufLen*7/8)) { // Hi-water mark - // sprintf(sTemp,"Write buffer overrun.\n"); - // logMsg(sTemp); // write buffer overrun - // spkr.beep(1000,0.25); - //} while (readPointer != writePointer) { for (j = 0; j<13; j++){ fprintf(file,"%c",writeBuffer[readPointer][j]); @@ -290,8 +286,11 @@ } } // if > 1/16 full, canbus has stopped, or logging stopped if (!logEn) { + sprintf(sTemp,"Stopping Can Log %s\n",fileName); + logMsg(sTemp); // stopping alc log file fclose(file); logOpen=false; + pointerSep=0; } } // if logOpen if (canIdle&&userIdle&&!playbackEn) { // canbus idle --> sleep to save power @@ -507,7 +506,7 @@ //------------------------------ case 11: if (dMode[whichTouched]==config1Screen){ - repeatPoll = !repeatPoll&&logEn; + repeatPoll = !repeatPoll; if (repeatPoll) { autoPoll.attach(&autoPollISR,pollInt); } else {