[Tinyos-help] timestamping in TMicro

Felipe Cousin felipecousin at hotmail.com
Tue Aug 28 14:55:15 PDT 2012





It worked, thanks Janos!
Felipe



> From: sallai at isis.vanderbilt.edu
> Date: Tue, 28 Aug 2012 13:13:45 -0500
> To: tinyos-help at millennium.berkeley.edu
> Subject: Re: [Tinyos-help] timestamping in TMicro
> 
> Felipe:
> 
> If you run make with the cc2420x extra, then the rfxlink based radio
> stack gets compiled in, which supports microsecond-precision
> timestamping. Specifically,
> tos/platforms/telosa/chips/cc2420x/tmicro/am/ActiveMessageC.nc gets
> compiled in instead of tos/platforms/telosa/ActiveMessageC.nc. See the
> readme at tos/platforms/telosa/chips/cc2420x/README.txt for details.
> 
> Use LocalTimeMicroC to get the microsecond-precision local time.
> 
> On Tue, Aug 28, 2012 at 12:45 PM, Felipe Cousin
> <felipecousin at hotmail.com> wrote:
> > Hi all,
> >
> > We need to get the timestamp of received packets in microseconds, but I
> > couldn't find any component that provides the interface
> > PacketTimeStamp<TMicro,uint32_t> for telosb
> > and also we would like a Counter<TMicro,uint32_t> and, again, I couldn't
> > find any component that provides that interface for telosb...
> >
> > Does anybody knows a component that does that or have some suggestion ?
> >
> > Thanks,
> > Felipe
> >
> >
> >
> > ________________________________
> > Date: Tue, 28 Aug 2012 00:52:29 -0700
> > From: cire831 at gmail.com
> > To: whulxh at gmail.com
> > CC: tinyos-help at millennium.berkeley.edu
> > Subject: Re: [Tinyos-help] questions about usage of keyword atomic
> >
> >
> >
> > On Mon, Aug 27, 2012 at 6:59 PM, Xiaohui Liu <whulxh at gmail.com> wrote:
> >
> > Hello all,
> >
> > 1) I have the following code snippet:
> > uint8_t a;
> >
> > async event void Alarm1.fired() {
> >    a = 0;
> > }
> >
> > This compiles successfully without any warning.
> >
> >
> >
> > Isn't there a racing condition here, between Alarm1 and itself?
> >
> >
> > I don't know what you mean by the above.   How can Alarm1 have a race
> > condition with itself?
> >
> > Looks to me like in the above program there is only one place where a is
> > accessed, so how can there be a race condition.
> >
> >
> >
> > 2) If the following is added.
> > async event void Alarm2.fired() {
> >    a = 1;
> > }
> > Still, this compiles successfully without any warning. Isn't there an
> > additional racing condition here, between Alarm1 and Alarm2 (and Alarm2 and
> > itself)?
> >
> >
> > async is considered to be one level of execution.   So there still isn't a
> > race condition.   When Alarm1 fires, a gets set to 0.   Alarm2 can not get
> > in and thus there is not a race condition.
> >
> > this is a nesc assumption.   That async is one level of execution  (one
> > context).
> >
> >
> >
> > 3) If the following is added.
> > event void Timer.fired() {
> >   a = 2;
> > }
> > Then there is a warning, "non-atomic accesses to shared variable `a'". Why
> > is there no warning for
> > a = 0;
> > in Alarm1?
> >
> >
> > Why do you expect a warning from Alarm1?
> >
> > Timer.fired is at sync level.   Sync level is the other nesc execution
> > context.   Because there is access to a from the async level nesc beleives
> > that there is a potential race condition between the Alarms (async level)
> > and Timer.fired (sync level).   Hence non-atomic accesses.
> >
> >
> >
> > According to the TinyOS book P196, a variable has to be protected by an
> > atomic statement "if it is accessed from an async function". But seems to
> > me, "a" is accessed from an async function in all 3 cases above and none is
> > protected except
> > a = 0;
> > in Timer.
> >
> >
> > The book isn't very clear.
> >
> > Typically async level is used for functions called from interrupt level
> > signals.
> >
> >
> >
> > Can anybody please share the experience on atomic? Thanks in advance.
> >
> > --
> > -Xiaohui Liu
> >
> > _______________________________________________
> > Tinyos-help mailing list
> > Tinyos-help at millennium.berkeley.edu
> > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
> >
> >
> >
> >
> > --
> > Eric B. Decker
> > Senior (over 50 :-) Researcher
> >
> >
> >
> > _______________________________________________ Tinyos-help mailing list
> > Tinyos-help at millennium.berkeley.edu
> > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
> >
> > _______________________________________________
> > Tinyos-help mailing list
> > Tinyos-help at millennium.berkeley.edu
> > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
> _______________________________________________
> Tinyos-help mailing list
> Tinyos-help at millennium.berkeley.edu
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20120828/fac69cd9/attachment.htm 


More information about the Tinyos-help mailing list