Skip to content

Commit

Permalink
changes to work with hardware. changed timing.
Browse files Browse the repository at this point in the history
  • Loading branch information
goldfish committed Sep 22, 2010
1 parent 704b47f commit 3b66e5d
Showing 1 changed file with 26 additions and 15 deletions.
41 changes: 26 additions & 15 deletions VHSbeacon.pde
Expand Up @@ -39,7 +39,7 @@
#define CAPTURED_BLUE 2 #define CAPTURED_BLUE 2
int beacon_state = NEUTRAL; int beacon_state = NEUTRAL;
int resetEnabled = 1; int resetEnabled = 1;
int resetTime = 5000; int resetTime = 10000;


#define IS_NEUTRAL (beacon_state == NEUTRAL) #define IS_NEUTRAL (beacon_state == NEUTRAL)
#define IS_RED (beacon_state == CAPTURED_RED) #define IS_RED (beacon_state == CAPTURED_RED)
Expand All @@ -64,6 +64,8 @@ unsigned long reset_at = 0;
IRsend irsend; IRsend irsend;
decode_results results; decode_results results;
IRrecv irrecv(4); // send ir input pin as argument IRrecv irrecv(4); // send ir input pin as argument
unsigned long next_transmit = 0;
unsigned long transmit_interval = 5000;


void setup() { void setup() {
Serial.begin( 9600 ); Serial.begin( 9600 );
Expand All @@ -84,23 +86,24 @@ void setup() {
update_LED( LED_OFF ); update_LED( LED_OFF );
delay(400); delay(400);
update_LED( LED_GREEN ); // leave led as green at end of setup. update_LED( LED_GREEN ); // leave led as green at end of setup.
//digitalWrite( IR_OUT, HIGH );
Serial.println( "Setup Complete" ); Serial.println( "Setup Complete" );
} }


void loop() { void loop() {
if (irrecv.decode(&results)) { if (irrecv.decode(&results)) {
//Serial.println( "Found ir data" ); Serial.println( "Found ir data" );
if ((results.bits == 1) || (results.bits == 2)) { if ((results.bits == 1) || (results.bits == 2)) {
switch (results.value) { switch (results.value) {
case CAPTURE_RED: case CAPTURE_RED:
//Serial.println( "Red Capture" ); Serial.println( "Red Capture" );
beacon_state = CAPTURED_RED; beacon_state = CAPTURED_RED;
update_LED( LED_RED ); update_LED( LED_RED );
if (resetEnabled) if (resetEnabled)
reset_at = millis() + resetTime; reset_at = millis() + resetTime;
break; break;
case CAPTURE_BLUE: case CAPTURE_BLUE:
//Serial.println( "Blue Capture" ); Serial.println( "Blue Capture" );
beacon_state = CAPTURED_BLUE; beacon_state = CAPTURED_BLUE;
update_LED( LED_BLUE ); update_LED( LED_BLUE );
if (resetEnabled) if (resetEnabled)
Expand All @@ -118,18 +121,26 @@ void loop() {
} }


// transmit beacon status // transmit beacon status
if (IS_NEUTRAL) { if (millis() >= next_transmit) {
irsend.sendVHS(STATUS_RED, 2); Serial.println( "Transmit" );
delay(1); if (IS_NEUTRAL) {
irsend.sendVHS(STATUS_BLUE, 2); Serial.println( "Neutral" );
} irsend.sendVHS(STATUS_RED, 2);
else if (IS_BLUE) { delay(1);
irsend.sendVHS(STATUS_RED, 2); irsend.sendVHS(STATUS_BLUE, 2);
} }
else if (IS_RED) { else if (IS_BLUE) {
irsend.sendVHS(STATUS_BLUE, 2); Serial.println( "Blue" );
irsend.sendVHS(STATUS_RED, 2);
}
else if (IS_RED) {
Serial.println( "Red" );
irsend.sendVHS(STATUS_BLUE, 2);
}
//delay(1);
next_transmit = millis() + transmit_interval;
irrecv.enableIRIn();
} }
delay(1);
} }


void update_LED ( int LED_COLOUR ) { void update_LED ( int LED_COLOUR ) {
Expand Down

0 comments on commit 3b66e5d

Please sign in to comment.