 void loop() {
       // check for serial in from efis.
       while(Serial3.available()) {
-        inChar = (char)Serial3.read();
-        input[inputPos]=inChar;
-        inputPos++;
-        cyclesWOSerialData = 0;
-        //Serial.println(inChar);
-        // check for dynon skyview data.
-
+        inChar = (char)Serial3.read();  // read in char
+        input[inputPos]=inChar;         // save into string buffer.
+        inputPos++;                     // increment the string buffer postion.
+        cyclesWOSerialData = 0;         // reset the var thats keep track of when we last had serial data (used for turning off tone if no serial data found)
+
+        // check for dynon skyview data. based on length of string and if the 1st 2 chars match
         if (inChar == '\n' && inputPos == DYNON_SKYVIEW_SERIAL_LEN && input[0]=='!' && input[1]=='1') {
+          efisTypeDetected = 2;  // set skyview efis detected.
           // skyview data starts with a '!1'... the D series efis has no line prefix.  
-          tempBuf[0] = input[43]; //
-          tempBuf[1] = input[44]; //
-          tempBuf[2] = '\0'; //term string
+          tempBuf[0] = input[43]; // get the 2 bytes for aoa on skyview.
+          tempBuf[1] = input[44]; // 
+          tempBuf[2] = '\0'; // term string  (needed for when we convert a string to a int in the next line)
           liveAOA = strtol(tempBuf, NULL, 10); //convert to int
 
-          // get AOA value
+          // get AOA value (check if we are using a Gaussian function to smooth the values)
 #ifdef USE_AOA_AVERAGE
           myAverageAOA += liveAOA;            // store and calcute the mean average AOA from previous values.
           AOA = myAverageAOA.process().mean;

// - If no serial data is detected audio tone turns off and LED1 is off
// - MUTE_AUDIO_UNDER_IAS define is used to only activate audio tones if above a given airspeed
// 
// 7/9/2018 - fix for tone PPS between solid tones.  was not calucating the right ratio for the PPS changes.

#define SETUP_DYNON_D100             // if this is defined then use settings (dynon D10 or D100)
//#define SETUP_DYNON_SKYVIEW            // if defined then use settings for dynon skyview

      // check if no serial has been sent in a while.
      cyclesWOSerialData++;
      if(cyclesWOSerialData > 55500) {
        //TODO:  should we do something more to inidicat to the user there is no serial data coming in?  this might be useful for troubleshooting after a install.
        toneMode = TONE_OFF;        // stop tone
        cyclesWOSerialData == 0;
        digitalWrite(PIN_LED2, 0);  // no EFIS serial data so turn off led.
