   pinMode( ppsPin, INPUT );
   gpsMsgFlg = false;
   gpsRdy = true;
-  updateFlg = false;
+  aprsBufCurrent = true;
+  rotorUpdateFlg = false;
   cmdRdy = false;
   cmdBufCurrent = true;
   setSyncProvider( getTeensy3Time );
-  Serial.begin( 9600 ); // Monitor and aprs.fi packets
+  Serial.begin( 115200 ); // Monitor and aprs.fi packets
   Serial1.begin( 9600 ); // APRS
   Serial2.begin( 9600 ); // GPS
   while( !Serial || !Serial1 || !Serial2 );
-  delay( 100 );
-  //Send GPS Configuration messages
-  digitalClockDisplay();
   delay( 1000 ); //Wait for GPS to power up.
   // Clear out GPS receive buffer
   while( Serial2.available() ) Serial2.read();
+  // Send GPS Configuration messages
   gpsConfig();
-  delay( 1000 ); 
+  delay( 1000 );
+  // Get GPS response 
   while( Serial2.available() ) {
     Serial.write( Serial2.read() ); 
   }
   Serial.println( "" );
+  
+  /*
+   * Sync library time to RTC. Default is 5 minutes.
+   * This is too long.
+   */
+  setSyncInterval( 10 );
   
   attachInterrupt( ppsPin, ppsSvc, RISING );
 }

boolean gpsRdy, gpsZDAFlg, gpsTFFlg, gpsChkFlg, gpsErrFlg;
boolean gpsPosValid, gpsMsgFlg, gpsTimeFlg, gpsTimeValid;
byte gpsChk;
float lat, lon, alt;
long syncTime;

char aprs[APRSLEN], aprsBuf[APRSLEN];
int aprsIndex = 0;
boolean aprsRdy, aprsChkFlg, aprsErrFlg, aprsBufCurrent, aprsValid;

char term[TERMLEN], aprsfiBuf[APRSFILEN], cmdBuf[CMDLEN];
int termIndex = 0;
boolean termRdy, termChkFlg, termErrFlg, termBufCurrent, termValid;
boolean aprsfiPending, cmdPending, aprsfiBufCurrent, cmdBufCurrent;
boolean cmdRdy, aprsfiRdy;
boolean updateFlg;

int gpsYr, gpsMon, gpsDay, gpsHr, gpsMin, gpsSec;

IntervalTimer updateTimer;


 *      UTC.
 */
const String gpsConfStr = "$PTNLSNM,0220,60*50\r\n";

String callSgn1 = "KC9LHW-11";
String callSgn2 = "KC9LIG-11";
String callSgn3 = "WB9SKY-11";
