<p></p>
<div align=center>
Chieh-Jan Mike Liang<br>
-Razvan Musaloiu-E.<p>May 18, 2007</p>
+Razvan Musaloiu-E.<p>May 25, 2007</p>
</div>
<p></p>
<p>
related documentations.</p>
<p>
Deluge T2 is still in experimental phase. One current limitation is
-platform support. Deluge T2 has been developed and tested on tmote sky
+platform support. Deluge T2 has been developed and tested on Tmote Sky
(<i>telosb</i>) only. In addition, Deluge T2 comes with 2 flash volumes by
default. However, more volumes can be added, if necessary. There are
also minor details that will be improved in future releases.</p>
TinyOS 2 CVS tree and Python 2.4 with pySerial support are recommended
for running Deluge T2.</p>
<p>
-To start the example, we run a <code class=verbatim>burn</code> script provided in
-<code class=verbatim>tinyos-2.x/apps/tests/deluge/Blink</code>. For example,
+To start the example, we first compile TOSBoot provided in <code class=verbatim>tinyos-2.x/tos/lib/TOSBoot</code>.
+For example,
+</p>
+<pre class=verbatim> % make telosb
+</pre><p>
+Then, we run the <code class=verbatim>burn</code> script provided in <code class=verbatim>tinyos-2.x/apps/tests/deluge/Blink</code>.
+For example,
</p>
<pre class=verbatim> % ./burn /dev/ttyUSB0
</pre><p>
This <code class=verbatim>burn</code> script programs the directly-connected mote with one
-version of blink. Then, it injects and reprograms the mote with another
-version of blink. At this point, you can try to retrieve program image
+version of Blink. Then, it injects and reprograms the mote with another
+version of Blink. At this point, you can try to retrieve program image
versioning information. The script to interface with the mote is
-provided in <code class=verbatim>tinyos-2.x/tools/</code>. For example,
+provided in <code class=verbatim>tinyos-2.x/tools/tinyos/misc</code>. For example,
</p>
-<pre class=verbatim> % tos-deluge.py /dev/ttyUSB0 -p 0
+<pre class=verbatim> % tos-deluge /dev/ttyUSB0 -p 0
</pre><p>
-You should see something similar to the output below.</p>
-<p>
+You should see something similar to the output below.
</p>
<pre class=verbatim> Pinging node ...
Connected to Deluge node.
--------------------------------------------------
</pre><p></p>
<p>
-The usage of <code class=verbatim>delugy.py</code> is available by running the script without
+The usage of <code class=verbatim>tos-deluge</code> is available by running the script without
any arguments, and it will be discussed in section <a href="#node_sec_4">4</a>.</p>
<p>
</p>
nothing except initializing Deluge T2. This step can be done by
compiling and programming the mote normally. For example,
</p>
-<pre class=verbatim> % make telosb install,0 bsl,/dev/ttyUSB0
+<pre class=verbatim> % CFLAGS=-DDELUGE_BASESTATION make telosb install,0 bsl,/dev/ttyUSB0
</pre><p>
+<code class=verbatim>CFLAGS=-DDELUGE_BASESTATION</code> indicates that the current mote will
+act as a base station, which requires an additional component to accept
+user commands from the serial port. Normally, only one mote in the
+network needs to be the base station, and other motes are reprogrammed
+over-the-air. If error occurs when running the command above, you might
+need to compile TOSBoot as shown in section <a href="#node_sec_2">2</a>.
Deluge T2 makes sure the mote ID remain persistent over image
reprogramming. You can test the installation by interacting with the
-mote through <code class=verbatim>deluge.py</code>.</p>
+mote through <code class=verbatim>tos-deluge</code>.</p>
<p>
</p>
<a name="node_sec_3.2"></a>
<h2>3.2 Preparing Your Application</h2>
<p>In most cases, the only two files you need to modify are the top-level
-wiring file and the Make file. You need to make sure <code class=verbatim>DelugeC</code>
-component is included. In addition, the Make file should have the
-following lines:
+wiring file and the Makefile. You need to make sure <code class=verbatim>DelugeC</code>
+component is included. In addition, the Makefile should have the
+following line:
</p>
<pre class=verbatim> TINYOS_NP=BNP
- CFLAGS += -DTOSH_DATA_LENGTH=100
</pre><p>
Finally, compile your application without installing it on the mote. For
example,
<p>Before a program image is disseminated in the network, we need to first
inject it to the base station. For example,
</p>
-<pre class=verbatim> % tos-deluge.py /dev/ttyUSB0 -i 1 apps/Blink/build/telosb/tos_image.xml
+<pre class=verbatim> % tos-deluge /dev/ttyUSB0 -i 1 apps/Blink/build/telosb/tos_image.xml
</pre><p>
You should see something similar to the output below.</p>
<p>
first test on the base station by issuing the reboot command. For
example,
</p>
-<pre class=verbatim> % tos-deluge.py /dev/ttyUSB0 -r 1
+<pre class=verbatim> % tos-deluge /dev/ttyUSB0 -r 1
</pre><p>
After a few moments, the mote will begin quickly flashing the LEDs to
signify the reprogramming process.</p>
Now, you can have the base station disseminate a program image to the rest of
the network. For example,
</p>
-<pre class=verbatim> % tos-deluge.py /dev/ttyUSB0 -d 1
+<pre class=verbatim> % tos-deluge /dev/ttyUSB0 -d 1
</pre><p>
This command instructs the base station to notify the whole network of
the availablility of a new program image. This notification is currently
<p>
</p>
<div align=right class=colophon>
-<i>Last modified: Friday, May 18th, 2007<br>
+<i>Last modified: Friday, May 25th, 2007<br>
HTML conversion by <a href="http://www.ccs.neu.edu/~dorai/tex2page/tex2page-doc.html">TeX2page 2004-09-11</a></i>
</div>
</body>