SCADDS: Scalable
Coordination A
rchitectures for Deeply Distributed Systems
Getting started with ISI communication stack (v 0.1)
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.1.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
SEC_DED_ENCODING.c.diff
Patch to SEC_DED_ENCODING.c for using it
with the physical layer
SEC_DED_ENCODING.comp.diff
Patch to SEC_DED_ENCODING.comp for using it with the physical
layer
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 13 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: Oct. 2, 2002 by Wei Ye .