website/index.html in rad-0.1.1 vs website/index.html in rad-0.2.0

- old
+ new

@@ -7,11 +7,11 @@ <title> RAD </title> <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script> <style> - + .movie {float: left; margin-right: 10px; margin-bottom: 10px;} </style> <script type="text/javascript"> window.onload = function() { settings = { tl: { radius: 10 }, @@ -31,42 +31,48 @@ <div id="main"> <h1>RAD</h1> <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/rad"; return false'> <p>Get Version</p> - <a href="http://rubyforge.org/projects/rad" class="numbers">0.0.4</a> + <a href="http://rubyforge.org/projects/rad" class="numbers">0.2.0</a> </div> <h1>&#x2192; &#8216;Ruby Arduino Development&#8217;</h1> <h2>What?</h2> <p><span class="caps">RAD</span> is a framework for programming the Arduino physcial computing platform using Ruby. <span class="caps">RAD</span> converts Ruby scripts written using a set of Rails-like conventions and helpers into C source code which can be compiled and run on the Arduino microcontroller. It also provides a set of Rake tasks for automating the compilation and upload process.</p> + <h2>Demo: 'Hello World'</h2> + <p>Here's a basic demo of <span class="caps">RAD</span> in action. In this movie, we'll write, compile, and upload the universal physical computing 'Hello World': a single flashing LED. + <div class="movie"><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/AKbHcMaC_cA&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/AKbHcMaC_cA&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></div> + <em>Note: This movie was made using an old version of the Arduino board which required a hardware reset before being able to accept a new sketch. More recent versions of the board don't have this requirement and hence as of version 0.2.0, <span class="caps">RAD</span> no longer prompts for reset when running 'rake make:upload' (thought the option is still available for older boards.)</em> + </p> + <br style="clear:both" /> <h2>Why?</h2> <p>While duplicating the functionality of the well-designed Arduino software interface in Ruby may seem like an odd or redundant goal, <span class="caps">RAD</span> has further ambitions! Bootstrapping the ability to write microcontroller code in a high level dynamic language like Ruby could greatly ease the creation of all the luxurious development aids the users of such a language have come to expect: developer testing, platform independence, easy metaprogramming, etc.</p> <h2>Installing</h2> -<pre syntax="ruby">$ sudo gem install rad</pre> + <p><code>$ sudo gem install rad</code></p> - <p><span class="caps">RAD</span> depends on <a href="http://rubyforge.org/projects/ruby2c/">Ruby2C</a>, which seems immune to the normal gem requirement techniques, so, if you don&#8217;t already have it, you&#8217;ll need to install that as well:</p> + <p>You&#8217;ll also need to have the Arduino environment installed, which you can get from <a href="http://www.arduino.cc/en/Main/Software">the Arduino website</a>. <span class="caps">RAD</span> currently requires Arduino 0010, but we try to keep it up-to-date with new Arduino releases.</p> -<pre syntax="ruby">$ sudo gem install Ruby2C</pre> - <h2>The basics</h2> + <h2>The Basics</h2> -<code>$ rad my_sketch</code> + <p><code>$ rad my_sketch</code></p> + <p>This command will create a new <span class="caps">RAD</span> project directory (my_sketch/) inside of the current directory that contains a blank script in which you can write your own <span class="caps">RAD</span> code, as well as a full install of the <span class="caps">RAD</span> support infrastructure (in vendor/). A sample &#8216;hello world&#8217; script in <span class="caps">RAD</span> will look like this:</p> <pre syntax="ruby"> class MySketch &lt; ArduinoSketch @@ -75,32 +81,42 @@ blink led, 500 end end </pre> - <p>Once your code is written, your relevant local configuration properly setup in config/hardware.rb and config/sofrware.rb, and an Arduino with the corresponding circuit (a 220ohm resistor and an <span class="caps">LED</span> wired in series between Arduino pin 7 and ground) is connected to your computer via serial, run:</p> + <p>Once your code is written, your relevant local configuration properly setup in <code>config/hardware.rb</code> and <code>config/software.rb</code>, and an Arduino with the corresponding circuit (a 220ohm resistor and an <span class="caps">LED</span> wired in series between Arduino pin 7 and ground) is connected to your computer via serial, run:</p> -<code>$ rake make:upload</code> + <p><code>$ rake make:upload</code></p> + <p>This will:</p> -<ul> -<li>generate the correct Arduino C/C++ code from your sketch </li> -<li>dynamically prepare a localized version of the default Arduino makefile </li> -<li>compile your script </li> -<li>prompt you to hit the reset button on your Arduino </li> -<li>upload your compiled binary onto your Arduino</li> -</ul> + <ul> + <li>generate the correct Arduino C++ code from your sketch</li> + <li>dynamically prepare a localized version of the default Arduino Makefile</li> + <li>compile your sketch</li> + <li>prompt you to hit the reset button on your Arduino (if necessary!)</li> + <li>upload your compiled binary onto your Arduino</li> + </ul> + <h2>The Arduino <span class="caps">API</span></h2> - <p>With the exception of the still-experimental Serial interface, most of <a href="http://www.arduino.cc/en/Reference/HomePage">the Arduino software <span class="caps">API</span></a> should be working correctly at this point. Documentation for the Ruby versions of the methods is forthcoming, but it is mostly what you&#8217;d expect: methods with identical names and arguments to their Arduino counterparts with the exception of using &#8216;true&#8217; and &#8216;false&#8217; for <span class="caps">HIGH</span> and <span class="caps">LOW</span>.</p> + <p>Most of <a href="http://www.arduino.cc/en/Reference/HomePage">the Arduino software <span class="caps">API</span></a> should be working correctly at this point. Documentation for the Ruby versions of the methods is forthcoming, but it is mostly what you&#8217;d expect: methods with identical names and arguments to their Arduino counterparts with the exception of using &#8216;true&#8217; and &#8216;false&#8217; for <span class="caps">HIGH</span> and <span class="caps">LOW</span>.</p> + <h2>Demo: Serial Communication</h2> + <p> + To demonstrate some of the more advanced features of <span class="caps">RAD</span>, here's a movie showing how to program the Arduino to listen to serial communication from a computer. + <div class="movie"> + <object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/7OguEBfdTe0&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/7OguEBfdTe0&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object> </div> + <em>Note: The same comment from above applies here about the hardware reset. Also, extra points are available if you recognize the logo on the flag in the video.</em> + </p> + <br style="clear:both" /> <h2><span class="caps">RAD</span> Needs You!</h2> <p>All the many discipline-crossing skills required for a project like <span class="caps">RAD</span> make for lots of opportunities to help out: Have you written lots of sketches exploring the obscure depths of the Arduino library? Do you run the Arduino development tool chain on an obscure (i.e., non-OS X) platform? Do you develop for other <span class="caps">AVR</span> or <span class="caps">PIC</span> microcontrollers? Are you a C/C++ ninja? Or even C/C++ competent?</p> @@ -112,22 +128,30 @@ <h2>License</h2> - <p>This code is free to use under the terms of the <span class="caps">GPL 2</span>.0 license, just like the Arduino software library itself.</p> + <p>This code is free to use under the terms of the <span class="caps">GPL</span> 2.0 license, just like the Arduino software library itself.</p> <h2>Contact</h2> <p>Comments, questions, heckles, attacks, praises, and, (most especially) patches and contributions are welcome! Send email to <a href="mailto:greg@grabb.it">Greg Borenstein</a>.</p> <p class="coda"> - <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 23rd July 2007<br> + <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 18th November 2007<br> Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a> </p> </div> <!-- insert site tracking codes here, like Google Urchin --> - +<script type="text/javascript"> +var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); +document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); +</script> +<script type="text/javascript"> +var pageTracker = _gat._getTracker("UA-3885443-1"); +pageTracker._initData(); +pageTracker._trackPageview(); +</script> </body> </html>