From 7d26dc0589f19815522d02b4a86a99a919272d92 Mon Sep 17 00:00:00 2001 From: Stanley Huang Date: Sun, 18 Aug 2013 12:47:59 +0800 Subject: update GPS logger --- gpslogger/MicroLCD.h | 2 +- gpslogger/gpslogger.cbp | 1 + gpslogger/gpslogger.ino | 23 ++++++++++++++++++----- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/gpslogger/MicroLCD.h b/gpslogger/MicroLCD.h index 1206414..6b01495 100644 --- a/gpslogger/MicroLCD.h +++ b/gpslogger/MicroLCD.h @@ -6,7 +6,7 @@ *************************************************************************/ #if !defined(__AVR_ATmega2560__) && !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega644P__) -#define MEMORY_SAVING +//#define MEMORY_SAVING #endif typedef enum { diff --git a/gpslogger/gpslogger.cbp b/gpslogger/gpslogger.cbp index f0bf1ef..f721d9d 100644 --- a/gpslogger/gpslogger.cbp +++ b/gpslogger/gpslogger.cbp @@ -652,6 +652,7 @@ + diff --git a/gpslogger/gpslogger.ino b/gpslogger/gpslogger.ino index d43e4e7..fbfa08d 100644 --- a/gpslogger/gpslogger.ino +++ b/gpslogger/gpslogger.ino @@ -14,7 +14,12 @@ #include "datalogger.h" #include "images.h" +#if defined(__AVR_ATmega644P__) #define DISPLAY_MODES 2 +#else +#define DISPLAY_MODES 1 +#endif + #define USE_MPU6050 0 #define SD_CS_PIN SS @@ -50,8 +55,6 @@ byte displayMode = 0; TinyGPS gps; // SD card -Sd2Card card; -SdVolume volume; File sdfile; CDataLogger logger; @@ -147,9 +150,13 @@ void processGPS() bool CheckSD() { + Sd2Card card; + SdVolume volume; + lcd.setCursor(0, 0); lcd.setFont(FONT_SIZE_MEDIUM); pinMode(SS, OUTPUT); + if (card.init(SPI_HALF_SPEED, SD_CS_PIN)) { const char* type; char buf[20]; @@ -338,7 +345,7 @@ void setup() } } while (sat < 3 && millis() - start < 30000); - GPSUART.println(PMTK_SET_NMEA_UPDATE_10HZ); + //GPSUART.println(PMTK_SET_NMEA_UPDATE_10HZ); logger.openFile(LOG_TYPE_ROUTE, FLAG_CYCLING | FLAG_GPS | (acc ? FLAG_ACC : 0)); @@ -394,6 +401,7 @@ void displaySpeedDistance() } } +#if DISPLAY_MODES > 1 void displayTimeSpeedDistance() { uint32_t elapsed = millis() - start; @@ -441,6 +449,7 @@ void displayTimeSpeedDistance() n = distance - n * 1000; lcd.printInt(n / 100); } +#endif void displayMinorInfo() { @@ -473,6 +482,7 @@ void loop() processACC(); #endif +#if DISPLAY_MODES > 1 switch (displayMode) { case 0: displaySpeedDistance(); @@ -481,8 +491,6 @@ void loop() displayTimeSpeedDistance(); } - displayMinorInfo(); - if (digitalRead(8) == 0) { delay(50); if (digitalRead(8) == 0) { @@ -491,4 +499,9 @@ void loop() initScreen(); } } +#else + displaySpeedDistance(); +#endif + + displayMinorInfo(); } -- cgit v1.2.3