Hi Janos, Thank you.
I changed the default cc2420 stack so that the receiver directly places the timestamp into its meta data in SFD interrupt handler, instead of maintaining a seperate timestamp queue as in the current cc2420 stack, just like transmission timestamping at the sender side. So far, it works great for me. I'm working for some deadline. I'll check if the fix works after that and get back to you.
-Xiaohui On , Janos Sallai <[email protected]> wrote:
I have checked in a fix for the cc2420x acknowledgement loss issue.
Please update to the svn head from google code. I have tested it with
apps/test/cc2420/TestAck, compiled for the "telosb cc2420x" target.
Let me know if it works for you, and thanks for reporting this issue.
Janos
On Sun, Jul 17, 2011 at 8:40 PM, Xiaohui Liu [email protected]> wrote:
> The application compiles correctly with cc2420x stack, but after it runs for
> a while on nodes, nodes die and the application collapses. Before its
> collapse, for the same sender and receiver, very few acks are received using
> cc2420x stack (ie, 90%) are received with
> cc2420 stack.
>
> I added Packet.clear() and the result does not change.
> On Sun, Jul 17, 2011 at 8:33 PM, Janos Sallai [email protected]>
> wrote:
>>
>> Hi,
>>
>> What do you mean by "The application crashes if it is using the
>> cc2420x stack"? Does it compile? Does it run on a mote, but no acks
>> are received?
>>
>> Do you call Packet.clear() before reusing a message_t buffer? The
>> proper way of using non-default metadata settings (acks, tx power,
>> etc.) in the rfxlink stack is:
>> - calling Packet.clear() on the reused buffer
>> - filling in the payload
>> - setting parameters in the metadata (acks, tx power, etc.)
>> - calling AMSend.send()
>>
>>
>> > 1) use cc2420x stack: it's necessary to get all functionality of CTP,
>> > ie, PacketAcknowledgements and LinkPacketMetadata and possibly others,
>> > to work.under the new stack
>> You can live without LinkPacketMetadata: modify CtpP such that it
>> wires DummyActiveMessageP instead of CC2420ActiveMessageC if the
>> cc2420x stack is used.
>>
>> > 2) use default cc2420 stack: fix its timestamping (both packet
>> > timestamping
>> > and packet-level time sync) by porting the timestamping from cc2420x to
>> > cc2420
>> > If you have any suggestion on which venue to go and how to implement it,
>> > please let me know. Thanks, again.
>> There's a TEP on the cc2420 stack, there's the cc2420 data sheet, and
>> there's the source code. You might get some answers from the three or
>> four people familiar with that code from the mailing list as well.
>>
>> Janos
>
>
>
> --
> -Xiaohui Liu
>
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
