SCADDS: Scalable Coordination A rchitectures for Deeply Distributed Systems


Main      People      Presentations and Publications      Testbeds      Software     Internal

Getting started with ISI communication stack (v 0.6)

Suppose you are using the TinyOS release 0.6.1, and you should have the following directories under the nest/ directory.

apps   doc   tools   tos

Download the tarball and put it under the nest/ directory. Extract the tarball using

tar -xzvf isi-comm-stack-0.6.tar.gz

The files will go to each directory correctly. Following is a brief description about some major files.

In tos/include/
        phy_radio_msg.h                                  Packet format/header defination for the physical layer
        smac_msg.h                                          Packet format/header defination for the S-MAC

In tos/platform/mica/
        SMAC.*                                                S-MAC , now only works with Manchester code
          PHY_RADIO.*                                       Physical layer interface, CRC, byte spooling/buffering
          RADIO_CONTROL.*                           Controls radio hardware; put radio into different states
          CODEC_MANCHESTER.*                 Encoding/decoding of Manchester code
          CODEC_4B_6B.*                                 Encoding/decoding of 4B/6B code

In apps/
          snooper/                                                  Listens for all packets and send them to UART
          phy_test_sender/                                   Transmitter part to test the physical layer
          phy_test_receiver/                                 Receiver part to test the physical layer
          smac_test/                                              Application to test S-MAC

In tools/
          snoop.c                                                    Running on PC to receive each packet sent by the snooper, and display its contents

The snooper is a useful tool for debugging and testing. You can see details in each packet on the PC. The test applications in the apps/ directory provides examples about how to use the stack at both physical layer and MAC layer. There are detailed README files for each application.

The first thing you can try is to run the application to test the physical layer. Program a snooper , a phy_test_sender and a phy_test_receiver. The sender will send 4 groups of packet, with either fixed length or variable length and different packet intervals. The receiver will blink it LEDs to show successful receptions. It also sends a packet to report its reception result at the end of each group.

Please note that the payload of each packet from the sender is NOT always zero, since the memory is not cleared for each packet. So a long packet following a short packet contains all the old bytes of the short packet. It may looks like the packet is corrupted. But it is not, and it is just having a non-zero payload.

Now you can try smac_test/ by programming 3 motes and let them send to each other by either broadcast or unicast. Look at the README file in that directory for details. Please note that there is an initial setup time (about 12 seconds) for each node to listen for any exsiting neighbor's schedules. The nodes won't send packets before they find any neighbors.


Main      People      Presentations and Publications      Testbeds      Software     Internal

Last modified on: Feb. 10, 2003 by Wei Ye .