From 0257d3b9949a1f332e80125a8f4183d287e48558 Mon Sep 17 00:00:00 2001 From: JD Barnhart Date: Mon, 21 Jul 2008 23:34:28 -0700 Subject: [PATCH 1/3] fixed compile_cpp and upload_cpp tasks which were broken by recent additions -- all better now --- lib/rad/tasks/build_and_make.rake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rad/tasks/build_and_make.rake b/lib/rad/tasks/build_and_make.rake index 458bf00..4b55d42 100644 --- a/lib/rad/tasks/build_and_make.rake +++ b/lib/rad/tasks/build_and_make.rake @@ -55,14 +55,14 @@ namespace :make do end desc "generate a makefile and use it to compile the .cpp using the current .cpp file" - task :compile_cpp => ["build:sketch_dir", :clean_sketch_dir] do # should also depend on "build:sketch" + task :compile_cpp => ["build:sketch_dir", "build:gather_required_plugins", "build:plugin_setup", "build:setup", :clean_sketch_dir] do # should also depend on "build:sketch" Makefile.compose_for_sketch( @test_dir + @sketch_name ) # not allowed? sh %{export PATH=#{Makefile.software_params[:arduino_root]}/tools/avr/bin:$PATH} sh %{cd #{RAD_ROOT}/#{@test_dir + @sketch_name}; make depend; make} end desc "generate a makefile and use it to compile the .cpp and upload it using current .cpp file" - task :upload_cpp => ["build:sketch_dir", :clean_sketch_dir] do # should also depend on "build:sketch" + task :upload_cpp => ["build:sketch_dir", "build:gather_required_plugins", "build:plugin_setup", "build:setup", :clean_sketch_dir] do # should also depend on "build:sketch" Makefile.compose_for_sketch( @test_dir + @sketch_name ) # not allowed? sh %{export PATH=#{Makefile.software_params[:arduino_root]}/tools/avr/bin:$PATH} sh %{cd #{RAD_ROOT}/#{@test_dir + @sketch_name}; make depend; make upload} From 1cfb6c1a1a9aaadd0c09102278963b3abf2cf595 Mon Sep 17 00:00:00 2001 From: JD Barnhart Date: Mon, 21 Jul 2008 23:53:25 -0700 Subject: [PATCH 2/3] added example to configure cursor and boot screen for pa_lcd --- Manifest.txt | 1 + lib/examples/configure_pa_lcd_boot.rb | 91 +++++++++++++++++++++++++++ rad.gemspec | 2 +- 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 lib/examples/configure_pa_lcd_boot.rb diff --git a/Manifest.txt b/Manifest.txt index 5db6b72..ae64a14 100644 --- a/Manifest.txt +++ b/Manifest.txt @@ -6,6 +6,7 @@ Rakefile bin/rad lib/examples/add_hysteresis.rb lib/examples/blink_m_hello.rb +lib/examples/configure_pa_lcd_boot.rb lib/examples/debounce_methods.rb lib/examples/external_variables.rb lib/examples/external_variable_fu.rb diff --git a/lib/examples/configure_pa_lcd_boot.rb b/lib/examples/configure_pa_lcd_boot.rb new file mode 100644 index 0000000..768be6c --- /dev/null +++ b/lib/examples/configure_pa_lcd_boot.rb @@ -0,0 +1,91 @@ +class ConfigurePaLcdBoot < ArduinoSketch + +## important! +## most pa_lcd rates are set to 9200, but there are some newer at 19200 +## if you have a 19200, uncomment the end of line 38 + +## purpose: +## change cursor to none +## and add custom boot screen +## +## jd's preferred setup for pa_lcd +## +## assumes 4 x 20 pa_lcd +## +## no blinking cursor press button 1 +## configure custom start up screen - press button 2 +## configure lcd to use custom startup screen - press button 3 +## +## press buttons one, two and three +## or season to taste +## +## refernce +## K107 LCD Controller Board Manual +## page 11 for cursors +## page 13 for custom boot +## http://wulfden.org/downloads/manuals/K107manual.pdf +## +## + +## set pins to your setup + + + input_pin 8, :as => :button_one, :device => :button + input_pin 9, :as => :button_two, :device => :button + input_pin 10, :as => :button_three, :device => :button + + ## note, most of these controllers are set to 9200 + output_pin 14, :as => :my_lcd, :device => :pa_lcd #, :rate => 19200 + + + def loop + set_cursor if button_one.read_input + set_custom_screen if button_two.read_input + change_boot_to_custom if button_three.read_input + end + + ## assumes 4 x 20 screen + ## maintain 20 characters after ?Cn + ## wny delays? the controller needs them to give it + ## enough time to write 20 bytes to internl EEPROM + def set_custom_screen + my_lcd.clearscr + my_lcd.print "?C0 RAD & Arduino " + delay 400 + my_lcd.print "?C1 Development " + delay 400 + my_lcd.print "?C2 " + delay 400 + my_lcd.print "?C3 v0.3.0 " + end + + + ## ?c0 for no cursor + ## ?c2 for non blinking cursor + ## ?c3 for blinking cursor + def set_cursor + my_lcd.clearscr + my_lcd.print "Changing to " + my_lcd.setxy 0,1 + my_lcd.print "no cursor. " + my_lcd.setxy 0,3 + my_lcd.print "Reboot to view... " + + my_lcd.print("?c0") + end + + ## "?S0 for blank screen + ## ?S1 for configuration settings + ## ?S2 for custom text screen + def change_boot_to_custom + my_lcd.clearscr + my_lcd.print "Changing to " + my_lcd.setxy 0,1 + my_lcd.print "custom boot screen. " + my_lcd.setxy 0,3 + my_lcd.print "Reboot to view... " + my_lcd.print("?S2") + end + + +end \ No newline at end of file diff --git a/rad.gemspec b/rad.gemspec index dd278cb..e11b320 100644 --- a/rad.gemspec +++ b/rad.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |s| s.has_rdoc = true s.authors = ["Greg Borenstein", "plugins+: JD Barnhart"] s.files = ["History.txt", "License.txt", "Manifest.txt", - "README.rdoc", "Rakefile", "bin/rad", "lib/examples/add_hysteresis.rb", "lib/examples/blink_m_hello.rb", "lib/examples/external_variable_fu.rb", "lib/examples/debounce_methods.rb", "lib/examples/external_variables.rb", "lib/examples/first_sound.rb", "lib/examples/frequency_generator.rb", "lib/examples/hello_eeprom.rb", "lib/examples/hello_servos.rb", "lib/examples/hello_world.rb", "lib/examples/i2c_with_clock_chip.rb", "lib/examples/orig_servo_throttle.rb", "lib/examples/servo_buttons.rb", "lib/examples/servo_throttle.rb", "lib/examples/sparkfun_lcd.rb", "lib/examples/times_method.rb", "lib/examples/toggle.rb", "lib/examples/two_wire.rb", "lib/libraries/DS1307/DS1307.cpp", "lib/libraries/DS1307/DS1307.h", "lib/libraries/DS1307/keywords.txt", "lib/libraries/FrequencyTimer2/keywords.txt", "lib/libraries/FrequencyTimer2/FrequencyTimer2.cpp", "lib/libraries/FrequencyTimer2/FrequencyTimer2.h", "lib/libraries/OneWire/keywords.txt", "lib/libraries/OneWire/OneWire.cpp", "lib/libraries/OneWire/OneWire.h", "lib/libraries/OneWire/readme.txt", "lib/libraries/Servo/keywords.txt", "lib/libraries/Servo/Servo.cpp", "lib/libraries/Servo/Servo.h", "lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp", "lib/libraries/SWSerLCDpa/SWSerLCDpa.h", "lib/libraries/SWSerLCDsf/SWSerLCDsf.cpp", "lib/libraries/SWSerLCDsf/SWSerLCDsf.h", "lib/libraries/Wire/Wire.cpp", "lib/libraries/Wire/keywords.txt", "lib/libraries/Wire/Wire.h", "lib/libraries/Wire/twi.h", "lib/libraries/Wire/utilities/twi.c", "lib/libraries/Wire/utilities/twi.h", "lib/plugins/bitwise_ops.rb", "lib/plugins/blink_m.rb", "lib/plugins/debounce.rb", "lib/plugins/debug_output_to_lcd.rb", "lib/plugins/i2c_eeprom.rb", "lib/plugins/input_output_state.rb", "lib/plugins/mem_test.rb", "lib/plugins/servo_pulse.rb", "lib/plugins/servo_setup.rb", "lib/plugins/smoother.rb", "lib/plugins/spark_fun_serial_lcd.rb", "lib/rad.rb", "lib/rad/arduino_sketch.rb", "lib/rad/arduino_plugin.rb", "lib/rad/rad_processor.rb", "lib/rad/rad_rewriter.rb", "lib/rad/variable_processing.rb", "lib/rad/init.rb", "lib/rad/todo.txt", "lib/rad/tasks/build_and_make.rake", "lib/rad/tasks/rad.rb", "lib/rad/version.rb", "lib/rad/generators/makefile/makefile.erb", "lib/rad/generators/makefile/makefile.rb", "lib/test/test_array_processing.rb", "lib/test/test_variable_processing.rb", "scripts/txt2html", "setup.rb", "spec/models/spec_helper.rb", "spec/models/arduino_sketch_spec.rb", "spec/spec.opts", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/screen.css", "website/template.rhtml", "website/examples/assembler_test.rb.html", "website/examples/gps_reader.rb.html", "website/examples/hello_world.rb.html", "website/examples/serial_motor.rb.html"] + "README.rdoc", "Rakefile", "bin/rad", "lib/examples/add_hysteresis.rb", "lib/examples/blink_m_hello.rb", "lib/examples/configure_pa_lcd_boot.rb", "lib/examples/external_variable_fu.rb", "lib/examples/debounce_methods.rb", "lib/examples/external_variables.rb", "lib/examples/first_sound.rb", "lib/examples/frequency_generator.rb", "lib/examples/hello_eeprom.rb", "lib/examples/hello_servos.rb", "lib/examples/hello_world.rb", "lib/examples/i2c_with_clock_chip.rb", "lib/examples/orig_servo_throttle.rb", "lib/examples/servo_buttons.rb", "lib/examples/servo_throttle.rb", "lib/examples/sparkfun_lcd.rb", "lib/examples/times_method.rb", "lib/examples/toggle.rb", "lib/examples/two_wire.rb", "lib/libraries/DS1307/DS1307.cpp", "lib/libraries/DS1307/DS1307.h", "lib/libraries/DS1307/keywords.txt", "lib/libraries/FrequencyTimer2/keywords.txt", "lib/libraries/FrequencyTimer2/FrequencyTimer2.cpp", "lib/libraries/FrequencyTimer2/FrequencyTimer2.h", "lib/libraries/OneWire/keywords.txt", "lib/libraries/OneWire/OneWire.cpp", "lib/libraries/OneWire/OneWire.h", "lib/libraries/OneWire/readme.txt", "lib/libraries/Servo/keywords.txt", "lib/libraries/Servo/Servo.cpp", "lib/libraries/Servo/Servo.h", "lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp", "lib/libraries/SWSerLCDpa/SWSerLCDpa.h", "lib/libraries/SWSerLCDsf/SWSerLCDsf.cpp", "lib/libraries/SWSerLCDsf/SWSerLCDsf.h", "lib/libraries/Wire/Wire.cpp", "lib/libraries/Wire/keywords.txt", "lib/libraries/Wire/Wire.h", "lib/libraries/Wire/twi.h", "lib/libraries/Wire/utilities/twi.c", "lib/libraries/Wire/utilities/twi.h", "lib/plugins/bitwise_ops.rb", "lib/plugins/blink_m.rb", "lib/plugins/debounce.rb", "lib/plugins/debug_output_to_lcd.rb", "lib/plugins/i2c_eeprom.rb", "lib/plugins/input_output_state.rb", "lib/plugins/mem_test.rb", "lib/plugins/servo_pulse.rb", "lib/plugins/servo_setup.rb", "lib/plugins/smoother.rb", "lib/plugins/spark_fun_serial_lcd.rb", "lib/rad.rb", "lib/rad/arduino_sketch.rb", "lib/rad/arduino_plugin.rb", "lib/rad/rad_processor.rb", "lib/rad/rad_rewriter.rb", "lib/rad/variable_processing.rb", "lib/rad/init.rb", "lib/rad/todo.txt", "lib/rad/tasks/build_and_make.rake", "lib/rad/tasks/rad.rb", "lib/rad/version.rb", "lib/rad/generators/makefile/makefile.erb", "lib/rad/generators/makefile/makefile.rb", "lib/test/test_array_processing.rb", "lib/test/test_variable_processing.rb", "scripts/txt2html", "setup.rb", "spec/models/spec_helper.rb", "spec/models/arduino_sketch_spec.rb", "spec/spec.opts", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/screen.css", "website/template.rhtml", "website/examples/assembler_test.rb.html", "website/examples/gps_reader.rb.html", "website/examples/hello_world.rb.html", "website/examples/serial_motor.rb.html"] s.test_files = [] s.rdoc_options = ["--main", "README.rdoc"] s.require_paths = ["lib"] From d80769a1532243ffbef7e8a39b58a5c5719168be Mon Sep 17 00:00:00 2001 From: JD Barnhart Date: Tue, 22 Jul 2008 09:49:45 -0700 Subject: [PATCH 3/3] pa_lcd methods: setxy, clearscr and home now have capability to take a string for print.. eg. setxy 0,1 'print_this' -- example updated too --- Manifest.txt | 1 + lib/examples/hello_pa_lcd.rb | 63 +++++++++++++++++++++++++ lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp | 48 ++++++++++++++----- lib/libraries/SWSerLCDpa/SWSerLCDpa.h | 5 +- lib/rad/arduino_sketch.rb | 15 ++++-- rad.gemspec | 2 +- 6 files changed, 118 insertions(+), 16 deletions(-) create mode 100644 lib/examples/hello_pa_lcd.rb diff --git a/Manifest.txt b/Manifest.txt index ae64a14..b90ceeb 100644 --- a/Manifest.txt +++ b/Manifest.txt @@ -13,6 +13,7 @@ lib/examples/external_variable_fu.rb lib/examples/first_sound.rb lib/examples/frequency_generator.rb lib/examples/hello_eeprom.rb +lib/examples/hello_pa_lcd.rb lib/examples/hello_servos.rb lib/examples/hello_world.rb lib/examples/i2c_with_clock_chip.rb diff --git a/lib/examples/hello_pa_lcd.rb b/lib/examples/hello_pa_lcd.rb new file mode 100644 index 0000000..ac4a79b --- /dev/null +++ b/lib/examples/hello_pa_lcd.rb @@ -0,0 +1,63 @@ +class HelloPaLcd < ArduinoSketch + + +# demonstrate 4 x 20 pa_lcd toggle between normal and Bignum mode +# with @toggle external variable thrown in for fun + +# change your pins to suit your setup + + @toggle = false + + input_pin 6, :as => :button_one, :device => :button + input_pin 7, :as => :button_two, :device => :button + input_pin 8, :as => :button_three, :device => :button + + output_pin 5, :as => :my_lcd, :device => :pa_lcd, :rate => 19200, :clear_screen => :true + + def setup + delay 3000 + my_lcd.home + my_lcd.print "Press button" + my_lcd.setxy 0,1 + my_lcd.print "One, two or three...." + end + + def loop + say_hello if button_one.read_input + say_more if button_two.read_input + say_it_large if button_three.read_input + end + + def say_hello + @toggle = true + my_lcd.clearscr + my_lcd.home # line 0, col 0 + my_lcd.print "Any sufficiently advanced technology" + my_lcd.setxy 0,2 + my_lcd.setxy 0,3 + my_lcd.print "toggle state: " + my_lcd.print @toggle + end + + def say_more # passing print strings to home and setxy (also works on clearscr) + @toggle = false + my_lcd.clearscr + my_lcd.home "is indistinguishablefrom magic" + my_lcd.setxy 0,3, "toggle state: " + my_lcd.print @toggle + end + + + def say_it_large + my_lcd.clearscr + my_lcd.intoBignum + my_lcd.home # line 0, col 0 + 1.upto(32) do |i| + my_lcd.setxy 0,1 + my_lcd.print i * i + delay 200 + end + my_lcd.outofBignum + end + +end \ No newline at end of file diff --git a/lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp b/lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp index 2be897a..d3c61da 100644 --- a/lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp +++ b/lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp @@ -154,12 +154,49 @@ void SWSerLCDpa::clearscr(void) delay(100); } +void SWSerLCDpa::clearscr(const char *s) +{ + print("?f"); + delay(100); + print(s); +} + void SWSerLCDpa::home(void) { print("?a"); delay(10); } +void SWSerLCDpa::home(const char *s) +{ + print("?a"); + delay(10); + print(s); +} + +void SWSerLCDpa::setxy(int x, int y) +{ + print("?y"); + print(y); + print("?x"); + if (x < 10) + print('0'); + print(x); + delay(10); +} + +void SWSerLCDpa::setxy(int x, int y, const char *s) +{ + print("?y"); + print(y); + print("?x"); + if (x < 10) + print('0'); + print(x); + delay(10); + print(s); +} + void SWSerLCDpa::setgeo(int geometry) { @@ -188,17 +225,6 @@ void SWSerLCDpa::outofBignum(void) } -void SWSerLCDpa::setxy(int x, int y) -{ - print("?y"); - print(y); - print("?x"); - if (x < 10) - print('0'); - print(x); - delay(10); -} - void SWSerLCDpa::println(char c) { diff --git a/lib/libraries/SWSerLCDpa/SWSerLCDpa.h b/lib/libraries/SWSerLCDpa/SWSerLCDpa.h index 5d0ab7d..206cb3f 100644 --- a/lib/libraries/SWSerLCDpa/SWSerLCDpa.h +++ b/lib/libraries/SWSerLCDpa/SWSerLCDpa.h @@ -46,11 +46,14 @@ class SWSerLCDpa void println(void); void clearscr(void); void home(void); + void setxy(int, int); + void clearscr(const char[]); + void home(const char[]); + void setxy(int, int, const char[]); void setgeo(int); void setintensity(int); void intoBignum(void); void outofBignum(void); - void setxy(int, int); void println(char); void println(const char[]); void println(uint8_t); diff --git a/lib/rad/arduino_sketch.rb b/lib/rad/arduino_sketch.rb index dfd9503..555fc20 100644 --- a/lib/rad/arduino_sketch.rb +++ b/lib/rad/arduino_sketch.rb @@ -666,6 +666,18 @@ def swser_LCDpa(tx, opts={}) accessor << "void home(SWSerLCDpa& s) {" accessor << "\treturn s.home();" accessor << "}" + accessor << "void setxy( SWSerLCDpa& s, int x, int y) {" + accessor << "\treturn s.setxy( x, y );" + accessor << "}" + accessor << "void clearscr(SWSerLCDpa& s, const char *str) {" + accessor << "\treturn s.clearscr(str);" + accessor << "}" + accessor << "void home(SWSerLCDpa& s, const char *str) {" + accessor << "\treturn s.home(str);" + accessor << "}" + accessor << "void setxy( SWSerLCDpa& s, int x, int y, const char *str) {" + accessor << "\treturn s.setxy( x, y, str );" + accessor << "}" accessor << "void setgeo( SWSerLCDpa& s, int i ) {" accessor << "\treturn s.setgeo( i );" accessor << "}" @@ -677,9 +689,6 @@ def swser_LCDpa(tx, opts={}) accessor << "}" accessor << "void outofBignum(SWSerLCDpa& s) {" accessor << "\treturn s.outofBignum();" - accessor << "}" - accessor << "void setxy( SWSerLCDpa& s, int x, int y) {" - accessor << "\treturn s.setxy( x, y );" accessor << "}" accessor << "void println( SWSerLCDpa& s, char c ) {" accessor << "\treturn s.println( c );" diff --git a/rad.gemspec b/rad.gemspec index e11b320..26b979b 100644 --- a/rad.gemspec +++ b/rad.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |s| s.has_rdoc = true s.authors = ["Greg Borenstein", "plugins+: JD Barnhart"] s.files = ["History.txt", "License.txt", "Manifest.txt", - "README.rdoc", "Rakefile", "bin/rad", "lib/examples/add_hysteresis.rb", "lib/examples/blink_m_hello.rb", "lib/examples/configure_pa_lcd_boot.rb", "lib/examples/external_variable_fu.rb", "lib/examples/debounce_methods.rb", "lib/examples/external_variables.rb", "lib/examples/first_sound.rb", "lib/examples/frequency_generator.rb", "lib/examples/hello_eeprom.rb", "lib/examples/hello_servos.rb", "lib/examples/hello_world.rb", "lib/examples/i2c_with_clock_chip.rb", "lib/examples/orig_servo_throttle.rb", "lib/examples/servo_buttons.rb", "lib/examples/servo_throttle.rb", "lib/examples/sparkfun_lcd.rb", "lib/examples/times_method.rb", "lib/examples/toggle.rb", "lib/examples/two_wire.rb", "lib/libraries/DS1307/DS1307.cpp", "lib/libraries/DS1307/DS1307.h", "lib/libraries/DS1307/keywords.txt", "lib/libraries/FrequencyTimer2/keywords.txt", "lib/libraries/FrequencyTimer2/FrequencyTimer2.cpp", "lib/libraries/FrequencyTimer2/FrequencyTimer2.h", "lib/libraries/OneWire/keywords.txt", "lib/libraries/OneWire/OneWire.cpp", "lib/libraries/OneWire/OneWire.h", "lib/libraries/OneWire/readme.txt", "lib/libraries/Servo/keywords.txt", "lib/libraries/Servo/Servo.cpp", "lib/libraries/Servo/Servo.h", "lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp", "lib/libraries/SWSerLCDpa/SWSerLCDpa.h", "lib/libraries/SWSerLCDsf/SWSerLCDsf.cpp", "lib/libraries/SWSerLCDsf/SWSerLCDsf.h", "lib/libraries/Wire/Wire.cpp", "lib/libraries/Wire/keywords.txt", "lib/libraries/Wire/Wire.h", "lib/libraries/Wire/twi.h", "lib/libraries/Wire/utilities/twi.c", "lib/libraries/Wire/utilities/twi.h", "lib/plugins/bitwise_ops.rb", "lib/plugins/blink_m.rb", "lib/plugins/debounce.rb", "lib/plugins/debug_output_to_lcd.rb", "lib/plugins/i2c_eeprom.rb", "lib/plugins/input_output_state.rb", "lib/plugins/mem_test.rb", "lib/plugins/servo_pulse.rb", "lib/plugins/servo_setup.rb", "lib/plugins/smoother.rb", "lib/plugins/spark_fun_serial_lcd.rb", "lib/rad.rb", "lib/rad/arduino_sketch.rb", "lib/rad/arduino_plugin.rb", "lib/rad/rad_processor.rb", "lib/rad/rad_rewriter.rb", "lib/rad/variable_processing.rb", "lib/rad/init.rb", "lib/rad/todo.txt", "lib/rad/tasks/build_and_make.rake", "lib/rad/tasks/rad.rb", "lib/rad/version.rb", "lib/rad/generators/makefile/makefile.erb", "lib/rad/generators/makefile/makefile.rb", "lib/test/test_array_processing.rb", "lib/test/test_variable_processing.rb", "scripts/txt2html", "setup.rb", "spec/models/spec_helper.rb", "spec/models/arduino_sketch_spec.rb", "spec/spec.opts", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/screen.css", "website/template.rhtml", "website/examples/assembler_test.rb.html", "website/examples/gps_reader.rb.html", "website/examples/hello_world.rb.html", "website/examples/serial_motor.rb.html"] + "README.rdoc", "Rakefile", "bin/rad", "lib/examples/add_hysteresis.rb", "lib/examples/blink_m_hello.rb", "lib/examples/configure_pa_lcd_boot.rb", "lib/examples/external_variable_fu.rb", "lib/examples/debounce_methods.rb", "lib/examples/external_variables.rb", "lib/examples/first_sound.rb", "lib/examples/frequency_generator.rb", "lib/examples/hello_eeprom.rb", "lib/examples/hello_pa_lcd.rb", "lib/examples/hello_servos.rb", "lib/examples/hello_world.rb", "lib/examples/i2c_with_clock_chip.rb", "lib/examples/orig_servo_throttle.rb", "lib/examples/servo_buttons.rb", "lib/examples/servo_throttle.rb", "lib/examples/sparkfun_lcd.rb", "lib/examples/times_method.rb", "lib/examples/toggle.rb", "lib/examples/two_wire.rb", "lib/libraries/DS1307/DS1307.cpp", "lib/libraries/DS1307/DS1307.h", "lib/libraries/DS1307/keywords.txt", "lib/libraries/FrequencyTimer2/keywords.txt", "lib/libraries/FrequencyTimer2/FrequencyTimer2.cpp", "lib/libraries/FrequencyTimer2/FrequencyTimer2.h", "lib/libraries/OneWire/keywords.txt", "lib/libraries/OneWire/OneWire.cpp", "lib/libraries/OneWire/OneWire.h", "lib/libraries/OneWire/readme.txt", "lib/libraries/Servo/keywords.txt", "lib/libraries/Servo/Servo.cpp", "lib/libraries/Servo/Servo.h", "lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp", "lib/libraries/SWSerLCDpa/SWSerLCDpa.h", "lib/libraries/SWSerLCDsf/SWSerLCDsf.cpp", "lib/libraries/SWSerLCDsf/SWSerLCDsf.h", "lib/libraries/Wire/Wire.cpp", "lib/libraries/Wire/keywords.txt", "lib/libraries/Wire/Wire.h", "lib/libraries/Wire/twi.h", "lib/libraries/Wire/utilities/twi.c", "lib/libraries/Wire/utilities/twi.h", "lib/plugins/bitwise_ops.rb", "lib/plugins/blink_m.rb", "lib/plugins/debounce.rb", "lib/plugins/debug_output_to_lcd.rb", "lib/plugins/i2c_eeprom.rb", "lib/plugins/input_output_state.rb", "lib/plugins/mem_test.rb", "lib/plugins/servo_pulse.rb", "lib/plugins/servo_setup.rb", "lib/plugins/smoother.rb", "lib/plugins/spark_fun_serial_lcd.rb", "lib/rad.rb", "lib/rad/arduino_sketch.rb", "lib/rad/arduino_plugin.rb", "lib/rad/rad_processor.rb", "lib/rad/rad_rewriter.rb", "lib/rad/variable_processing.rb", "lib/rad/init.rb", "lib/rad/todo.txt", "lib/rad/tasks/build_and_make.rake", "lib/rad/tasks/rad.rb", "lib/rad/version.rb", "lib/rad/generators/makefile/makefile.erb", "lib/rad/generators/makefile/makefile.rb", "lib/test/test_array_processing.rb", "lib/test/test_variable_processing.rb", "scripts/txt2html", "setup.rb", "spec/models/spec_helper.rb", "spec/models/arduino_sketch_spec.rb", "spec/spec.opts", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/screen.css", "website/template.rhtml", "website/examples/assembler_test.rb.html", "website/examples/gps_reader.rb.html", "website/examples/hello_world.rb.html", "website/examples/serial_motor.rb.html"] s.test_files = [] s.rdoc_options = ["--main", "README.rdoc"] s.require_paths = ["lib"]