<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -3,22 +3,28 @@ class Barduino &lt; ArduinoSketch
   output_pin 5, :as =&gt; :pump_one
   output_pin 6, :as =&gt; :pump_two
   output_pin 13, :as =&gt; :led
+  input_pin 0, :as =&gt; :photo_resistor
+ 
   serial_begin
 
   @serial_value = int
-  @amount = int
+  @sensor = int
  
   def loop
-    if serial_available
-      @serial_value = serial_read
-      if @serial_value == '1'
-        serial_println &quot;Pump one ready...&quot; 
-        dispense pump_one
-      end
-      if @serial_value == '2'
-        serial_println &quot;Pump two ready...&quot; 
-        dispense pump_two
+    @sensor = analogRead(photo_resistor)
+    if @sensor &lt; 100
+      digitalWrite led, ON
+      if serial_available
+        @serial_value = serial_read
+        if @serial_value == '1'
+          dispense pump_one
+        end
+        if @serial_value == '2'
+          dispense pump_two
+        end
       end
+    else
+      digitalWrite led, OFF
     end
   end
 
@@ -26,15 +32,9 @@ class Barduino &lt; ArduinoSketch
     # Hack for RubyToC to make it realize this dispense method
     # has a parameter to it (something along those lines).
     foo = pump + 0
-    @amount = serial_read
     digitalWrite pump, ON
-    digitalWrite led, ON
-    delay 5000
-    digitalWrite pump, OFF
-    digitalWrite led, OFF
-    # Add a delay to prevent whatever is driving this from getting
-    # ahead of the serial port.
     delay 2000
+    digitalWrite pump, OFF
   end
 
 end</diff>
      <filename>barduino.rb</filename>
    </modified>
    <modified>
      <diff>@@ -62,8 +62,8 @@
 
 PORT = /dev/tty.usbserial*
 TARGET = barduino
-ARDUINO = /Applications/arduino-0011/hardware/cores/arduino
-SOFTWARE_SERIAL = /Applications/arduino-0011/hardware/libraries/SoftwareSerial
+ARDUINO = /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino
+SOFTWARE_SERIAL = /home/mwilliams/Desktop/arduino-0011/hardware/libraries/SoftwareSerial
 LIBRARY_ROOT = /home/mwilliams/Projects/barduino/vendor/libraries
 SRC = $(ARDUINO)/pins_arduino.c $(ARDUINO)/wiring.c \
 $(ARDUINO)/wiring_analog.c $(ARDUINO)/wiring_digital.c \
@@ -75,7 +75,7 @@ ASRC =
 F_CPU = 16000000
 FORMAT = ihex
 UPLOAD_RATE = 19200
-BIN_DIR = /Applications/arduino-0011/hardware/tools/avr/bin
+BIN_DIR = /home/mwilliams/Desktop/arduino-0011/hardware/tools/avr/bin
 
 # Name of this Makefile (used for &quot;make depend&quot;).
 MAKEFILE = Makefile
@@ -117,7 +117,7 @@ AVRDUDE_PROGRAMMER = stk500
 AVRDUDE_PORT = $(PORT)
 AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
 AVRDUDE_FLAGS = -F -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) \
-  -b $(UPLOAD_RATE) -C /Applications/arduino-0011/hardware/tools/avr/etc/avrdude.conf
+  -b $(UPLOAD_RATE) -C /home/mwilliams/Desktop/arduino-0011/hardware/tools/avr/etc/avrdude.conf
 
 # Program settings
 CC = $(BIN_DIR)/avr-gcc
@@ -242,3 +242,205 @@ depend:
 
 .PHONY:	all build elf hex eep lss sym program coff extcoff clean depend
 # DO NOT DELETE THIS LINE -- make depend depends on it.
+pins_arduino.o:  \
+ /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/pins_arduino.c \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_private.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/signal.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
+  /usr/lib/gcc/avr/4.3.0/include/stdarg.h \
+  /usr/lib/gcc/avr/4.3.0/include/stddef.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/binary.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/pins_arduino.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
+wiring.o:  \
+ /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring.c \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_private.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/signal.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
+  /usr/lib/gcc/avr/4.3.0/include/stdarg.h \
+  /usr/lib/gcc/avr/4.3.0/include/stddef.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/binary.h
+wiring_analog.o:  \
+ /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_analog.c \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_private.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/signal.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
+  /usr/lib/gcc/avr/4.3.0/include/stdarg.h \
+  /usr/lib/gcc/avr/4.3.0/include/stddef.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/binary.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/pins_arduino.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
+wiring_digital.o:  \
+ /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_digital.c \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_private.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/signal.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
+  /usr/lib/gcc/avr/4.3.0/include/stdarg.h \
+  /usr/lib/gcc/avr/4.3.0/include/stddef.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/binary.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/pins_arduino.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
+wiring_pulse.o:  \
+ /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_pulse.c \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_private.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/signal.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
+  /usr/lib/gcc/avr/4.3.0/include/stdarg.h \
+  /usr/lib/gcc/avr/4.3.0/include/stddef.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/binary.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/pins_arduino.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
+wiring_serial.o:  \
+ /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_serial.c \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_private.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/signal.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
+  /usr/lib/gcc/avr/4.3.0/include/stdarg.h \
+  /usr/lib/gcc/avr/4.3.0/include/stddef.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/binary.h
+wiring_shift.o:  \
+ /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_shift.c \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_private.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/signal.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
+  /usr/lib/gcc/avr/4.3.0/include/stdarg.h \
+  /usr/lib/gcc/avr/4.3.0/include/stddef.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/binary.h
+WInterrupts.o:  \
+ /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/WInterrupts.c \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/signal.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h \
+  /usr/lib/gcc/avr/4.3.0/include/stddef.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
+  /usr/lib/gcc/avr/4.3.0/include/stdarg.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/WConstants.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/binary.h \
+  /home/mwilliams/Desktop/arduino-0011/hardware/cores/arduino/wiring_private.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
+  /usr/lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h</diff>
      <filename>barduino/Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -15,14 +15,17 @@ void loop();
 void setup();
 // sketch signatures
 int main();
+int pump_one();
+int pump_two();
 int led();
+int photo_resistor();
 // plugin signatures
 
-
 //////////////////////////////////////////////////////////////////////////
 // plugin structs
 //////////////////////////////////////////////////////////////////////////
 void loop();
+void dispense(long pump);
 
 //////////////////////////////////////////////////////////////////////////
 // plugin external variables
@@ -31,6 +34,8 @@ void loop();
 //////////////////////////////////////////////////////////////////////////
 // sketch external variables
 //////////////////////////////////////////////////////////////////////////
+int __sensor;
+int __serial_value;
 
 // servo_settings array
 
@@ -44,11 +49,23 @@ void loop();
 //////////////////////////////////////////////////////////////////////////
 // variable and accessors
 //////////////////////////////////////////////////////////////////////////
+int _pump_one = 5;
+int _pump_two = 6;
 int _led = 13;
+int _photo_resistor = 0;
 
+int pump_one() {
+	return _pump_one;
+}
+int pump_two() {
+	return _pump_two;
+}
 int led() {
 	return _led;
 }
+int photo_resistor() {
+	return _photo_resistor;
+}
 
 //////////////////////////////////////////////////////////////////////////
 // assembler declarations
@@ -59,7 +76,13 @@ int led() {
 //////////////////////////////////////////////////////////////////////////
 void setup() {
 	// pin modes
+	pinMode(0, INPUT);
+	pinMode(5, OUTPUT);
+	pinMode(6, OUTPUT);
 	pinMode(13, OUTPUT);
+	digitalWrite( 0, HIGH ); // enable pull-up resistor for input
+	// other setup
+Serial.begin(9600);
 }
 
 //////////////////////////////////////////////////////////////////////////
@@ -72,12 +95,55 @@ void setup() {
 //////////////////////////////////////////////////////////////////////////
 // plugin methods
 //////////////////////////////////////////////////////////////////////////
-void blink(int pin, int ms) {
-  	digitalWrite( pin, HIGH );
-  	delay( ms );
-  	digitalWrite( pin, LOW );
-  	delay( ms );
-  }
+
+// serial helpers
+int serial_available() {
+          return (Serial.available() &gt; 0);
+        }
+        
+        char serial_read() {
+          return (char) Serial.read();
+        }
+        
+        void serial_flush() {
+          return Serial.flush();
+        }
+
+        void serial_print( char str ) {
+          return Serial.print( str );
+        }
+
+        void serial_print( char* str ) {
+          return Serial.print( str );
+        }
+
+        void serial_print( int i ) {
+          return Serial.print( i );
+        }
+
+        void serial_print( long i ) {
+          return Serial.print( i );
+        }
+
+      	void serial_println( char* str ) {
+          return Serial.println( str );
+        }
+
+        void serial_println( char str ) {
+          return Serial.println( str );
+        }
+
+      	void serial_println( int i ) {
+          return Serial.println( i );
+        }
+
+        void serial_println( long i ) {
+          return Serial.println( i );
+        }
+
+        void serial_print( unsigned long i ) {
+          return Serial.print( i );
+        }
 
 
 //////////////////////////////////////////////////////////////////////////
@@ -95,5 +161,27 @@ int main() {
 //////////////////////////////////////////////////////////////////////////
 void
 loop() {
-blink(led(), 500);
+__sensor = analogRead(photo_resistor());
+if (__sensor &lt; 100) {
+digitalWrite(led(), 1);
+if (serial_available()) {
+__serial_value = serial_read();
+if (__serial_value == '1') {
+dispense(pump_one());
+};
+if (__serial_value == '2') {
+dispense(pump_two());
+}
+}
+} else {
+digitalWrite(led(), 0);
+}
+}
+void
+dispense(long pump) {
+long foo;
+foo = pump + 0;
+digitalWrite(pump, 1);
+delay(2000);
+digitalWrite(pump, 0);
 }</diff>
      <filename>barduino/barduino.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,2 @@
 --- 
-arduino_root: /Applications/arduino-0011
+arduino_root: /home/mwilliams/Desktop/arduino-0011</diff>
      <filename>config/software.yml</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8d1d10172bc8410c6fd5ec96e86b6c333001737b</id>
    </parent>
  </parents>
  <author>
    <name>Matthew Williams</name>
    <email>mwilliams@Danzig.cfl.rr.com</email>
  </author>
  <url>http://github.com/mwilliams/barduino/commit/48421d9c4769bcff5a7e638f0a3d73836f0756b8</url>
  <id>48421d9c4769bcff5a7e638f0a3d73836f0756b8</id>
  <committed-date>2008-10-17T16:15:57-07:00</committed-date>
  <authored-date>2008-10-17T16:15:57-07:00</authored-date>
  <message>Updated to what was presented at ORUG</message>
  <tree>94a3df76677d97a3fd21ab74b5b5e4b01dc29bac</tree>
  <committer>
    <name>Matthew Williams</name>
    <email>mwilliams@Danzig.cfl.rr.com</email>
  </committer>
</commit>
