From 8fec7616e6486b038461944622beccf47415d992 Mon Sep 17 00:00:00 2001 From: klueska Date: Wed, 18 Jun 2008 20:58:42 +0000 Subject: [PATCH] Add README files to all tosthreads based apps --- apps/tosthreads/README | 31 +++++++++ apps/tosthreads/apps/BaseStation/README | 61 ++++++++++++++++++ apps/tosthreads/apps/Blink/README | 22 +++++++ apps/tosthreads/apps/Bounce/README | 42 +++++++++++++ apps/tosthreads/apps/RadioStress/README | 35 +++++++++++ .../tosthreads/apps/TestBasicsbSensors/README | 32 ++++++++++ apps/tosthreads/apps/TestBlockStorage/README | 1 + apps/tosthreads/apps/TestCollection/README | 60 ++++++++++++++++++ apps/tosthreads/apps/TestPrintf/README | 47 ++++++++++++++ apps/tosthreads/apps/TestSineSensor/README | 37 +++++++++++ apps/tosthreads/capps/BaseStation/README | 61 ++++++++++++++++++ apps/tosthreads/capps/Blink/README | 22 +++++++ apps/tosthreads/capps/Bounce/README | 42 +++++++++++++ apps/tosthreads/capps/Null/README | 17 +++++ apps/tosthreads/capps/RadioStress/README | 35 +++++++++++ apps/tosthreads/capps/SenseAndSend/README | 33 ++++++++++ .../capps/SenseStoreAndForward/README | 44 +++++++++++++ apps/tosthreads/capps/TestCollection/README | 63 +++++++++++++++++++ apps/tosthreads/capps/TestLogStorage/README | 44 +++++++++++++ apps/tosthreads/capps/TestPrintf/README | 47 ++++++++++++++ apps/tosthreads/capps/TestSineSensor/README | 37 +++++++++++ apps/tosthreads/capps/ThreadStress/README | 28 +++++++++ 22 files changed, 841 insertions(+) create mode 100644 apps/tosthreads/README create mode 100644 apps/tosthreads/apps/BaseStation/README create mode 100644 apps/tosthreads/apps/Blink/README create mode 100644 apps/tosthreads/apps/Bounce/README create mode 100644 apps/tosthreads/apps/RadioStress/README create mode 100644 apps/tosthreads/apps/TestBasicsbSensors/README create mode 100644 apps/tosthreads/apps/TestCollection/README create mode 100644 apps/tosthreads/apps/TestPrintf/README create mode 100644 apps/tosthreads/apps/TestSineSensor/README create mode 100644 apps/tosthreads/capps/BaseStation/README create mode 100644 apps/tosthreads/capps/Blink/README create mode 100644 apps/tosthreads/capps/Bounce/README create mode 100644 apps/tosthreads/capps/Null/README create mode 100644 apps/tosthreads/capps/RadioStress/README create mode 100644 apps/tosthreads/capps/SenseAndSend/README create mode 100644 apps/tosthreads/capps/SenseStoreAndForward/README create mode 100644 apps/tosthreads/capps/TestCollection/README create mode 100644 apps/tosthreads/capps/TestLogStorage/README create mode 100644 apps/tosthreads/capps/TestPrintf/README create mode 100644 apps/tosthreads/capps/TestSineSensor/README create mode 100644 apps/tosthreads/capps/ThreadStress/README diff --git a/apps/tosthreads/README b/apps/tosthreads/README new file mode 100644 index 00000000..f4364b6e --- /dev/null +++ b/apps/tosthreads/README @@ -0,0 +1,31 @@ +Author: Kevin Klues + +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 threads + +and all applications in the 'capps' directory can be compiled by running: + + make 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 index 00000000..56ca0a80 --- /dev/null +++ b/apps/tosthreads/apps/BaseStation/README @@ -0,0 +1,61 @@ +README for TOSThreads BaseStation +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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 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: + +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 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 index 00000000..bedfd7b1 --- /dev/null +++ b/apps/tosthreads/apps/Blink/README @@ -0,0 +1,22 @@ +README for TOSThreads Blink +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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 index 00000000..3ddf9e61 --- /dev/null +++ b/apps/tosthreads/apps/Bounce/README @@ -0,0 +1,42 @@ +README for TOSThreads Bounce +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 threads install.0 + make 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 index 00000000..d2b892dd --- /dev/null +++ b/apps/tosthreads/apps/RadioStress/README @@ -0,0 +1,35 @@ +README for TOSThreads RadioStress +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 threads install.0 + make 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 index 00000000..2180ead2 --- /dev/null +++ b/apps/tosthreads/apps/TestBasicsbSensors/README @@ -0,0 +1,32 @@ +README for TOSThreads TestBasicsbSensors +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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: + +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/apps/TestBlockStorage/README b/apps/tosthreads/apps/TestBlockStorage/README index 38455e30..93f6a659 100644 --- a/apps/tosthreads/apps/TestBlockStorage/README +++ b/apps/tosthreads/apps/TestBlockStorage/README @@ -1,5 +1,6 @@ README for TOSThreads TestBlockStorage Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues Description: diff --git a/apps/tosthreads/apps/TestCollection/README b/apps/tosthreads/apps/TestCollection/README new file mode 100644 index 00000000..d312b71e --- /dev/null +++ b/apps/tosthreads/apps/TestCollection/README @@ -0,0 +1,60 @@ +README for TOSThreads TestCollection +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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 threads install.0 + make threads install.500 + make threads install.1000 + +All other nodes can be installed with arbitrary NODE_IDs. + make 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@: + # 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 index 00000000..5686c918 --- /dev/null +++ b/apps/tosthreads/apps/TestPrintf/README @@ -0,0 +1,47 @@ +README for TOSThreads TestPrintf +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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: + +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 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 index 00000000..e818265a --- /dev/null +++ b/apps/tosthreads/apps/TestSineSensor/README @@ -0,0 +1,37 @@ +README for TOSThreads TestSineSensor +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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: + +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 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 index 00000000..e9546dee --- /dev/null +++ b/apps/tosthreads/capps/BaseStation/README @@ -0,0 +1,61 @@ +README for TOSThreads BaseStation +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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 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: + +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 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 index 00000000..c3ad340d --- /dev/null +++ b/apps/tosthreads/capps/Blink/README @@ -0,0 +1,22 @@ +README for TOSThreads Blink +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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 index 00000000..56efdf16 --- /dev/null +++ b/apps/tosthreads/capps/Bounce/README @@ -0,0 +1,42 @@ +README for TOSThreads Bounce +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 cthreads install.0 + make 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 index 00000000..8c058ae0 --- /dev/null +++ b/apps/tosthreads/capps/Null/README @@ -0,0 +1,17 @@ +README for TOSTHREADS Null +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 index 00000000..281f7501 --- /dev/null +++ b/apps/tosthreads/capps/RadioStress/README @@ -0,0 +1,35 @@ +README for TOSThreads RadioStress +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 cthreads install.0 + make 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 index 00000000..034fd198 --- /dev/null +++ b/apps/tosthreads/capps/SenseAndSend/README @@ -0,0 +1,33 @@ +README for TOSThreads SenseAndSend +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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 index 00000000..f2a9f11f --- /dev/null +++ b/apps/tosthreads/capps/SenseStoreAndForward/README @@ -0,0 +1,44 @@ +README for TOSThreads SenseStoreAndForward +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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 index 00000000..8b3e7306 --- /dev/null +++ b/apps/tosthreads/capps/TestCollection/README @@ -0,0 +1,63 @@ +README for TOSThreads TestCollection +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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 cthreads install.0 + make cthreads install.500 + make cthreads install.1000 + +All other nodes can be installed with arbitrary NODE_IDs. + make 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@: + # 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 index 00000000..bbca834e --- /dev/null +++ b/apps/tosthreads/capps/TestLogStorage/README @@ -0,0 +1,44 @@ +README for TOSThreads TestLogStorage +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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 index 00000000..2c6df51a --- /dev/null +++ b/apps/tosthreads/capps/TestPrintf/README @@ -0,0 +1,47 @@ +README for TOSThreads TestPrintf +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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: + +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 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 index 00000000..b95b8fdf --- /dev/null +++ b/apps/tosthreads/capps/TestSineSensor/README @@ -0,0 +1,37 @@ +README for TOSThreads TestSineSensor +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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: + +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 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 index 00000000..914818a4 --- /dev/null +++ b/apps/tosthreads/capps/ThreadStress/README @@ -0,0 +1,28 @@ +README for TOSThreads ThreadStress +Author/Contact: tinyos-help@millennium.berkeley.edu +Author: Kevin Klues + +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 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. -- 2.39.2