<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,13 +1,5 @@
 class BlinkMAddressAssignment &lt; ArduinoSketch
 
-  # IMPORTANT -- This is one for four examples that fails with Ruby 1.9 support (latest ruby2c and parsetree)
-  # the failing example is commented out and replaced with this hello world until I have a chance to resolve the issue -- jd
-  output_pin 13, :as =&gt; :led
-
-  def loop
-    blink led, 100 
-    x = 4
-  end
   # want to use more than one blink m?
   # since each blink m arrives with the same address, 
   # we can't address each one individually
@@ -22,91 +14,91 @@ class BlinkMAddressAssignment &lt; ArduinoSketch
   # address to 10, during the next four seconds to 11 and so on
   # difficult without a screen.
   # if you need to, program an led to help with the timing
-   
+ 
 
-  # @blink_m_start_address = 10
-  #   @flag = false
-  #   @addr1 = &quot;10, byte&quot;
-  #   @addr2 = &quot;11, byte&quot;
-  #   @addr3 = &quot;12, byte&quot;
-  #   
-  #   output_pin 19, :as =&gt; :wire, :device =&gt; :i2c, :enable =&gt; :true # reminder, true issues wire.begin
-  #   input_pin 7,  :as =&gt; :button_one, :device =&gt; :button
-  #   input_pin 8,  :as =&gt; :button_two, :device =&gt; :button
-  #   input_pin 9,  :as =&gt; :button_three, :device =&gt; :button
-  #   
-  #   output_pin 5, :as =&gt; :my_lcd, :device =&gt; :pa_lcd, :rate =&gt; 19200, :clear_screen =&gt; :true
-  #   
-  #   def setup
-  #     delay 1000
-  #     my_lcd.setxy 0,0, &quot;bienvenue&quot;
-  #         delay 5000
-  #   end
-  #   
-  #   def loop  
-  #  
-  #     if @flag == false
-  #       staging
-  #     else
-  #       test_address 
-  #     end
-  #     delay 100
-  #   end
-  #   
-  #   def staging
-  #     my_lcd.setxy 0,0, &quot;press button one to&quot;
-  #     my_lcd.setxy 0,1, &quot;set address to &quot;
-  #     my_lcd.print @blink_m_start_address
-  #     my_lcd.setxy 0,2, &quot;or two for status&quot;
-  #     delay 60
-  #     my_lcd.setxy 0,3, &quot;                &quot;
-  #     my_lcd.setxy 0,3
-  #     800.times do |i|
-  #       return 0 if @flag == true
-  #       my_lcd.print &quot;.&quot; if i % 50 == 0 
-  #       delay 5
-  #       if button_one.read_input
-  #         assign_address 
-  #       elsif button_two.read_input
-  #         test_address
-  #       end 
-  #     end
-  #     @blink_m_start_address += 1 
-  #   end
-  #   
-  #   def assign_address
-  #     @flag = true
-  #     my_lcd.clearscr &quot;setting to &quot;
-  #     my_lcd.print @blink_m_start_address
-  #     delay 100
-  #     BlinkM_setAddress @blink_m_start_address
-  #     my_lcd.clearscr &quot;done&quot;
-  #     control_it
-  #   end
-  #   
-  #   def control_it
-  #     delay 500
-  #     my_lcd.clearscr &quot;stopping script&quot;
-  #     BlinkM_stopScript @blink_m_start_address
-  #     my_lcd.clearscr &quot;stopping script..&quot;
-  #     delay 500
-  #     my_lcd.clearscr &quot;fade to purple..&quot;
-  #     BlinkM_fadeToRGB(@blink_m_start_address, 0xff,0x00,0xff)
-  #     my_lcd.clearscr &quot;fade to purple&quot;
-  #     delay 500
-  #     BlinkM_fadeToRGB(@blink_m_start_address, 0xff,0x00,0xff)
-  #   end
-  #   
-  #   
-  #   def test_address
-  #     my_lcd.clearscr
-  #     my_lcd.setxy 0,0, &quot;testing address&quot;
-  #     my_lcd.setxy 0,1
-  #     my_lcd.print blink_m_check_address_message @blink_m_start_address
-  #     delay 5000
-  #   end
-  # 
-  #   
+  @blink_m_start_address = 10
+  @flag = false
+  @addr1 = &quot;10, byte&quot;
+  @addr2 = &quot;11, byte&quot;
+  @addr3 = &quot;12, byte&quot;
+  
+  output_pin 19, :as =&gt; :wire, :device =&gt; :i2c, :enable =&gt; :true # reminder, true issues wire.begin
+  input_pin 7,  :as =&gt; :button_one, :device =&gt; :button
+  input_pin 8,  :as =&gt; :button_two, :device =&gt; :button
+  input_pin 9,  :as =&gt; :button_three, :device =&gt; :button
+  
+  output_pin 5, :as =&gt; :my_lcd, :device =&gt; :pa_lcd, :rate =&gt; 19200, :clear_screen =&gt; :true
+  
+  def setup
+    delay 1000
+    my_lcd.setxy 0,0, &quot;bienvenue&quot;
+        delay 5000
+  end
+  
+  def loop  
+ 
+    if @flag == false
+      staging
+    else
+      test_address 
+    end
+    delay 100
+  end
+  
+  def staging
+    my_lcd.setxy 0,0, &quot;press button one to&quot;
+    my_lcd.setxy 0,1, &quot;set address to &quot;
+    my_lcd.print @blink_m_start_address
+    my_lcd.setxy 0,2, &quot;or two for status&quot;
+    delay 60
+    my_lcd.setxy 0,3, &quot;                &quot;
+    my_lcd.setxy 0,3
+    800.times do |i|
+      return 0 if @flag == true
+      my_lcd.print &quot;.&quot; if i % 50 == 0 
+      delay 5
+      if button_one.read_input
+        assign_address 
+      elsif button_two.read_input
+        test_address
+      end 
+    end
+    @blink_m_start_address += 1 
+  end
+  
+  def assign_address
+    @flag = true
+    my_lcd.clearscr &quot;setting to &quot;
+    my_lcd.print @blink_m_start_address
+    delay 100
+    BlinkM_setAddress @blink_m_start_address
+    my_lcd.clearscr &quot;done&quot;
+    control_it
+  end
+  
+  def control_it
+    delay 500
+    my_lcd.clearscr &quot;stopping script&quot;
+    BlinkM_stopScript @blink_m_start_address
+    my_lcd.clearscr &quot;stopping script..&quot;
+    delay 500
+    my_lcd.clearscr &quot;fade to purple..&quot;
+    BlinkM_fadeToRGB(@blink_m_start_address, 0xff,0x00,0xff)
+    my_lcd.clearscr &quot;fade to purple&quot;
+    delay 500
+    BlinkM_fadeToRGB(@blink_m_start_address, 0xff,0x00,0xff)
+  end
+  
+  
+  def test_address
+    my_lcd.clearscr
+    my_lcd.setxy 0,0, &quot;testing address&quot;
+    my_lcd.setxy 0,1
+    my_lcd.print blink_m_check_address_message @blink_m_start_address
+    delay 5000
+  end
+
+  
     
 
 end
\ No newline at end of file</diff>
      <filename>lib/examples/blink_m_address_assignment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,70 +1,61 @@
 class BlinkMMulti &lt; ArduinoSketch
   
-  # IMPORTANT -- This is one for four examples that fails with Ruby 1.9 support (latest ruby2c and parsetree)
-  # the failing example is commented out and replaced with this hello world until I have a chance to resolve the issue -- jd
-  output_pin 13, :as =&gt; :led
-
-  def loop
-    blink led, 100 
-    x = 4
-  end
-
   # demonstrate control of individual blinkms
   # this assumes the leds have been assigned addresses 10, 11, 12
   # which can be done with blink m address assignment
 
   # two ways to address the blinkms, array and individual variables
-  # @blink_addresses = [10,11,12]
-  #   @addr_all = &quot;0, byte&quot; 
-  #   @addr1 = &quot;10, byte&quot;
-  #   @addr2 = &quot;11, byte&quot;
-  #   @addr3 = &quot;12, byte&quot;
-  #   
-  #   output_pin 19, :as =&gt; :wire, :device =&gt; :i2c, :enable =&gt; :true # reminder, true issues wire.begin
-  #   input_pin 7,  :as =&gt; :button_one, :device =&gt; :button
-  #   input_pin 8,  :as =&gt; :button_two, :device =&gt; :button
-  #   input_pin 9,  :as =&gt; :button_three, :device =&gt; :button
-  #   input_pin 10,  :as =&gt; :button_four, :device =&gt; :button
-  #   
-  #   # display the action on a 4x20 pa_lcd, yours may be 9200 instead of 19,200
-  # 
-  #   output_pin 5, :as =&gt; :my_lcd, :device =&gt; :pa_lcd, :rate =&gt; 19200, :clear_screen =&gt; :true
-  #   
-  #   
-  #   def loop  
-  #     stop_and_fade(@addr1) if button_one.read_input
-  #     stop_and_fade(@addr2) if button_two.read_input 
-  #     stop_and_fade(@addr3) if button_three.read_input 
-  #     dance if button_four.read_input 
-  #   end
-  #   
-  #   def stop_and_fade(addr)
-  #     f = 1 + addr # hack to coerce addr to int
-  #     my_lcd.clearscr
-  #     my_lcd.setxy 0,0, &quot;blinkm # &quot;
-  #     my_lcd.print addr
-  #     delay 700
-  #     BlinkM_stopScript addr
-  #     my_lcd.setxy 0,1, &quot;stopping script..&quot;
-  #     delay 700
-  #     my_lcd.setxy 0,2, &quot;fade to purple..&quot;
-  #     BlinkM_fadeToRGB(addr, 0xff,0x00,0xff)
-  #   end
-  #   
-  #   def dance
-  #     BlinkM_setFadeSpeed(@addr_all, 20) # 1-255, with 1 producing the slowest fade
-  #     my_lcd.clearscr
-  #     my_lcd.setxy 0,0, &quot;Do the shimmy..&quot;
-  #     my_lcd.setxy 0,1
-  #     @blink_addresses.each do |a|
-  #       BlinkM_fadeToRGB(a, 1,166,138)
-  #       delay 100
-  #     end
-  #     @blink_addresses.each do |a|
-  #       BlinkM_fadeToRGB(a, 35,0,112)
-  #       delay 100
-  #     end
-  #   end
-    
+  @blink_addresses = [10,11,12]
+  @addr_all = &quot;0, byte&quot; 
+  @addr1 = &quot;10, byte&quot;
+  @addr2 = &quot;11, byte&quot;
+  @addr3 = &quot;12, byte&quot;
+  
+  output_pin 19, :as =&gt; :wire, :device =&gt; :i2c, :enable =&gt; :true # reminder, true issues wire.begin
+  input_pin 7,  :as =&gt; :button_one, :device =&gt; :button
+  input_pin 8,  :as =&gt; :button_two, :device =&gt; :button
+  input_pin 9,  :as =&gt; :button_three, :device =&gt; :button
+  input_pin 10,  :as =&gt; :button_four, :device =&gt; :button
+  
+  # display the action on a 4x20 pa_lcd, yours may be 9200 instead of 19,200
+
+  output_pin 5, :as =&gt; :my_lcd, :device =&gt; :pa_lcd, :rate =&gt; 19200, :clear_screen =&gt; :true
+  
+  
+  def loop  
+    stop_and_fade(@addr1) if button_one.read_input
+    stop_and_fade(@addr2) if button_two.read_input 
+    stop_and_fade(@addr3) if button_three.read_input 
+    dance if button_four.read_input 
+  end
+  
+  def stop_and_fade(addr)
+    f = 1 + addr # hack to coerce addr to int
+    my_lcd.clearscr
+    my_lcd.setxy 0,0, &quot;blinkm # &quot;
+    my_lcd.print addr
+    delay 700
+    BlinkM_stopScript addr
+    my_lcd.setxy 0,1, &quot;stopping script..&quot;
+    delay 700
+    my_lcd.setxy 0,2, &quot;fade to purple..&quot;
+    BlinkM_fadeToRGB(addr, 0xff,0x00,0xff)
+  end
+  
+  def dance
+    BlinkM_setFadeSpeed(@addr_all, 20) # 1-255, with 1 producing the slowest fade
+    my_lcd.clearscr
+    my_lcd.setxy 0,0, &quot;Do the shimmy..&quot;
+    my_lcd.setxy 0,1
+    @blink_addresses.each do |a|
+      BlinkM_fadeToRGB(a, 1,166,138)
+      delay 100
+    end
+    @blink_addresses.each do |a|
+      BlinkM_fadeToRGB(a, 35,0,112)
+      delay 100
+    end
+  end
+  
 
 end
\ No newline at end of file</diff>
      <filename>lib/examples/blink_m_multi.rb</filename>
    </modified>
    <modified>
      <diff>@@ -48,14 +48,6 @@ static void BlinkM_beginWithPowerPins(byte pwrpin, byte gndpin)
     Wire.begin();
 }
 
-// Call this first when BlinkM is plugged directly into Arduino
-// The BlinkMs PWR (power) pins should line up with pins 2 and 3 of the connector, 
-// while the I2C (communications) pins should line up with pins 4 and 5.
-
-static void BlinkM_beginWithPower()
-{
-    BlinkM_beginWithPowerPins( PC3, PC2 );
-}
 
 // sends a generic command
 </diff>
      <filename>lib/plugins/blink_m.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,9 @@
 Gem::Specification.new do |s|
   s.name = %q{rad}
-  s.version = &quot;0.4.0&quot;
+  s.version = &quot;0.4.1&quot;
   s.date = %q{2008-09-04}
   s.default_executable = %q{rad}
-  s.summary = &quot;RAD: Ruby Arduino Development - 0.4.0 -- 1.9 Ready!&quot;
+  s.summary = &quot;RAD: Ruby Arduino Development - 0.4.1 -- 1.9 Ready!&quot;
   s.email = &quot;jd@jdbarnhart.com&quot;
   s.executables = [&quot;rad&quot;]
   s.homepage = &quot;http://github.com/atduskreg/rad&quot;  </diff>
      <filename>rad.gemspec</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a115bed52e65fbfaeccd09b1b8df220b68db64f9</id>
    </parent>
  </parents>
  <author>
    <name>JD Barnhart</name>
    <email>jd@jdbarnhart.com</email>
  </author>
  <url>http://github.com/madrona/rad/commit/abebdee87553619447ec5f9f2e6c2b3ec4891dc3</url>
  <id>abebdee87553619447ec5f9f2e6c2b3ec4891dc3</id>
  <committed-date>2009-10-27T20:27:30-07:00</committed-date>
  <authored-date>2009-10-27T20:27:30-07:00</authored-date>
  <message>fixed blinkm code examples</message>
  <tree>882b2de24986e6d9135df01eb8aa32d09ceb9dcb</tree>
  <committer>
    <name>JD Barnhart</name>
    <email>jd@jdbarnhart.com</email>
  </committer>
</commit>
