[Tinyos-help] [Shimmer-users] Software auto acknowledgements break packet timestamps in the C2420 driver
mmaroti at math.u-szeged.hu
Mon Nov 22 05:48:07 PST 2010
On Mon, Nov 22, 2010 at 2:35 PM, steve ayer <ayer at handhelds.org> wrote:
> miklos, you may be confusing the configurations among the various shimmer
> revs, which have different pin layouts relative to the cc2420. on shimmer,
> the sfd signal is routed to a capture-capable pin on the msp430; on
> shimmer2, due to an oversight it was not, so a capture was manually
> implemented using an interrupt. this oversight was corrected for span and
I am using shimmer2. I know that shimmer2 does not have the hardware
capture feature and it is implemented in software. However, your
implementation uses TMilli as a time source and the time
synchronization on the CC2420 assumes that it has 32khz timers,
otherwise the TimeSyncPacket interfaces always returns FALSE in
> the code that you sent will break shimmer and shimmer2r, and the fix for
> shimmer2 was committed in january.
The code I have attached should be applied to shimmer2 only, since it
does software time capture but uses the 32khz timer to do that!
> silvan, how old is your tinyos-2.x codebase? is it from the current svn
> repository at googlecode?
> i'll be happy to help untangle this problem if it stems from up to date
> platform code.
We use the latest SVN from google code.
> On 11/22/2010 03:14 AM, Miklos Maroti wrote:
>> Hi Silvan,
>> I think the problem is with the configuration of CC2420 on Shimmer. We
>> have run into this as well. Can you please two files in your
>> platforms/shimmer/chips/cc2420 with the ones I have attached and check
>> if this fixes your problem?
>> On Mon, Nov 22, 2010 at 1:57 AM, Omprakash Gnawali
>> <gnawali at cs.stanford.edu> wrote:
>>> ---------- Forwarded message ----------
>>> From: Silvan Nellen<Nellen at cmc.ca>
>>> Date: Mon, Nov 8, 2010 at 7:36 AM
>>> Subject: [Tinyos-help] Software auto acknowledgements break packet
>>> timestamps in the C2420 driver
>>> "tinyos-help at millennium.berkeley.edu"<tinyos-help at millennium.berkeley.edu>
>>> 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…
>>> Tinyos-help mailing list
>>> Tinyos-help at millennium.berkeley.edu
>>> Shimmer-users mailing list
>>> Shimmer-users at eecs.harvard.edu
> Shimmer-users mailing list
> Shimmer-users at eecs.harvard.edu
More information about the Tinyos-help