Hello,

I'm trying to run the FTSP test application (revision 5215 of 
http://tinyos-main.googlecode.com/svn/trunk) as described in 
tinyos-2.x/apps/tests/TestFTSP/Ftsp/README.txt on Shimmer. At first the nodes 
running TestFtspAppC didn't seem to respond to the messages sent out by the 
beacon mote (java FtspDataLogger reported nothing). Using a packet sniffer I 
discovered that the FTSP motes send ACK packets for each beacon message but 
they don't send report messages (which would then be picked up by the base 
station and ultimately be displayed by the FtspDataLogger).

I looked at the CC2420 driver source code in 
tos/chips/cc2420/receive/CC2420ReceiveP.nc and used printf to see what's going 
on, and I think I found the problem:  the outgoing ACK messages trigger the SFD 
interrupt and cause a timestamp to be put in to the timestamp queue (line 190). 
If this happens BEFORE the timestamp of the incoming packet is read, the packet 
timestamp is cleared and the timestamp queue gets flushed (lines 633-635). 
Consequently all packets received by the FTSP test application contain invalid 
timestamps and are thus ignored (line 67 in TestFtsp.nc).

Does that make sense? Is this a known problem? Has FTSP ever been tested with 
CC2420?

As a temporary fix I added PFLAGS += -DCC2420_NO_ACKNOWLEDGEMENTS to the 
Makefile and I get messages from the FTSP motes now, however this fix doesn't 
really address the cause of the problem...

Silvan

_______________________________________________
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to