Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-19 Thread Janos Sallai
Hi,

OK, now I see the poor ack performance. I'll have a look.

Janos

On Sun, Jul 17, 2011 at 8:40 PM, Xiaohui Liu whu...@gmail.com 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 (i.e.,  10%) but most acks (i.e.,  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 sal...@isis.vanderbilt.edu
 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,
  i.e., 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
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-19 Thread Janos Sallai
A quick fix would be to use the tinyos-main tree as of March 31, 2011
(use svn with the -r {2011-03-31} command line option). The SVN head
appears to be in a bit of flux now.

Janos

On Sun, Jul 17, 2011 at 8:40 PM, Xiaohui Liu whu...@gmail.com 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 (i.e.,  10%) but most acks (i.e.,  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 sal...@isis.vanderbilt.edu
 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,
  i.e., 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
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-19 Thread Janos Sallai
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 whu...@gmail.com 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 (i.e.,  10%) but most acks (i.e.,  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 sal...@isis.vanderbilt.edu
 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,
  i.e., 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
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-19 Thread whulxh

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 sal...@isis.vanderbilt.edu 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 whu...@gmail.com 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  
sal...@isis.vanderbilt.edu



 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
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-17 Thread Xiaohui Liu
Hi,

Which components provide PacketAcknowledgements and LinkPacketMetadata
interface in cc2420x stack? If I use AMSenderC and CC2420ActiveMessageC as
in CTP, it does now compile as stated in the previous email.

On Sat, Jul 16, 2011 at 11:22 PM, Xiaohui Liu whu...@gmail.com wrote:

 Thanks.

 What about packet-level time sync as stated in 
 TEP133http://www.tinyos.net/tinyos-2.x/doc/html/tep133.html?
 Is there any known issue of such time sync in the default cc2420 stack? I'm
 using it with CTP, but sometimes it seems even TimeSyncPacket.isValid()
 returns true, the timestamp seems to be invalid (this is detected by
 measurements such as time interval close to 2 ^ 32 ms). Because packet-level
 time sync is based on packet timestamping, so it should have issues as well,
 am I right?

 The reason why I don't use cc2420x stack with CTP yet is that it constantly
 prompts compilation error:
 *$/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:46: redefinition
 of `nx_struct timesync_footer_t'*
 *$/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:46: warning: tag
 timesync_footer_t shadows enclosing struct/union/enum*
 *$/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:49: conflicting
 types for `timesync_footer_t'*
 *$/tinyos-2.1.x/tos/lib/rfxlink/layers/TimeSyncMessageLayer.h:58: previous
 declaration of `timesync_footer_t'*

 What changes are necessary to use packet-level time sync compatibly with
 CTP? Thanks very much.

 On Thu, Jun 16, 2011 at 2:53 PM, Janos Sallai 
 sal...@isis.vanderbilt.eduwrote:

 Timestamping has known issues in the default cc2420 stack (telosb,
 micaz, etc.) under heavy load. Try using the cc2420x stack. Compile
 with make telosb cc2420x. You'll need the latest sources from google
 code.

 Janos

 On Thu, Jun 16, 2011 at 1:34 PM, Xiaohui Liu whu...@gmail.com wrote:
  I'm using the default one, I'm not sure how to use cc2420x.
 
  On Thu, Jun 16, 2011 at 1:50 PM, Janos Sallai 
 sal...@isis.vanderbilt.edu
  wrote:
 
  Is this the default cc2420 stack, or do you use cc2420x?
 
  Janos
 
  On Thu, Jun 16, 2011 at 10:49 AM, Xiaohui Liu whu...@gmail.com
 wrote:
   Can anyone please give me some hint on what may be the cause? I'm
 stuck
   here. I really appreciate your assistance.
  
   On Wed, Jun 15, 2011 at 4:57 PM, Xiaohui Liu whu...@gmail.com
 wrote:
  
   Telosb.
  
   On Wed, Jun 15, 2011 at 4:54 PM, Hamid Rafiei 
 hamid.raf...@gmail.com
   wrote:
  
   Hi,
  
   What is the platform you are using?
  
  
  
  
  
   Regards,
  
  
   Hamid Rafiei Karkvandi
  
  
  
  
  
   On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com
 wrote:
  
   Hi everyone,
  
   I'm using PacketTimeStamp interface to timestamp packet
 transmission
   and
   reception, but I find isValid() returns FALSE more than 90% of the
   time. Can
   anyone help me understand what may go wrong? I'm timestamping in
   sendDone()
   and receive() event only and sending 1 packet per second. Any help
 is
   appreciated.
   --
   -Xiaohui Liu
  
   ___
   Tinyos-help mailing list
   Tinyos-help@millennium.berkeley.edu
  
  
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
  
  
  
  
   --
   -Xiaohui Liu
  
  
  
   --
   -Xiaohui Liu
  
   ___
   Tinyos-help mailing list
   Tinyos-help@millennium.berkeley.edu
  
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
  
 
 
 
  --
  -Xiaohui Liu
 




 --
 -Xiaohui Liu




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

Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-17 Thread Janos Sallai
Your observation is correct. The default cc2420 stack does have issues
with timestamping (under heavy load, in particular). The cc2420x stack
should work, though. Based on the errors you're getting, you're using
the default stack (tos/chips/cc2420). Make sure that you wire either
against ActiveMessageC, TimeSyncMessageC, CC2420XTimeSyncMessageC or
CC2420XActiveMessageC. Do _not_ wire CC2420ActiveMessageC.

Ctp should work: tests/TestNetwork compiles with make telosb
cc2420x. Those test applications that directly wire
CC2420ActiveMessageC obviously exploit some features that are specific
to the default cc2420 stack, and will not work without modifications
with the cc2420x stack.

Janos
On Sat, Jul 16, 2011 at 10:22 PM, Xiaohui Liu whu...@gmail.com wrote:
 Thanks.
 What about packet-level time sync as stated in TEP133? Is there any known
 issue of such time sync in the default cc2420 stack? I'm using it with CTP,
 but sometimes it seems even TimeSyncPacket.isValid() returns true, the
 timestamp seems to be invalid (this is detected by measurements such as time
 interval close to 2 ^ 32 ms). Because packet-level time sync is based on
 packet timestamping, so it should have issues as well, am I right?
 The reason why I don't use cc2420x stack with CTP yet is that it constantly
 prompts compilation error:
 $/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:46: redefinition of
 `nx_struct timesync_footer_t'
 $/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:46: warning: tag
 timesync_footer_t shadows enclosing struct/union/enum
 $/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:49: conflicting
 types for `timesync_footer_t'
 $/tinyos-2.1.x/tos/lib/rfxlink/layers/TimeSyncMessageLayer.h:58: previous
 declaration of `timesync_footer_t'
 What changes are necessary to use packet-level time sync compatibly with
 CTP? Thanks very much.
 On Thu, Jun 16, 2011 at 2:53 PM, Janos Sallai sal...@isis.vanderbilt.edu
 wrote:

 Timestamping has known issues in the default cc2420 stack (telosb,
 micaz, etc.) under heavy load. Try using the cc2420x stack. Compile
 with make telosb cc2420x. You'll need the latest sources from google
 code.

 Janos

 On Thu, Jun 16, 2011 at 1:34 PM, Xiaohui Liu whu...@gmail.com wrote:
  I'm using the default one, I'm not sure how to use cc2420x.
 
  On Thu, Jun 16, 2011 at 1:50 PM, Janos Sallai
  sal...@isis.vanderbilt.edu
  wrote:
 
  Is this the default cc2420 stack, or do you use cc2420x?
 
  Janos
 
  On Thu, Jun 16, 2011 at 10:49 AM, Xiaohui Liu whu...@gmail.com wrote:
   Can anyone please give me some hint on what may be the cause? I'm
   stuck
   here. I really appreciate your assistance.
  
   On Wed, Jun 15, 2011 at 4:57 PM, Xiaohui Liu whu...@gmail.com
   wrote:
  
   Telosb.
  
   On Wed, Jun 15, 2011 at 4:54 PM, Hamid Rafiei
   hamid.raf...@gmail.com
   wrote:
  
   Hi,
  
   What is the platform you are using?
  
  
  
  
  
   Regards,
  
  
   Hamid Rafiei Karkvandi
  
  
  
  
  
   On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com
   wrote:
  
   Hi everyone,
  
   I'm using PacketTimeStamp interface to timestamp packet
   transmission
   and
   reception, but I find isValid() returns FALSE more than 90% of the
   time. Can
   anyone help me understand what may go wrong? I'm timestamping in
   sendDone()
   and receive() event only and sending 1 packet per second. Any help
   is
   appreciated.
   --
   -Xiaohui Liu
  
   ___
   Tinyos-help mailing list
   Tinyos-help@millennium.berkeley.edu
  
  
   https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
  
  
  
  
   --
   -Xiaohui Liu
  
  
  
   --
   -Xiaohui Liu
  
   ___
   Tinyos-help mailing list
   Tinyos-help@millennium.berkeley.edu
  
   https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
  
 
 
 
  --
  -Xiaohui Liu
 



 --
 -Xiaohui Liu


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


Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-17 Thread Xiaohui Liu
Hi,

I add PacketAcknowledgements for unicast packets in the demo
applicationhttp://code.google.com/p/tinyos-main/source/browse/trunk/apps/tests/rfxlink/TestPacketTimeSync/?r=5544
and
wire it to ActiveMessageC. The application crashes if it is using the *
cc2420x* stack. However, it works fine if the default *cc2420* stack is
used. Can you help me understand what may be going wrong here?

Ultimately, I want to make packet-level time sync work with CTP to measure
the time it takes for a packet to traverse each link. This is done by first
timestamping a packet at the sender and then piggybacking the timestamp in
the packet to the receiver. There are two options:
1) use cc2420x stack: it's necessary to get all functionality of CTP,
i.e., PacketAcknowledgements
and LinkPacketMetadata and possibly others, to work.under the new stack
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.

On Sun, Jul 17, 2011 at 4:25 PM, Janos Sallai sal...@isis.vanderbilt.eduwrote:

 Hi,

 PacketAcknowledgements  is provided by ActiveMessageC. No component
 provides LinkPacketMetadata in the cc2420x (rfxlink) stack. It's not
 particularly complicated to implement that functionality, though.

 Janos

 On Sun, Jul 17, 2011 at 10:19 AM, Xiaohui Liu whu...@gmail.com wrote:
  Hi,
  Which components provide PacketAcknowledgements and LinkPacketMetadata
  interface in cc2420x stack? If I use AMSenderC and CC2420ActiveMessageC
 as
  in CTP, it does now compile as stated in the previous email.
 
  On Sat, Jul 16, 2011 at 11:22 PM, Xiaohui Liu whu...@gmail.com wrote:
 
  Thanks.
  What about packet-level time sync as stated in TEP133? Is there any
 known
  issue of such time sync in the default cc2420 stack? I'm using it with
 CTP,
  but sometimes it seems even TimeSyncPacket.isValid() returns true, the
  timestamp seems to be invalid (this is detected by measurements such as
 time
  interval close to 2 ^ 32 ms). Because packet-level time sync is based on
  packet timestamping, so it should have issues as well, am I right?
  The reason why I don't use cc2420x stack with CTP yet is that it
  constantly prompts compilation error:
  $/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:46: redefinition
  of `nx_struct timesync_footer_t'
  $/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:46: warning: tag
  timesync_footer_t shadows enclosing struct/union/enum
  $/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:49: conflicting
  types for `timesync_footer_t'
  $/tinyos-2.1.x/tos/lib/rfxlink/layers/TimeSyncMessageLayer.h:58:
 previous
  declaration of `timesync_footer_t'
  What changes are necessary to use packet-level time sync compatibly with
  CTP? Thanks very much.
  On Thu, Jun 16, 2011 at 2:53 PM, Janos Sallai 
 sal...@isis.vanderbilt.edu
  wrote:
 
  Timestamping has known issues in the default cc2420 stack (telosb,
  micaz, etc.) under heavy load. Try using the cc2420x stack. Compile
  with make telosb cc2420x. You'll need the latest sources from google
  code.
 
  Janos
 
  On Thu, Jun 16, 2011 at 1:34 PM, Xiaohui Liu whu...@gmail.com wrote:
   I'm using the default one, I'm not sure how to use cc2420x.
  
   On Thu, Jun 16, 2011 at 1:50 PM, Janos Sallai
   sal...@isis.vanderbilt.edu
   wrote:
  
   Is this the default cc2420 stack, or do you use cc2420x?
  
   Janos
  
   On Thu, Jun 16, 2011 at 10:49 AM, Xiaohui Liu whu...@gmail.com
   wrote:
Can anyone please give me some hint on what may be the cause? I'm
stuck
here. I really appreciate your assistance.
   
On Wed, Jun 15, 2011 at 4:57 PM, Xiaohui Liu whu...@gmail.com
wrote:
   
Telosb.
   
On Wed, Jun 15, 2011 at 4:54 PM, Hamid Rafiei
hamid.raf...@gmail.com
wrote:
   
Hi,
   
What is the platform you are using?
   
   
   
   
   
Regards,
   
   
Hamid Rafiei Karkvandi
   
   
   
   
   
On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com
wrote:
   
Hi everyone,
   
I'm using PacketTimeStamp interface to timestamp packet
transmission
and
reception, but I find isValid() returns FALSE more than 90% of
the
time. Can
anyone help me understand what may go wrong? I'm timestamping
 in
sendDone()
and receive() event only and sending 1 packet per second. Any
help is
appreciated.
--
-Xiaohui Liu
   
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
   
   
   
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
   
   
   
   
--
-Xiaohui Liu
   
   
   
--
-Xiaohui Liu
   
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
   
   
 

Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-17 Thread Janos Sallai
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,
 i.e., 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

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


Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-17 Thread Xiaohui Liu
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 (i.e.,  10%) but most acks (i.e.,  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 sal...@isis.vanderbilt.eduwrote:

 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,
  i.e., 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
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-07-16 Thread Xiaohui Liu
Thanks.

What about packet-level time sync as stated in
TEP133http://www.tinyos.net/tinyos-2.x/doc/html/tep133.html?
Is there any known issue of such time sync in the default cc2420 stack? I'm
using it with CTP, but sometimes it seems even TimeSyncPacket.isValid()
returns true, the timestamp seems to be invalid (this is detected by
measurements such as time interval close to 2 ^ 32 ms). Because packet-level
time sync is based on packet timestamping, so it should have issues as well,
am I right?

The reason why I don't use cc2420x stack with CTP yet is that it constantly
prompts compilation error:
*$/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:46: redefinition of
`nx_struct timesync_footer_t'*
*$/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:46: warning: tag
timesync_footer_t shadows enclosing struct/union/enum*
*$/tinyos-2.1.x/tos/chips/cc2420/CC2420TimeSyncMessage.h:49: conflicting
types for `timesync_footer_t'*
*$/tinyos-2.1.x/tos/lib/rfxlink/layers/TimeSyncMessageLayer.h:58: previous
declaration of `timesync_footer_t'*

What changes are necessary to use packet-level time sync compatibly with
CTP? Thanks very much.

On Thu, Jun 16, 2011 at 2:53 PM, Janos Sallai sal...@isis.vanderbilt.eduwrote:

 Timestamping has known issues in the default cc2420 stack (telosb,
 micaz, etc.) under heavy load. Try using the cc2420x stack. Compile
 with make telosb cc2420x. You'll need the latest sources from google
 code.

 Janos

 On Thu, Jun 16, 2011 at 1:34 PM, Xiaohui Liu whu...@gmail.com wrote:
  I'm using the default one, I'm not sure how to use cc2420x.
 
  On Thu, Jun 16, 2011 at 1:50 PM, Janos Sallai 
 sal...@isis.vanderbilt.edu
  wrote:
 
  Is this the default cc2420 stack, or do you use cc2420x?
 
  Janos
 
  On Thu, Jun 16, 2011 at 10:49 AM, Xiaohui Liu whu...@gmail.com wrote:
   Can anyone please give me some hint on what may be the cause? I'm
 stuck
   here. I really appreciate your assistance.
  
   On Wed, Jun 15, 2011 at 4:57 PM, Xiaohui Liu whu...@gmail.com
 wrote:
  
   Telosb.
  
   On Wed, Jun 15, 2011 at 4:54 PM, Hamid Rafiei 
 hamid.raf...@gmail.com
   wrote:
  
   Hi,
  
   What is the platform you are using?
  
  
  
  
  
   Regards,
  
  
   Hamid Rafiei Karkvandi
  
  
  
  
  
   On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com
 wrote:
  
   Hi everyone,
  
   I'm using PacketTimeStamp interface to timestamp packet
 transmission
   and
   reception, but I find isValid() returns FALSE more than 90% of the
   time. Can
   anyone help me understand what may go wrong? I'm timestamping in
   sendDone()
   and receive() event only and sending 1 packet per second. Any help
 is
   appreciated.
   --
   -Xiaohui Liu
  
   ___
   Tinyos-help mailing list
   Tinyos-help@millennium.berkeley.edu
  
  
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
  
  
  
  
   --
   -Xiaohui Liu
  
  
  
   --
   -Xiaohui Liu
  
   ___
   Tinyos-help mailing list
   Tinyos-help@millennium.berkeley.edu
  
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
  
 
 
 
  --
  -Xiaohui Liu
 




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

Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-06-16 Thread Xiaohui Liu
Can anyone please give me some hint on what may be the cause? I'm stuck
here. I really appreciate your assistance.

On Wed, Jun 15, 2011 at 4:57 PM, Xiaohui Liu whu...@gmail.com wrote:

 Telosb.


 On Wed, Jun 15, 2011 at 4:54 PM, Hamid Rafiei hamid.raf...@gmail.comwrote:

 Hi,

 What is the platform you are using?





 Regards,


 Hamid Rafiei Karkvandi





 On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com wrote:

 Hi everyone,

 I'm using PacketTimeStamp interface to timestamp packet transmission and
 reception, but I find isValid() returns FALSE more than 90% of the time. Can
 anyone help me understand what may go wrong? I'm timestamping in sendDone()
 and receive() event only and sending 1 packet per second. Any help is
 appreciated.
 --
 -Xiaohui Liu

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





 --
 -Xiaohui Liu




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

Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-06-16 Thread Janos Sallai
Is this the default cc2420 stack, or do you use cc2420x?

Janos

On Thu, Jun 16, 2011 at 10:49 AM, Xiaohui Liu whu...@gmail.com wrote:
 Can anyone please give me some hint on what may be the cause? I'm stuck
 here. I really appreciate your assistance.

 On Wed, Jun 15, 2011 at 4:57 PM, Xiaohui Liu whu...@gmail.com wrote:

 Telosb.

 On Wed, Jun 15, 2011 at 4:54 PM, Hamid Rafiei hamid.raf...@gmail.com
 wrote:

 Hi,

 What is the platform you are using?





 Regards,


 Hamid Rafiei Karkvandi





 On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com wrote:

 Hi everyone,

 I'm using PacketTimeStamp interface to timestamp packet transmission and
 reception, but I find isValid() returns FALSE more than 90% of the time. 
 Can
 anyone help me understand what may go wrong? I'm timestamping in sendDone()
 and receive() event only and sending 1 packet per second. Any help is
 appreciated.
 --
 -Xiaohui Liu

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




 --
 -Xiaohui Liu



 --
 -Xiaohui Liu

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

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


Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-06-16 Thread Xiaohui Liu
I'm using the default one, I'm not sure how to use cc2420x.

On Thu, Jun 16, 2011 at 1:50 PM, Janos Sallai sal...@isis.vanderbilt.eduwrote:

 Is this the default cc2420 stack, or do you use cc2420x?

 Janos

 On Thu, Jun 16, 2011 at 10:49 AM, Xiaohui Liu whu...@gmail.com wrote:
  Can anyone please give me some hint on what may be the cause? I'm stuck
  here. I really appreciate your assistance.
 
  On Wed, Jun 15, 2011 at 4:57 PM, Xiaohui Liu whu...@gmail.com wrote:
 
  Telosb.
 
  On Wed, Jun 15, 2011 at 4:54 PM, Hamid Rafiei hamid.raf...@gmail.com
  wrote:
 
  Hi,
 
  What is the platform you are using?
 
 
 
 
 
  Regards,
 
 
  Hamid Rafiei Karkvandi
 
 
 
 
 
  On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com wrote:
 
  Hi everyone,
 
  I'm using PacketTimeStamp interface to timestamp packet transmission
 and
  reception, but I find isValid() returns FALSE more than 90% of the
 time. Can
  anyone help me understand what may go wrong? I'm timestamping in
 sendDone()
  and receive() event only and sending 1 packet per second. Any help is
  appreciated.
  --
  -Xiaohui Liu
 
  ___
  Tinyos-help mailing list
  Tinyos-help@millennium.berkeley.edu
 
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
 
 
 
 
  --
  -Xiaohui Liu
 
 
 
  --
  -Xiaohui Liu
 
  ___
  Tinyos-help mailing list
  Tinyos-help@millennium.berkeley.edu
  https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
 




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

Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-06-16 Thread Janos Sallai
Timestamping has known issues in the default cc2420 stack (telosb,
micaz, etc.) under heavy load. Try using the cc2420x stack. Compile
with make telosb cc2420x. You'll need the latest sources from google
code.

Janos

On Thu, Jun 16, 2011 at 1:34 PM, Xiaohui Liu whu...@gmail.com wrote:
 I'm using the default one, I'm not sure how to use cc2420x.

 On Thu, Jun 16, 2011 at 1:50 PM, Janos Sallai sal...@isis.vanderbilt.edu
 wrote:

 Is this the default cc2420 stack, or do you use cc2420x?

 Janos

 On Thu, Jun 16, 2011 at 10:49 AM, Xiaohui Liu whu...@gmail.com wrote:
  Can anyone please give me some hint on what may be the cause? I'm stuck
  here. I really appreciate your assistance.
 
  On Wed, Jun 15, 2011 at 4:57 PM, Xiaohui Liu whu...@gmail.com wrote:
 
  Telosb.
 
  On Wed, Jun 15, 2011 at 4:54 PM, Hamid Rafiei hamid.raf...@gmail.com
  wrote:
 
  Hi,
 
  What is the platform you are using?
 
 
 
 
 
  Regards,
 
 
  Hamid Rafiei Karkvandi
 
 
 
 
 
  On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com wrote:
 
  Hi everyone,
 
  I'm using PacketTimeStamp interface to timestamp packet transmission
  and
  reception, but I find isValid() returns FALSE more than 90% of the
  time. Can
  anyone help me understand what may go wrong? I'm timestamping in
  sendDone()
  and receive() event only and sending 1 packet per second. Any help is
  appreciated.
  --
  -Xiaohui Liu
 
  ___
  Tinyos-help mailing list
  Tinyos-help@millennium.berkeley.edu
 
  https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
 
 
 
 
  --
  -Xiaohui Liu
 
 
 
  --
  -Xiaohui Liu
 
  ___
  Tinyos-help mailing list
  Tinyos-help@millennium.berkeley.edu
  https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
 



 --
 -Xiaohui Liu

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


[Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-06-15 Thread Xiaohui Liu
Hi everyone,

I'm using PacketTimeStamp interface to timestamp packet transmission and
reception, but I find isValid() returns FALSE more than 90% of the time. Can
anyone help me understand what may go wrong? I'm timestamping in sendDone()
and receive() event only and sending 1 packet per second. Any help is
appreciated.
-- 
-Xiaohui Liu
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-06-15 Thread Hamid Rafiei
Hi,

What is the platform you are using?





Regards,


Hamid Rafiei Karkvandi





On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com wrote:

 Hi everyone,

 I'm using PacketTimeStamp interface to timestamp packet transmission and
 reception, but I find isValid() returns FALSE more than 90% of the time. Can
 anyone help me understand what may go wrong? I'm timestamping in sendDone()
 and receive() event only and sending 1 packet per second. Any help is
 appreciated.
 --
 -Xiaohui Liu

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

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

Re: [Tinyos-help] PacketTimeStamp.isValid() mostly returns FALSE

2011-06-15 Thread Xiaohui Liu
Telosb.

On Wed, Jun 15, 2011 at 4:54 PM, Hamid Rafiei hamid.raf...@gmail.comwrote:

 Hi,

 What is the platform you are using?





 Regards,


 Hamid Rafiei Karkvandi





 On Wed, Jun 15, 2011 at 2:36 PM, Xiaohui Liu whu...@gmail.com wrote:

 Hi everyone,

 I'm using PacketTimeStamp interface to timestamp packet transmission and
 reception, but I find isValid() returns FALSE more than 90% of the time. Can
 anyone help me understand what may go wrong? I'm timestamping in sendDone()
 and receive() event only and sending 1 packet per second. Any help is
 appreciated.
 --
 -Xiaohui Liu

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





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