   loc[5] = '\0';
 }
 
+void display_gps_data(double lat, double lon) {
+  lcd.write(12);
+  lcd.print("Lat:"); lcd.print((int)floor(lat)); lcd.print(" Lon:"); lcd.print((int)floor(lon)); lcd.write(13);
+  lcd.print("MDNHD: "); lcd.print(loc);
+  delay(50);
+}
+
+void display_transmitting() {
+  lcd.write(12);
+  lcd.print("XMIT ... "); lcd.write(13);
+  lcd.print(call); lcd.print(" "); lcd.print(loc); 
+  delay(50);
+}
+
 // Loop through the string, transmitting one character at a time.
 void encode()
 {


  // Reset the tone to the base frequency and turn on the output
  si5351.output_enable(SI5351_CLK0, 1);
//  digitalWrite(LED_PIN, HIGH);

  for(i = 0; i < symbol_count; i++)
  {
      si5351.set_freq((freq * 100) + (tx_buffer[i] * tone_spacing), SI5351_CLK0);
      proceed = false;
      while(!proceed);
  }

  // Turn off the output
  si5351.output_enable(SI5351_CLK0, 0);
  //digitalWrite(LED_PIN, LOW);
}




// Global variables used in ISRs
volatile bool proceed = false;

// Timer interrupt vector.  This toggles the variable we use to gate
// each column of output to ensure accurate timing.  Called whenever
