<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>stone&#039;s throw</title>
	<atom:link href="http://www.spinningtheweb.org/stonesthrow/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.spinningtheweb.org/stonesthrow</link>
	<description>skipping data with off-the-grid networks</description>
	<lastBuildDate>Thu, 29 Apr 2010 11:55:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Getting Started</title>
		<link>http://www.spinningtheweb.org/stonesthrow/?p=170</link>
		<comments>http://www.spinningtheweb.org/stonesthrow/?p=170#comments</comments>
		<pubDate>Mon, 13 Jul 2009 07:47:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.spinningtheweb.org/stonesthrow/?p=170</guid>
		<description><![CDATA[Download the Library The first version of the stonesThrow library is available for download! Version A001 (zip archive) Released: July 12, 2009 This library is being actively developed and the included functions are in the early proof of concept stages. There is a lot of room for optimization and improvement. Suggestions are welcome. Installing the [...]]]></description>
			<content:encoded><![CDATA[<h3>Download the Library</h3>
<p>The first version of the stonesThrow library is available for download!</p>
<p><code><strong><a href="http://www.spinningtheweb.org/stonesthrow/stLibrary/ver_A001.zip">Version A001 (zip archive)</a></strong> <strong>Released: July 12, 2009</strong></code></p>
<p>This library is being actively developed and the included functions are in the early proof of concept stages.  There is a lot of room for optimization and improvement.  Suggestions are welcome.</p>
<p><strong><br />
</strong></p>
<h3>Installing the Library</h3>
<ul>
<li>Download and unpack the archive</li>
</ul>
<ul>
<li> Place the StonesThrow folder inside the Arduino IDE Libraries folder.  The path should resemble:  <code>Arduino-XXXX/hardware/libraries</code></li>
</ul>
<ul>
<li> Restart the Arduino IDE if it is open.</li>
</ul>
<ul>
<li> StonesThrow should now appear in the <code>Sketch\Import Library</code> menu</li>
</ul>
<p><strong><br />
</strong></p>
<h3>Include the Library </h3>
<p>There are two ways to include the library in a sketch:</p>
<ul>
<li> At the top of your sketch, type<br />
<blockquote><p> #include &lt;StonesThrow.h&gt;</p></blockquote>
</li>
</ul>
<ul>
<li>using the menus, select:<code> Sketch\Import Library\StonesThrow</code></li>
</ul>
<p><strong><br />
</strong></p>
<h3>Use the Library </h3>
<p>Full function details and examples are available on the <a title="Reference" href="http://www.spinningtheweb.org/stonesthrow/?page_id=31" target="_blank"><strong>Reference</strong></a> page .<br />
<strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spinningtheweb.org/stonesthrow/?feed=rss2&#038;p=170</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.remoteDigitalRead()</title>
		<link>http://www.spinningtheweb.org/stonesthrow/?p=159</link>
		<comments>http://www.spinningtheweb.org/stonesthrow/?p=159#comments</comments>
		<pubDate>Mon, 13 Jul 2009 07:30:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[remoteDigitalRead()]]></category>

		<guid isPermaLink="false">http://www.spinningtheweb.org/stonesthrow/?p=159</guid>
		<description><![CDATA[Description Reads the value (either HIGH or LOW) from a specified digital pin on a remote I/O board . This function automatically sets the pinMode() of the target pin to INPUT. NOTE: the remoteRead functions in this library can be MUCH slower than remoteWrite functions.  This is because remoteRead requires a serial handshake, which is [...]]]></description>
			<content:encoded><![CDATA[<h3>Description</h3>
<p>Reads the value (either <span style="color: #993300;">HIGH</span> or <span style="color: #993300;">LOW</span>) from a specified digital pin on a remote I/O board<span style="color: #993300;"> </span>.  This function automatically sets the pinMode() of the target pin to <span style="color: #993300;">INPUT</span>.</p>
<p>NOTE: the remoteRead functions in this library can be MUCH slower than remoteWrite functions.  This is because remoteRead requires a serial handshake, which is time consuming.  Where possible, call remoteRead functions no more than 1x per second, or conceive of a system where remote changes are written.  Also,  transitions (edges) are best detected locally and then written to a remote NODE.</p>
<p>Compare with Arduino <a title="Arduino analogWrite()" href="http://arduino.cc/en/Reference/DigitalRead" target="_blank">analogWrite()</a></p>
<h3>Syntax</h3>
<p><em>int </em>remoteDigitalRead(pin);</p>
<h3>Parameters</h3>
<p>pin: the target pin number, INTEGER</p>
<h3>Returns</h3>
<p>Integer: 1 (<span style="color: #993300;">HIGH</span>) or 0 (<span style="color: #993300;">LOW</span>)</p>
<h3>Example:</h3>
<p>All examples require two NODES to operate.  For simplicity, one NODE should run the following while another NODE is running the <em>listener</em> example.</p>
<p>Attach an LED to digital PIN 11 of the<em> listener</em> NODE.  Attach a button or other digital input circuit to PIN 3 of NODE running this code.</p>
<pre><code>
#include &lt;StonesThrow.h&gt;

StonesThrow st;

#define myID 2
#define pairWithID 1

void setup(){
 st.begin(myID, pairWithID);
 pinMode(11,OUTPUT);                             //  must set pinmode for LOCAL pins

}

void loop(){

   int digitalValue =  st.remoteDigitalRead(3);   // read digital PIN3 on REMOTE node 

   Serial.print("digitalValue: ");
   Serial.println(digitalValue);

   digitalWrite(11, digitalValue);     // write scaled reading to LOCAL pin
                                                    // REMEMBER set local pinModes!

   delay(100);  

}
</code></pre>
<p style="text-align: right;"><a href="http://www.spinningtheweb.org/stonesthrow/?page_id=31">[index]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spinningtheweb.org/stonesthrow/?feed=rss2&#038;p=159</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.remoteAnalogWrite()</title>
		<link>http://www.spinningtheweb.org/stonesthrow/?p=157</link>
		<comments>http://www.spinningtheweb.org/stonesthrow/?p=157#comments</comments>
		<pubDate>Mon, 13 Jul 2009 07:28:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[remoteAnalogWrite()]]></category>

		<guid isPermaLink="false">http://www.spinningtheweb.org/stonesthrow/?p=157</guid>
		<description><![CDATA[Description Write an analog value to a PWM pin on a remote I/O board. The function automatically sets the pinMode() of the target pin to output. The analog write value expects a value between 0 &#8211; 255. Compare with Arduino analogWrite() Syntax remoteAnalogWrite(pin, value); Parameters pin: the target pin number, INTEGER value: 0 (off) &#8211; [...]]]></description>
			<content:encoded><![CDATA[<h3>Description</h3>
<p>Write an analog value to a PWM pin on a remote I/O board.  The function automatically sets the pinMode() of the target pin to output.  The analog write value expects a value between 0 &#8211; 255.</p>
<p>Compare with Arduino <a title="Arduino analogWrite()" href="http://arduino.cc/en/Reference/AnalogWrite" target="_blank">analogWrite()</a></p>
<h3>Syntax</h3>
<p>remoteAnalogWrite(pin, value);</p>
<h3>Parameters</h3>
<p>pin: the target pin number, INTEGER</p>
<p>value: 0 (off) &#8211; 255 (on),  <span style="color: #333333;">INTEGER</span></p>
<h3>Returns</h3>
<p>none</p>
<h3>Example:</h3>
<p>All examples require two NODES to operate.  For simplicity, one NODE should run the following while another NODE is running the <em>listener</em> example.</p>
<p>Attach an LED to digital PIN 11 of the<em> listener</em> NODE.</p>
<pre><code>
#include &lt;StonesThrow.h&gt;

StonesThrow st;

#define myID 2
#define pairWithID 1

void setup(){
   st.begin(myID, pairWithID);
}

void loop(){

   int analogValue = analogRead(0);            // read a local analog pin

   analogValue = map(analogValue,0,1023,0,100);  // scale reading to single BYTE

   st.remoteAnalogWrite(11, analogValue);      // write scaled reading to remote NODE

   delay(250);  // can be smaller but if erratic results emerge -- increase again

}

</code></pre>
<p style="text-align: right;"><a href="http://www.spinningtheweb.org/stonesthrow/?page_id=31">[index]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spinningtheweb.org/stonesthrow/?feed=rss2&#038;p=157</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.remoteAnalogRead()</title>
		<link>http://www.spinningtheweb.org/stonesthrow/?p=154</link>
		<comments>http://www.spinningtheweb.org/stonesthrow/?p=154#comments</comments>
		<pubDate>Mon, 13 Jul 2009 07:25:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[remoteAnalogRead()]]></category>

		<guid isPermaLink="false">http://www.spinningtheweb.org/stonesthrow/?p=154</guid>
		<description><![CDATA[Description Reads the value from the specified analog pin of a remote I/O board. Newer Arduino based i/o boards have six, 10-bit analog to digital converters. Input voltages are mapped from 0 to 1023. The function returns the full 10 bit (max 1023) value. YOU must SCALE it for ANALOG output through PWM (analogWrite). NOTE: [...]]]></description>
			<content:encoded><![CDATA[<h3>Description</h3>
<p>Reads the value from the specified analog pin of a remote I/O board.  Newer Arduino based i/o boards have six, 10-bit analog to digital converters. Input voltages are mapped from 0 to 1023.  The function returns the full 10 bit (max 1023) value.  YOU must SCALE it for ANALOG output through PWM (analogWrite).</p>
<p>NOTE: the remoteRead functions in this library can be MUCH slower than remoteWrite functions.  This is because remoteRead requires a serial handshake, which is time consuming.  Where possible, call remoteRead functions no more than 1x per second, or conceive of a system where remote changes are written.  Also,  transitions (edges) are best detected locally and then written to a remote NODE.</p>
<p>Compare with Arduino <a title="Arduino analogWrite()" href="http://arduino.cc/en/Reference/AnalogRead" target="_blank">analogRead()</a></p>
<h3>Syntax</h3>
<p>remoteAnalogRead(pin);</p>
<h3>Parameters</h3>
<p>pin: the target pin number, INTEGER</p>
<p><span style="color: #333333;"> </span><span style="color: #993300;"> </span></p>
<h3>Returns</h3>
<p>Integer:  Range 0 -1023</p>
<h3>Example:</h3>
<p>All examples require two NODES to operate.  For simplicity, one NODE should run the following  while another NODE is running the <em>listener</em> example.</p>
<p>Attach an LED to digital PIN 11 of the<em> listener</em> NODE.   Attach a POT, photoCell or other analog input circuit to analog PIN 0 of the NODE running this code.</p>
<pre><code>
#include &lt;StonesThrow.h&gt;

StonesThrow st;

#define myID 2
#define pairWithID 1

void setup(){
   st.begin(myID, pairWithID);
   pinMode(11,OUTPUT);      //  must set pinmode for local PINs
}

void loop(){

   int analogValue = st.remoteAnalogRead(0);     // read a REMOTE analog pin

   analogValue = map(analogValue,0,1023,0,100);  // scale reading to single BYTE

   analogWrite(11, analogValue);                 // write scaled reading to LOCAL pin

   delay(100);  

}
</code></pre>
<p style="text-align: right;"><a href="http://www.spinningtheweb.org/stonesthrow/?page_id=31">[index]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spinningtheweb.org/stonesthrow/?feed=rss2&#038;p=154</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.update()</title>
		<link>http://www.spinningtheweb.org/stonesthrow/?p=149</link>
		<comments>http://www.spinningtheweb.org/stonesthrow/?p=149#comments</comments>
		<pubDate>Mon, 13 Jul 2009 07:20:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[update()]]></category>

		<guid isPermaLink="false">http://www.spinningtheweb.org/stonesthrow/?p=149</guid>
		<description><![CDATA[Description Polls the hardware serial buffer for incoming StonesThrow messages, and executes function calls. It can be included on its own or in a sketch with I/O functions. Syntax update(); Parameters none Returns none Context / Example: update() should be placed inside the loop() structure of an Arduino sketch.  It MUST be included in NODES [...]]]></description>
			<content:encoded><![CDATA[<h3>Description</h3>
<p>Polls the hardware serial buffer for incoming <em>StonesThrow </em>messages, and executes function calls.  It can be included on its own or in a sketch with I/O functions.</p>
<h3>Syntax</h3>
<p>update();</p>
<h3>Parameters</h3>
<p>none</p>
<h3>Returns</h3>
<p>none</p>
<h3>Context / Example:</h3>
<p>update() should be placed inside the loop() structure of an Arduino sketch.  It MUST be included in NODES that you wish to control remotely.</p>
<pre><code>
void loop(){
   st.update();
}
</code></pre>
<p style="text-align: right;"><a href="http://www.spinningtheweb.org/stonesthrow/?page_id=31">[index]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spinningtheweb.org/stonesthrow/?feed=rss2&#038;p=149</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.remoteDigitalWrite()</title>
		<link>http://www.spinningtheweb.org/stonesthrow/?p=118</link>
		<comments>http://www.spinningtheweb.org/stonesthrow/?p=118#comments</comments>
		<pubDate>Mon, 13 Jul 2009 05:39:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[remoteDigitalWrite()]]></category>
		<category><![CDATA[xBee]]></category>

		<guid isPermaLink="false">http://www.spinningtheweb.org/stonesthrow/?p=118</guid>
		<description><![CDATA[Description Write a HIGH or a LOW value to a digital pin on a remote I/O board. The function automatically sets the pinMode() of the target pin to output. Compare with Arduino digitalWrite() Syntax remoteDigitalWrite(pin, value); Parameters pin: the target PIN number, INTEGER value: HIGH or LOW Returns none Example: All examples require two NODES [...]]]></description>
			<content:encoded><![CDATA[<h3>Description</h3>
<p>Write a HIGH or a LOW value to a digital pin on a remote I/O board.  The function automatically sets the pinMode() of the target pin to output.</p>
<p>Compare with Arduino <a title="Arduino DigitalWrite()" href="http://arduino.cc/en/Reference/DigitalWrite" target="_blank">digitalWrite()</a></p>
<h3>Syntax</h3>
<p>remoteDigitalWrite(pin, value);</p>
<h3>Parameters</h3>
<p>pin: the target PIN number, INTEGER</p>
<p>value: <span style="color: #993300;">HIGH</span> or <span style="color: #993300;">LOW</span></p>
<h3>Returns</h3>
<p>none</p>
<h3>Example:</h3>
<p>All examples require two NODES to operate.  For simplicity, one NODE should run the following while another NODE is running the <em>listener</em> example.</p>
<p>Attach an LED to digital PIN 11 of the<em> listener</em> NODE.<br />
<code> </code></p>
<pre>#include 

StonesThrow st;

#define myID 2
#define pairWithID 1

void setup(){
  st.begin(myID, pairWithID);
}

void loop(){

  st.remoteDigitalWrite(11,HIGH);
  delay(1000);
  st.remoteDigitalWrite(11,LOW);
  delay(1000);

}</pre>
<p style="text-align: right;">
<a href="http://www.spinningtheweb.org/stonesthrow/?page_id=31">[index]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spinningtheweb.org/stonesthrow/?feed=rss2&#038;p=118</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
