On Jan 3, 2008, at 5:58 AM, Murray, Ben wrote:
Hi
I did some tests a while ago with a couple of MICAz nodes when
putting some
time sync into my code and came across a 10ms randomness in the delay
between my code calling .Send() and the .sendDone() event being
signalled.
The delay seemed to vary pretty randomly between 3ms and 13ms. Is
there some
reason for this (large?) delay? I based the timing on the
difference in
value of a millisecond timer for matched send and senddone pairings
and used
that to achieve decent enough (hopefully about +-1ms) sync for some
small-scale controlled tests but it was a bit of a rushed (and rather
roundabout) way to achieve accurate sync and not really practical in a
proper deployment.
It's because of the MAC layer. The default CC2420 layer in T2 has an
initial backoff of approximately 1-10ms. So after you call send(),
the MAC layer waits 1-10ms before trying to send the packet.
I saw the discussion on time sync in the devel forum and people
seem to
indicate rather better sync in the order of (micro seconds) us or
better and
I was wondering where the option to stick a timestamp in the outgoing
messages at the actual time of transmission rather than the time of
calling
the send event as the latter is not very accurate requiring a more
complex
sync proceedure? the TEP I read indicated that the timestamp in the
message_t is not transmitted but is local to the node?
The core WG is talking about this right now. The actual embedment of
a timestamp is not a big deal; the question is what the API should
be. We're also trying to wrestle with network interoperability
questions. Take a look at Miklos' mail to -devel in November. It has
two interfaces; one is for receiver-only timestamps, the other is for
transmitter-receiver timestamps.
Phil
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help