 
     isr2Count++;
 
-    if (digitalRead(PW_OR1) == HIGH && !timeStartSet)
+    if (digitalRead(PW_OR1) == HIGH && timeStartSet == false)
+    // if (ibh(PIND, PD2) && !timeStartSet)
     {
         timeStart = micros();        
         timeStartSet = true;

    range[3]  = (timeRight - timeStart) / SCALE_FACTOR;
    range[9]  = (timeLeft - timeStart) / SCALE_FACTOR;

    analogRange[12] = analogRead(AN12);
    analogRange[3] =  analogRead(AN3);
    analogRange[9] =  analogRead(AN9);

 
//****** ROUND 3 ***************************************************************
    // Gray code; only one bit changes at a time
    boardState = ROUND3;
    SignalsReceived = 0;       
    //Send a pulse on sonars 
    //digitalWrite(S_DEC1, HIGH);
    setRound(1, 1);
    
    timeoutStart = millis();
    while (SignalsReceived < EXPECTED_SIGNALS3) 
    {
        if ((millis() - timeoutStart) > TIMEOUT_PERIOD) { break; }
    }
    delay(ROUND_DELAY);

    //==== extra interrupt data holders for timing tests ========
    //    timeLeftStartSet = false;

    range[2]  = (timeRight - timeStart) / SCALE_FACTOR;
    range[6]  = (timeCenter - timeStart) / SCALE_FACTOR;

    // analogRange[11] = analogRead(AN11);
    // analogRange[2] =  analogRead(AN2);
    // analogRange[6] =  analogRead(AN6);
    
    //TO DO: Receive data from rear board
    writeOutput();
    roundCount++;
}

