 
 
 void WriteDataToLogger(float Temperature, float Pressure, float Altitude, float Latitude, float Longitude) {
-  DataLogger.listen();
+  if(!DataLogger.isListening()) { DataLogger.listen(); }
+
   DataLogger.print(Temperature, 2);
   DataLogger.print(",");
   DataLogger.print(Pressure, 0);


// *********************************************************************
// GPS Receiver subroutines
void GetGPSData() 
{
  int i = 0;
  gpsSerial.listen();
  char ch = gpsSerial.read();
  while (ch != '\n' && i < sentenceSize)
  {
    sentence[i] = ch;
    i++;
  }

  sentence[i] = '\0';
}


void getField(char* buffer, int index)
{
  int sentencePos = 0;


// *********************************************************************
// Pressure Sensor settings/variables
float RawTemp, CurrentTemp;

#define BMP085_ADDRESS 0x77  // I2C address of BMP085
const unsigned char OSS = 0;  // Oversampling Setting

