]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Add README files to all tosthreads based apps
authorklueska <klueska>
Wed, 18 Jun 2008 20:58:42 +0000 (20:58 +0000)
committerklueska <klueska>
Wed, 18 Jun 2008 20:58:42 +0000 (20:58 +0000)
22 files changed:
apps/tosthreads/README [new file with mode: 0644]
apps/tosthreads/apps/BaseStation/README [new file with mode: 0644]
apps/tosthreads/apps/Blink/README [new file with mode: 0644]
apps/tosthreads/apps/Bounce/README [new file with mode: 0644]
apps/tosthreads/apps/RadioStress/README [new file with mode: 0644]
apps/tosthreads/apps/TestBasicsbSensors/README [new file with mode: 0644]
apps/tosthreads/apps/TestBlockStorage/README
apps/tosthreads/apps/TestCollection/README [new file with mode: 0644]
apps/tosthreads/apps/TestPrintf/README [new file with mode: 0644]
apps/tosthreads/apps/TestSineSensor/README [new file with mode: 0644]
apps/tosthreads/capps/BaseStation/README [new file with mode: 0644]
apps/tosthreads/capps/Blink/README [new file with mode: 0644]
apps/tosthreads/capps/Bounce/README [new file with mode: 0644]
apps/tosthreads/capps/Null/README [new file with mode: 0644]
apps/tosthreads/capps/RadioStress/README [new file with mode: 0644]
apps/tosthreads/capps/SenseAndSend/README [new file with mode: 0644]
apps/tosthreads/capps/SenseStoreAndForward/README [new file with mode: 0644]
apps/tosthreads/capps/TestCollection/README [new file with mode: 0644]
apps/tosthreads/capps/TestLogStorage/README [new file with mode: 0644]
apps/tosthreads/capps/TestPrintf/README [new file with mode: 0644]
apps/tosthreads/capps/TestSineSensor/README [new file with mode: 0644]
apps/tosthreads/capps/ThreadStress/README [new file with mode: 0644]

diff --git a/apps/tosthreads/README b/apps/tosthreads/README
new file mode 100644 (file)
index 0000000..f4364b6
--- /dev/null
@@ -0,0 +1,31 @@
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+The applications contained in this directory are both 'example' and 'test'
+applications for running TOSThreads based applications in TinyOS.  All
+applications in the 'apps' directory can be compiled by running the command:
+
+    make <platform> threads
+    
+and all applications in the 'capps' directory can be compiled by running:
+    
+    make <platform> cthreads
+    
+Some applications may be platform specific, but in general TOSThreads currently
+supports the following platforms: tmote, telosb, iris, mica2, and micaz 
+
+To compile all applications under 'apps' for a given platform, simpley 'cd' into
+the 'apps' directory and run the 'make' command specified above.  Similarly,
+'cd' into the 'capps' directory and run the 'cthreads' version of the make
+command to compile all of those applications too.
+
+There are READMEs contained in each application subdirectory that explain how
+the application works, and hwo one can verify that it is operating correctly.  
+
+I hope everyone finds these application and their descriptions useful.  And I
+hope everyone finds TOSThreads both intuitive and easy to use.  Enjoy.
+
+~Kevin Klues
+
+
+
+
diff --git a/apps/tosthreads/apps/BaseStation/README b/apps/tosthreads/apps/BaseStation/README
new file mode 100644 (file)
index 0000000..56ca0a8
--- /dev/null
@@ -0,0 +1,61 @@
+README for TOSThreads BaseStation 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+BaseStation is a reimplementation of the standard BaseStation application using
+the TOSThreads thread library.  It transparently forwards any AM messages it
+receives from its radio interface to its serial interface and vice versa. Upon
+successful reception of a packet, LED0 is toggled, and upon successful
+forwarding, LED1 is toggled.  If there are any errors, LED2 is toggled.  
+
+To run this application install it on a mote via the command:
+  make <platform> threads install.45
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+Installing with NODE_ID 45 (i.e. AM_ADDRESS 45) is jsut to verify that the
+application forwards packets with an arbitrarily chosen id, which it should.
+
+To test the correct operation of this application, you need two motes:  one with
+this BaseStation application installed on it, and one with an application that
+is sending messages installed, (let's use the RadioStress application from the
+current directory).  
+
+On one mote install the Base station via the command above, and on the other
+install RadioStress via the command:
+  make <platform> threads install.1
+  
+Don't forget the '.1' when you install, or RadioStress will be configured to
+receive rather than send messages.  Messages are sent to AM_ADDRESS 0.
+
+A succssfull test will result in the RadioStress mote constantly flickering all
+of its leds very rapidly, and the BaseStation mote flickering its LED0 and LED1
+leds rapidly.  Additionally, messages should be forwarded over the serial interface
+as verified by running the following for the platform of interest:
+  java net.tinyos.tools.Listen -comm serial@/dev/ttyUSBXXX:<baud_rate>
+  
+NOTE::  The baud rate 57600 must be used telos based motes, as its configuration
+has been changed to work with this baud rate when compiled for tosthreads. I.e.
+DO NOT just substitute 'telosb' or 'tmote' for <baud_rate> above.  Explicitly
+set it to 57600.
+
+Once this java application is running, you should see output of the sort
+constantly being streamed to your terminal:
+  00 00 00 00 01 00 00 14 
+  00 00 00 00 01 00 00 16 
+  00 00 00 00 01 00 00 15 
+  00 00 00 00 01 00 00 14 
+  00 00 00 00 01 00 00 16 
+  00 00 00 00 01 00 00 15 
+  00 00 00 00 01 00 00 14 
+  00 00 00 00 01 00 00 16 
+  00 00 00 00 01 00 00 15 
+  00 00 00 00 01 00 00 14 
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/apps/Blink/README b/apps/tosthreads/apps/Blink/README
new file mode 100644 (file)
index 0000000..bedfd7b
--- /dev/null
@@ -0,0 +1,22 @@
+README for TOSThreads Blink 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+Blink is a simple application used to test the basic functionality of
+TOSThreads.
+
+You can install Blink on a mote via the following comand:
+  make <platform> threads install
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+Upon a successful burn, you should see LED0 flashing with a period of every
+200ms, and LED1 and LED2 flashing in unison with a period of 1000ms.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/apps/Bounce/README b/apps/tosthreads/apps/Bounce/README
new file mode 100644 (file)
index 0000000..3ddf9e6
--- /dev/null
@@ -0,0 +1,42 @@
+README for TOSThreads Bounce 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application is derived from a similar application in the TinyThread 
+implementation by William P. McCartney from Cleveland State University (2006)
+
+This application stresses the operation of the thread based AM commands for
+packet transmission and reception.  To run this application you will need to
+burn it on one mote with NODE_ID 0, and a second mote with NODE_ID 1.  
+
+You can install Bounce on a mote via the following comand:
+  make <platform> threads install.0
+  make <platform> threads install.1
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+Three different threads run that each contain an infinite loop that first sends
+a message and then waits to receive a message before returning to the top of the
+loop. After each message reception, one of the onboard LEDs is toggled to
+indicate that it was received. Thread 0 blinks LED0, thread 1 blinks LED1, and
+thread 2 blinks LED2. The three threads run independently, and three different
+messages are bounced back and forth between the two motes in an unsynchronized
+fashion.  In contrast to the simple Bounce application found in the cthreads
+version of this application, once a thread receives a message it waits on a
+Barrier before continuing on and turning on its led.  A synchronization thread
+is used to wait until all three messages have been received by each thread
+before unblocking the barrier.  In this way, messages are still bounced back and
+forth between the two motes in an asynchronous fashion, but all leds come on at
+the same time because of the Barrier and the synchronization thread.  
+
+Successful running of this application results in all three leds coming on in
+unison on one mote and then coming on in unison on the other mote, back and
+forth forever.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/apps/RadioStress/README b/apps/tosthreads/apps/RadioStress/README
new file mode 100644 (file)
index 0000000..d2b892d
--- /dev/null
@@ -0,0 +1,35 @@
+README for TOSThreads RadioStress 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application stresses the operation of the thread based AM commands for
+packet transmission and reception.  To run this application you will need to
+burn it on one mote with NODE_ID 0, and a second mote with NODE_ID 1.  
+
+You can install RadioStress on a mote via the following comand:
+  make <platform> threads install.0
+  make <platform> threads install.1
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+The applicaiton burned with NODE_ID 0 will be programmed as a Receiver and will
+wait for messages from the sender programmed with NODE_ID 1.  In the case of the
+sender, messages with three different AM ids are sent from three different
+threads in an infinite loop, and one of LED0, LED1, and LED2 are toggled upon
+successful transmission.  In the case of the receiver, three different threads
+are used to wait for messages in an infinite loop from the three sending threads
+on the sender mote.  Upon successful reception, one of LED0, LED1, or LED2 is
+toggled depending on the AM id received.
+
+Successful running of this application will result in all three leds flashing
+very rapidly on both motes, with the receiver mote flashing less rapidly if the
+sender mote is turned off (i.e. once every 5000ms because there is a timeout on
+how long it waits for messages to be received before retrying).
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/apps/TestBasicsbSensors/README b/apps/tosthreads/apps/TestBasicsbSensors/README
new file mode 100644 (file)
index 0000000..2180ead
--- /dev/null
@@ -0,0 +1,32 @@
+README for TOSThreads TestBasicsbSensors 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application is used to test the threaded version of the API for accessing
+sensors on the basicsb sensor board.
+
+You can install TestBasicsbSensors on a mote via the following comand:
+  make <platform> threads install
+  
+Valid platforms are currently: mica2, and micaz 
+
+This application simply takes sensor readings in an infinite loop from the 
+Photo and Temperature sensors on the basicsb sensor board and forwards them
+over the serial interface.  Upon successful transmission, LED0 is toggled.
+
+A succssfull test will result in the TestBasicsbSensors mote constantly
+flickering LED0. Additionally, messages containing the sensor readings should 
+be forwarded over the serial interface as verified by running the following 
+for the platform of interest:
+  java net.tinyos.tools.Listen -comm serial@/dev/ttyUSBXXX:<baud_rate>
+
+Once this java application is running, you should see output containing the
+sensor readings being streamed to your terminal.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
index 38455e304aecbee136436fe8396b3164e38380dc..93f6a659fecf22a6c45c6f7da3604cb81306d557 100644 (file)
@@ -1,5 +1,6 @@
 README for TOSThreads TestBlockStorage 
 Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
 
 Description:
 
diff --git a/apps/tosthreads/apps/TestCollection/README b/apps/tosthreads/apps/TestCollection/README
new file mode 100644 (file)
index 0000000..d312b71
--- /dev/null
@@ -0,0 +1,60 @@
+README for TOSThreads TestCollection
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+TestCollection is a reimplementation of the Multihop Oscilloscope application
+using TOSThreads. It periodically samples a universal software-based SineSensor
+and broadcasts a message every few readings. These readings can be displayed by
+the Java "Oscilloscope" application found in the the TestCollection/java
+subdirectory. The sampling rate starts at 4Hz, but can be changed from the Java
+application.
+
+You can install TestCollection on a mote via the following comand:
+  make <platform> cthreads install
+  
+Valid platforms are currently: tmote, telosb, mica2, and micaz 
+
+At least two motes must be used by this application, with one of them installed
+as a base station.  Base station motes can be created by installing them with
+NODE_ID % 500 == 0. 
+  i.e. make <platform> threads install.0
+       make <platform> threads install.500
+       make <platform> threads install.1000
+  
+All other nodes can be installed with arbitrary NODE_IDs.
+  make <platform> threads install.123
+
+Successful running of this application is verified by all NON-base station motes
+periodically flashing LED0 upon sending a message, and the base station mote,
+flashing LED2 upon successful reception of a message.  Additionally, correct
+operation should be verified by running the java tool described in the following
+section.
+
+Tools:
+
+The Java application displays readings it receives from motes running the
+MultihopOscilloscope demo via a serial forwarder. To run it, change to the
+TestCollection/java subdirectory and type:
+
+  make
+  java net.tinyos.sf.SerialForwarder -comm serial@<serial port>:<mote>
+  # e.g., java net.tinyps.sf.SerialForwarder -comm serial@/dev/ttyUSB0:mica2
+  # or java net.tinyps.sf.SerialForwarder -comm serial@COM2:telosb
+  ./run
+
+The controls at the bootom of the screen allow yoy to zoom in or out the X
+axis, change the range of the Y axis, and clear all received data. You can
+change the color used to display a mote by clicking on its color in the
+mote table.
+
+Notes:
+
+By default, the Makefile for TestCollection is setup to run CTP as the 
+underlying collection protocol.  The makefile can be modified to work with
+MultihopLQI by changing the appropriate include directories.
+
+Known bugs/limitations:
+  None.
+
diff --git a/apps/tosthreads/apps/TestPrintf/README b/apps/tosthreads/apps/TestPrintf/README
new file mode 100644 (file)
index 0000000..5686c91
--- /dev/null
@@ -0,0 +1,47 @@
+README for TOSThreads TestPrintf 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application tests the operation of the Printf cleint in TOSThreads.  It
+continusouly prints the value of a counter starting at 0, increasing as it
+prints.
+
+You can install TestPrintf on a mote via the following comand:
+  make <platform> threads install
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+Once burned on a mote, the java based PrintfClient must be ran to verify
+proper operation of the application.
+  java net.tinyos.tools.PrintfClient -comm serial@/dev/ttyUSBXXX:<baud_rate>
+  
+NOTE::  The baud rate 57600 must be used telos based motes, as its configuration
+has been changed to work with this baud rate when compiled for tosthreads. I.e.
+DO NOT just substitute 'telosb' or 'tmote' for <baud_rate> above.  Explicitly
+set it to 57600.
+
+Once this java application is running, you should see output of the sort
+continuously being streamed to your terminal:
+...
+...
+Counter: 4549
+Counter: 4550
+Counter: 4551
+Counter: 4552
+Counter: 4553
+Counter: 4554
+Counter: 4555
+Counter: 4556
+Counter: 4557
+Counter: 4558
+Counter: 4559
+...
+...
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/apps/TestSineSensor/README b/apps/tosthreads/apps/TestSineSensor/README
new file mode 100644 (file)
index 0000000..e818265
--- /dev/null
@@ -0,0 +1,37 @@
+README for TOSThreads TestSineSensor
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application is used to test the threaded version of the API for accessing
+the software based SineSensor usable by any platform for demonstration purposes.
+
+You can install TestSineSensor on a mote via the following comand:
+  make <platform> threads install
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+This application simply takes sensor readings in an infinite loop from the
+SineSensor and forwards them over the serial interface.  Upon successful
+transmission, LED0 is toggled.
+
+A successful test will result in the TestSineSensor mote constantly flickering
+LED0. Additionally, messages containing the sensor readings should be forwarded
+over the serial interface as verified by running the following for the platform
+of interest:
+  java net.tinyos.tools.Listen -comm serial@/dev/ttyUSBXXX:<baud_rate>
+  
+NOTE::  The baud rate 57600 must be used telos based motes, as its configuration
+has been changed to work with this baud rate when compiled for tosthreads. I.e.
+DO NOT just substitute 'telosb' or 'tmote' for <baud_rate> above.  Explicitly
+set it to 57600.
+
+Once this java application is running, you should see output containing the
+sensor readings being streamed to your terminal.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/BaseStation/README b/apps/tosthreads/capps/BaseStation/README
new file mode 100644 (file)
index 0000000..e9546de
--- /dev/null
@@ -0,0 +1,61 @@
+README for TOSThreads BaseStation 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+BaseStation is a reimplementation of the standard BaseStation application using
+the TOSThreads thread library.  It transparently forwards any AM messages it
+receives from its radio interface to its serial interface and vice versa. Upon
+successful reception of a packet, LED0 is toggled, and upon successful
+forwarding, LED1 is toggled.  If there are any errors, LED2 is toggled.  
+
+To run this application install it on a mote via the command:
+  make <platform> cthreads install.45
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+Installing with NODE_ID 45 (i.e. AM_ADDRESS 45) is jsut to verify that the
+application forwards packets with an arbitrarily chosen id, which it should.
+
+To test the correct operation of this application, you need two motes:  one with
+this BaseStation application installed on it, and one with an application that
+is sending messages installed, (let's use the RadioStress application from the
+current directory).  
+
+On one mote install the Base station via the command above, and on the other
+install RadioStress via the command:
+  make <platform> cthreads install.1
+  
+Don't forget the '.1' when you install, or RadioStress will be configured to
+receive rather than send messages.  Messages are sent to AM_ADDRESS 0.
+
+A succssfull test will result in the RadioStress mote constantly flickering all
+of its leds very rapidly, and the BaseStation mote flickering its LED0 and LED1
+leds rapidly.  Additionally, messages should be forwarded over the serial interface
+as verified by running the following for the platform of interest:
+  java net.tinyos.tools.Listen -comm serial@/dev/ttyUSBXXX:<baud_rate>
+  
+NOTE::  The baud rate 57600 must be used telos based motes, as its configuration
+has been changed to work with this baud rate when compiled for tosthreads. I.e.
+DO NOT just substitute 'telosb' or 'tmote' for <baud_rate> above.  Explicitly
+set it to 57600.
+
+Once this java application is running, you should see output of the sort
+constantly being streamed to your terminal:
+  00 00 00 00 01 00 00 14 
+  00 00 00 00 01 00 00 16 
+  00 00 00 00 01 00 00 15 
+  00 00 00 00 01 00 00 14 
+  00 00 00 00 01 00 00 16 
+  00 00 00 00 01 00 00 15 
+  00 00 00 00 01 00 00 14 
+  00 00 00 00 01 00 00 16 
+  00 00 00 00 01 00 00 15 
+  00 00 00 00 01 00 00 14 
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/Blink/README b/apps/tosthreads/capps/Blink/README
new file mode 100644 (file)
index 0000000..c3ad340
--- /dev/null
@@ -0,0 +1,22 @@
+README for TOSThreads Blink 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+Blink is a simple application used to test the basic functionality of
+TOSThreads.
+
+You can install Blink on a mote via the following comand:
+  make <platform> cthreads install
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+Upon a successful burn, you should see LED0 flashing with a period of every
+200ms, and LED1 and LED2 flashing in unison with a period of 1000ms.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/Bounce/README b/apps/tosthreads/capps/Bounce/README
new file mode 100644 (file)
index 0000000..56efdf1
--- /dev/null
@@ -0,0 +1,42 @@
+README for TOSThreads Bounce 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application is derived from a similar application in the TinyThread 
+implementation by William P. McCartney from Cleveland State University (2006)
+
+This application stresses the operation of the thread based AM commands for
+packet transmission and reception.  To run this application you will need to
+burn it on one mote with NODE_ID 0, and a second mote with NODE_ID 1. 
+
+You can install Bounce on a mote via the following comand:
+  make <platform> cthreads install.0
+  make <platform> cthreads install.1
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+Three different threads run that each contain an infinite loop that first sends
+a message and then waits to receive a message before returning to the top of the
+loop. After each message reception, one of the onboard LEDs is toggled to
+indicate that it was received. Thread 0 blinks LED0, thread 1 blinks LED1, and
+thread 2 blinks LED2. The three threads run independently, and three different
+messages are bounced back and forth between the two motes in an unsynchronized
+fashion.  In contrast to the more complicated Bounce application found in the
+normal nesC threads version of this application, once a thread receives a
+message it will immediately flip on its LED instead of waiting on a Barrier and
+synchronizing the LEDs to come on only once messages have been received from all
+threads.  In this way, messages are bounced back and forth between the two motes
+in an asynchronous fashion, and LEDS are toggled immediately upon message
+reception..  
+
+Successful running of this application results in each LED bouncing back and
+forth between each mote independent of one another.  This will continue in an
+finitie loop forever.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/Null/README b/apps/tosthreads/capps/Null/README
new file mode 100644 (file)
index 0000000..8c058ae
--- /dev/null
@@ -0,0 +1,17 @@
+README for TOSTHREADS Null
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+Null is an empty skeleton application for testing the basic compilation and
+runtime of a c-based tosthreads aplication.  It is useful to test that the build
+environment is functional in its most minimal sense, i.e., you can correctly
+compile an application. It is also useful to test the minimum power consumption
+of a node when it has absolutely no interrupts or resources active.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/RadioStress/README b/apps/tosthreads/capps/RadioStress/README
new file mode 100644 (file)
index 0000000..281f750
--- /dev/null
@@ -0,0 +1,35 @@
+README for TOSThreads RadioStress 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application stresses the operation of the thread based AM commands for
+packet transmission and reception.  To run this application you will need to
+burn it on one mote with NODE_ID 0, and a second mote with NODE_ID 1.  
+
+You can install RadioStress on a mote via the following comand:
+  make <platform> cthreads install.0
+  make <platform> cthreads install.1
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+The applicaiton burned with NODE_ID 0 will be programmed as a Receiver and will
+wait for messages from the sender programmed with NODE_ID 1.  In the case of the
+sender, messages with three different AM ids are sent from three different
+threads in an infinite loop, and one of LED0, LED1, and LED2 are toggled upon
+successful transmission.  In the case of the receiver, three different threads
+are used to wait for messages in an infinite loop from the three sending threads
+on the sender mote.  Upon successful reception, one of LED0, LED1, or LED2 is
+toggled depending on the AM id received.
+
+Successful running of this application will result in all three leds flashing
+very rapidly on both motes, with the receiver mote flashing less rapidly if the
+sender mote is turned off (i.e. once every 5000ms because there is a timeout on
+how long it waits for messages to be received before retrying).
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/SenseAndSend/README b/apps/tosthreads/capps/SenseAndSend/README
new file mode 100644 (file)
index 0000000..034fd19
--- /dev/null
@@ -0,0 +1,33 @@
+README for TOSThreads SenseAndSend 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+SenseAndSend is a threaded implementation of an application that takes various
+sensor readings in parallel (by dedicating one thread to each reading), and
+assembling them into a packet to be sent out over the radio.  It is written
+specifically for use with the tmote onboard sensor package, and will not compile
+for any other platforms.
+
+To run this application install it on a mote via the command:
+  make <platform> cthreads install
+  
+Valid platforms are currently: tmote, telosb with onboard sensors
+
+Readings are taken from each of the 4 oboard sensors and sent out over the radio
+interface in an infinite loop.  Upon successful transmission, LED0 is toggled,
+and the process starts over again.
+
+A successful test will result in LED0 toggling periodically at a rate of
+approxiately 220ms (the time it takes to take a humidty + temperature sensor
+reading since they share the same hardware and cannot be taken in parallel). 
+
+Additionally, a base station application should be run to verify the reception
+of packets sent from a SenseAndSend mote, with reasonable looking sensor data.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/SenseStoreAndForward/README b/apps/tosthreads/capps/SenseStoreAndForward/README
new file mode 100644 (file)
index 0000000..f2a9f11
--- /dev/null
@@ -0,0 +1,44 @@
+README for TOSThreads SenseStoreAndForward 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+SenseStoreAndForward is a threaded implementation of an application that takes
+various sensor readings in parallel (by dedicating one thread to each reading),
+logs them to flash, and then sends them out over the radio at some later time. 
+In the current implementation, sensor readings are taken as quickly as possible,
+and records containing a set of readings from each iteration are batched out
+over the radio every 10000ms.  This application is written specifically for use
+with the tmote onboard sensor package, and will not compile for any other
+platforms.
+
+To run this application install it on a mote via the command:
+  make <platform> cthreads install
+  
+Valid platforms are currently: tmote, telosb with onboard sensors
+
+Readings are taken from each of the 4 oboard sensors and logged to flash as one
+record in an infinite loop. Records are then read out of flash and and sent out
+over the radio interface in separate infinite loop. Before the application
+starts running, the entire contents of the flash drive are erased.
+
+A successful test will result in LED0 remaining solid for approximately 6s while
+the flash is being erased.  After that LED0 will toggle with each successful set
+of sensor readings logged to flash, at a rate of approximately 220ms (the time
+it takes to take a humidty + temperature sensor reading since they share the
+same hardware and cannot be taken in parallel).  Also, LED1 will begin toggling
+in rapid succession once every 10000ms as records are successfully read from
+flash and sent out over the radio.  Once all of the records currently recorded
+to flash since the last batch of sends have been sent out, LED2 Toggles to
+indicate completion.  This process continues in an infinite loop forever.
+
+Additionally, a base station application should be run to verify the reception
+of packets sent from a SenseStoreAndForward mote, with reasonable looking sensor 
+data.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/TestCollection/README b/apps/tosthreads/capps/TestCollection/README
new file mode 100644 (file)
index 0000000..8b3e730
--- /dev/null
@@ -0,0 +1,63 @@
+README for TOSThreads TestCollection
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+TestCollection is a reimplementation of the Multihop Oscilloscope application
+using TOSThreads. It periodically samples a universal software-based SineSensor
+and broadcasts a message every few readings. These readings can be displayed by
+the Java "Oscilloscope" application found in the the TestCollection/java
+subdirectory. The sampling rate starts at 4Hz, but can be changed from the Java
+application.
+
+You can install TestCollection on a mote via the following comand:
+  make <platform> cthreads install
+  
+Valid platforms are currently: tmote, telosb, mica2, and micaz 
+
+At least two motes must be used by this application, with one of them installed
+as a base station.  Base station motes can be created by installing them with
+NODE_ID % 500 == 0. 
+  i.e. make <platform> cthreads install.0
+       make <platform> cthreads install.500
+       make <platform> cthreads install.1000
+  
+All other nodes can be installed with arbitrary NODE_IDs.
+  make <platform> threads install.123
+
+Successful running of this application is verified by all NON-base station motes
+periodically flashing LED0 upon sending a message, and the base station mote,
+flashing LED2 upon successful reception of a message.  Additionally, correct
+operation should be verified by running the java tool described in the following
+section.
+
+Tools:
+
+The Java application displays readings it receives from motes running the
+MultihopOscilloscope demo via a serial forwarder. To run it, change to the
+TestCollection/java subdirectory and type:
+
+  make
+  java net.tinyos.sf.SerialForwarder -comm serial@<serial port>:<mote>
+  # e.g., java net.tinyps.sf.SerialForwarder -comm serial@/dev/ttyUSB0:mica2
+  # or java net.tinyps.sf.SerialForwarder -comm serial@COM2:telosb
+  ./run
+
+The controls at the bootom of the screen allow yoy to zoom in or out the X
+axis, change the range of the Y axis, and clear all received data. You can
+change the color used to display a mote by clicking on its color in the
+mote table.
+
+Notes:
+  By default, the Makefile for TestCollection is setup to run CTP as the 
+  underlying collection protocol.  The makefile can be modified to work with
+  MultihopLQI by changing the appropriate include directories.
+
+Known bugs/limitations:
+  Warnings are issued about fan out on the 'Snoop.receive' and 'Receive.receive'
+  events.  These warnings are harmless and are the result of providing a C based
+  API in which all events for receiving and snooping must be handled even if not 
+  used by a particular application.  The warnings occur because the underlying 
+  CTP or MultihopLQI stacks wire up to particular AM ids, which are also wired 
+  into the C API for handling message reception.  
diff --git a/apps/tosthreads/capps/TestLogStorage/README b/apps/tosthreads/capps/TestLogStorage/README
new file mode 100644 (file)
index 0000000..bbca834
--- /dev/null
@@ -0,0 +1,44 @@
+README for TOSThreads TestLogStorage 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+TestLogStorage is a threaded implementation of an application that takes a dummy
+sensor readings of a counter, logs it flash, and then sends it out over the
+radio at some later time. In the current implementation, each sensor reading is
+taken once every 3000ms, and records containing a set of readings from each
+iteration are batched out over the radio every 10000ms.  This application is
+very similar to the SenseStoreAndForward application contained in this same
+directory, except that it is written using a dummy sensor value instead of
+sensors specific to the tmote onboard suite. In this way, the LogStorage
+functionality can be tested in conjunction with the sending facility in a
+platform independent way.
+
+To run this application install it on a mote via the command:
+  make <platform> cthreads install
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz
+
+Readings are taken from the dummy sensor and logged to flash as one record in an
+infinite loop. Records are then read out of flash and and sent out over the
+radio interface in separate infinite loop.  Before the application starts
+running, the entire contents of the flash drive are erased.
+
+A successful test will result in LED0 remaining solid for approximately 6s while
+the flash is being erased.  After that LED0 will toggle with each successful
+sensor readings logged to flash, at a rate of 3000ms.  Also, LED1 will begin
+toggling in rapid succession once every 10000ms as records are successfully read
+from flash and sent out over the radio.  Once all of the records currently
+recorded to flash since the last batch of sends have been sent out, LED2 Toggles
+to indicate completion.  This process continues in an infinite loop forever.
+
+Additionally, a base station application should be run to verify the reception
+of packets sent from a TestLogStorage mote, with reasonable looking sensor 
+data (i.e. counting up from 0 to ...).
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/TestPrintf/README b/apps/tosthreads/capps/TestPrintf/README
new file mode 100644 (file)
index 0000000..2c6df51
--- /dev/null
@@ -0,0 +1,47 @@
+README for TOSThreads TestPrintf 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application tests the operation of the Printf cleint in TOSThreads.  It
+continusouly prints the value of a counter starting at 0, increasing as it
+prints.
+
+You can install TestPrintf on a mote via the following comand:
+  make <platform> cthreads install
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+Once burned on a mote, the java based PrintfClient must be ran to verify
+proper operation of the application.
+  java net.tinyos.tools.PrintfClient -comm serial@/dev/ttyUSBXXX:<baud_rate>
+  
+NOTE::  The baud rate 57600 must be used telos based motes, as its configuration
+has been changed to work with this baud rate when compiled for tosthreads. I.e.
+DO NOT just substitute 'telosb' or 'tmote' for <baud_rate> above.  Explicitly
+set it to 57600.
+
+Once this java application is running, you should see output of the sort
+continuously being streamed to your terminal:
+...
+...
+Counter: 4549
+Counter: 4550
+Counter: 4551
+Counter: 4552
+Counter: 4553
+Counter: 4554
+Counter: 4555
+Counter: 4556
+Counter: 4557
+Counter: 4558
+Counter: 4559
+...
+...
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/TestSineSensor/README b/apps/tosthreads/capps/TestSineSensor/README
new file mode 100644 (file)
index 0000000..b95b8fd
--- /dev/null
@@ -0,0 +1,37 @@
+README for TOSThreads TestSineSensor
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application is used to test the threaded version of the API for accessing
+the software based SineSensor usable by any platform for demonstration purposes.
+
+You can install TestSineSensor on a mote via the following comand:
+  make <platform> cthreads install
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+This application simply takes sensor readings in an infinite loop from the
+SineSensor and forwards them over the serial interface.  Upon successful
+transmission, LED0 is toggled.
+
+A successful test will result in the TestSineSensor mote constantly flickering
+LED0. Additionally, messages containing the sensor readings should be forwarded
+over the serial interface as verified by running the following for the platform
+of interest:
+  java net.tinyos.tools.Listen -comm serial@/dev/ttyUSBXXX:<baud_rate>
+  
+NOTE::  The baud rate 57600 must be used telos based motes, as its configuration
+has been changed to work with this baud rate when compiled for tosthreads. I.e.
+DO NOT just substitute 'telosb' or 'tmote' for <baud_rate> above.  Explicitly
+set it to 57600.
+
+Once this java application is running, you should see output containing the
+sensor readings being streamed to your terminal.
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.
diff --git a/apps/tosthreads/capps/ThreadStress/README b/apps/tosthreads/capps/ThreadStress/README
new file mode 100644 (file)
index 0000000..914818a
--- /dev/null
@@ -0,0 +1,28 @@
+README for TOSThreads ThreadStress 
+Author/Contact: tinyos-help@millennium.berkeley.edu
+Author: Kevin Klues <klueska@cs.stanford.edu>
+
+Description:
+
+This application stresses the creation and destruction of dynamic threads by
+spawning lots and lots of threads over and over again and letting them run to
+completion.  Three different thread start functions are used, each toggling one
+of LED0, LED1, and LED2 every 256 spawnings. The time at which each LED is
+toggled is offset so that the three LEDS do not come on in unison.
+
+You can install ThreadStress on a mote via the following comand:
+  make <platform> cthreads install
+  
+Valid platforms are currently: tmote, telosb, iris, mica2, and micaz 
+
+Successful running of this application will result in all three leds flashing at
+a rate determined by how long it takes to spawn a thread on a given platform. 
+All three LEDs should flash at this rate in an infite loop forever.  Given the
+dynamics on the mote the rate may vary over time, but the important thing is
+that all three LEDs continue to toggle at a reasonably visible rate.  
+
+Tools:
+  None.
+
+Known bugs/limitations:
+  None.