#include <SoftwareSerial.h>
/*
* Define the RX and TX pins. Choose any two
* pins that are unused. Try to avoid D0 (pin 5)
* and D2 (pin 7) if you plan to use I2C.
*/
#define RX    8  // For ColorTimer = 0 // For beaver board = 1  // For Master = 8
#define TX    7   // For ColorTimer = 1 // For beaver board = 0 // For Master = 7
/*
* Define the software based serial port. Using the
* name Serial so that code can be used on other
* platforms that support hardware based serial. On
* chips that support the hardware serial, just
* comment this line.
*/
SoftwareSerial Serial(RX,TX);

// Set the color of the LED [ Color Timer 2 = blue, 3 = green, 8 = red] [ Color Timer 1 = blue, 2 = green, 3 = red] 
int LED_R_PIN = 2;
int LED_G_PIN = 3;
int LED_B_PIN = 0;

void setup() {
  // Set pin mode (Input/Output)
  pinMode(LED_R_PIN,OUTPUT);
  pinMode(LED_G_PIN,OUTPUT);
  pinMode(LED_B_PIN,OUTPUT);
  // Set everything off
  digitalWrite(LED_R_PIN,HIGH);
  digitalWrite(LED_G_PIN,HIGH);
  digitalWrite(LED_B_PIN,HIGH);
  // Start serial communication
  Serial.begin(9600); //Sets the data rate in bits per second (baud) for serial data transmission
  Serial.println("Initializing...");
}

void loop() {
  if(Serial.available()){  // If data is available

    char val = Serial.read();

    if(val == 'r'){        // If red received
      digitalWrite(LED_R_PIN,LOW);
      digitalWrite(LED_G_PIN,HIGH);
      digitalWrite(LED_B_PIN,HIGH);
    }

    if(val == 'g'){        // If green received
      digitalWrite(LED_R_PIN,HIGH);
      digitalWrite(LED_G_PIN,LOW);
      digitalWrite(LED_B_PIN,HIGH);
    }
    
    if(val == 'b'){        // If blue received
      digitalWrite(LED_R_PIN,HIGH);
      digitalWrite(LED_G_PIN,HIGH);
      digitalWrite(LED_B_PIN,LOW);
    }
    
    }

}
