 // #################################################################################################
 
 #define DEBUG_MODE       true   //When DEBUG_MODE is true, send data over Serial, false send data over SPI
-#define VERBOSE_DEBUG   false   //When sedning over Serial, true gives verbose output
+#define VERBOSE_DEBUG    true   //When sedning over Serial, true gives verbose output
+#define SONAR_POWER_5V   true   //TRUE for 5v sonar power, FALSE for 3.4v,
+#define BAUD_RATE      115200   //Serial Baud Rate for debugging
 // -------------------------------------------------------------------------------------------------
 
 //Pin configuration for the Arduino Micro (atmega32u4)
 //If using I2C to communicate with rear board, its SDA will need to share pin 2 with PW_OR2
-#define PW_OR3       7     //Pulse on 9, 10 or 11 ====>> (actually pulse 1, 2, or 3 - Tai B.)
-#define PW_OR1       3     //Pulse on 6 or 12
-#define PW_OR2       2     //Pulse on 1, 2, or 3; or I2C. (actually pulse on 9, 10, or 11 - Tai B.)
+
+#define PW_OR1       3     //Pulse on the center and back of the board 6 or 12
+#define PW_OR2       2     //Pulse on the left side of the board 9, 10, or 11
+#define PW_OR3       7     //Pulse on the right side of the board 1, 2, or 3
 
 #define S_DEC1       5     //Low order bit for selecting the round     //S-DECx pins good - Tai B.
 #define S_DEC2       6     //Hi bit of round select

// -------------------------------------------------------------------------------------------------

#define TIMEOUT_PERIOD  100 //ms: 20.5ms for calc + up to 62ms for the reading + a little buffer
#define ROUND_DELAY     100 //ms between rounds, seems to help stability

//Modify EXPECTED_SIGNALS to match which sonars are on the board.
#define EXPECTED_SIGNALS1    3
#define EXPECTED_SIGNALS2    3
#define EXPECTED_SIGNALS3    2
#define COMMAND_GO           1
#define RANGE_DATA_SIZE     13
// -------------------------------------------------------------------------------------------------

//Bit Manipulation Functions

void writeOutput()
{
    if (DEBUG_MODE) 
    { 
        for (int index = 1; index < RANGE_DATA_SIZE; index++)
        {
            if (VERBOSE_DEBUG)
            {
                //Prints out only the sonars for one board (9, 10, 11, 12, 1, 2, 3)
                if (index == 4 || index == 5 || index == 7 || index == 8) { continue; }

                Serial.print(F("Round: "));     Serial.print(roundCount);
                Serial.print(F(" micros: "));   Serial.print(micros());
               
                Serial.print(F(", micros since last: "));
                Serial.print(micros() - timeSinceLastRound);
                timeSinceLastRound = micros();
                
                Serial.print(F(", SigReceived: ")); Serial.print(SignalsReceived);
                Serial.print(F(", isr1: "));        Serial.print(isr1Count);
                Serial.print(F(", isr2: "));        Serial.print(isr2Count);
                Serial.print(F(", isr3: "));        Serial.println(isr3Count);

                if (index < 10) { Serial.print(F("[ ")); }
                else { Serial.print(F("[")); }

                Serial.print(index);
                Serial.print(F("]\t"));

                for (int position = 0; position < SAMPLE_DATA_SIZE; position++)
                {
                    Serial.print(range[index][position]);
                    Serial.print(F("\t"));
                }
                Serial.print(F("\t"));
            }
           
            // sortArray(range, index, SAMPLE_DATA_SIZE);   //Bubble Sort
            quicksort(range, index, 0, SAMPLE_DATA_SIZE);   //Quicksort

            Serial.print(findMode(range, index, SAMPLE_DATA_SIZE));
            
            if (VERBOSE_DEBUG) { Serial.println(); }
            else { Serial.print(F(" ")); }
            
            // Serial.println(analogRange[index]);
        }
        Serial.println();
    }

// =============================================================================
// TODO -- Below is where data will be sent over SPI.
// =============================================================================
    else 
    {
        int dataPos = 0;
        processIt = false;
        while (dataPos < RANGE_DATA_SIZE) 
