SCADDS: Scalable
Coordination A
rchitectures for Deeply Distributed Systems
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.
Last modified on: Feb. 10, 2003 by Wei Ye .