   static bool dateTimeToggle = true;
   static bool headingToggle = true;
   static bool hdopToggle = true;
+  bool display12_24_Hour = !digitalRead(DISPLAY_12_HOUR_SW);
+  bool localUTCTimeDate = !digitalRead(CONVERT_TO_LOCAL_SW);
+  bool displayHdop = !digitalRead(DISPLAY_HDOP_SW);
+  bool cardinal8_16 = !digitalRead(CARDINAL_SW);
+  bool notUsedYet = !digitalRead(NOT_USED_YET_SW);
 #endif
 #ifdef DATA_VALID_OVERRIDE
   const bool dataValidOverride = true; // Set true to override data valid for debugging

#else
  // Selects either altitude or the date/time to be displayed
  pinMode(ALTITUDE_DATE_TIME_SW, INPUT);
#endif
  pinMode (ON_BOARD_LED, OUTPUT); // Turn off on-board LED
  digitalWrite (ON_BOARD_LED, LOW); //       "

    lcd.setCursor (0, 1); // Go to 2nd line
    lcd.print("Lon: ");
    lcd.print(GPSData.lon);
    if ((digitalRead(ALTITUDE_DATE_TIME_SW))) {
      // Only display if time/date is selected
      if (!localUTCTimeDate) {
        lcd.print("      "); // Clear the extra chars
        uint8_t DOW = dayOfWeek(GPSData.year, GPSData.month, GPSData.day);
        if (IsDST(GPSData.day, GPSData.month, DOW)) {
          lcd.print("DST");
        }
        else {
          lcd.print(" ST");
        }
      }
      else {
        lcd.print("         "); // Clear the extra chars
      }
    } // if ((digitalRead(ALTITUDE_DATE_TIME_SW)))
    else {
      if (!displayHdop) {
        // Display Horizontal Dilution of Precision (Hdop) with the format X.X
        // It comes in from the GPS module as XXX
        // If you care how Hdop is computed (I don't :-(), see the following:
        // http://www2.unb.ca/gge/Resources/gpsworld.may99.pdf
        float Hdop = (float)GPSData.hdop / 100.0f; // Hdop in X.X format
        lcd.print(" Hdop:");
        if (Hdop < 10.0f) {
          lcd.print(Hdop);
        }
        else {
          // Hdop value too large for my LCD, so cross it out
          // Toggle Hdop indicator every TOGGLETIME_INTERVAL seconds
          if (now - prevHdopTime > TOGGLETIME_INTERVAL / 3) {
            prevHdopTime = now;
            if (hdopToggle) {
              hdopToggle = false;
              lcd.print("XXX");
            }
            else {
              hdopToggle = true;
              lcd.print("   ");
            } // if (hdopToggle)
          } // if (now - prevHdopTime > TOGGLETIME_INTERVAL)
        } // if (Hdop < 10.0f)
      }
      else { // if (!displayHdop)
        // Display horizontal position error in feet
        float hError = (float)GPSData.hdop / 100.0f; // Error in X.X format
        hError *= GPS_RECEIVER_ERROR; // Error in meters
        hError *= _GPS_FEET_PER_METER; // Error in feet
        lcd.print(" Err: ");
        if (hError < 100.0f) {
          lcd.print((uint8_t)hError);
          if (hError < 10.0f) {
            lcd.print("f "); // feet
          }
          else {
            lcd.print("f"); // feet
          }
        }
        else { // if (hError < 100.0f)
          // horizontal position error value too large for my LCD, so cross it out
          // Toggle Hdop indicator every TOGGLETIME_INTERVAL seconds
          if (now - prevHdopTime > TOGGLETIME_INTERVAL / 3) {
            prevHdopTime = now;
            if (hdopToggle) {
              hdopToggle = false;
              lcd.print("XXX");
            }
            else {
              hdopToggle = true;
              lcd.print("   ");
            } // if (hdopToggle)
          } // if (now - prevHdopTime > TOGGLETIME_INTERVAL)
        } // if (hError < 100.0f)
      } // if (displayHdop)
    } // if ((digitalRead(ALTITUDE_DATE_TIME_SW)))
    lcd.setCursor (0, 2); // Go to 3rd line
    lcd.print("Spd: ");
    if (GPSData.speed < SPEED_CUTOUT) {
