Hi Janos,

To test your apps/tests/rfxlink/TestPacketTimeSync, I downloaded the whole
folder TestPacketTimeSync to my directory /opt/tinyos-2.1.0/apps, and
cc2420x to /opt/tinyos-2.1.0/tos/chips. When I compile TestPacketTimeSync,
there's always error like "no match", "cannot find***". Is it supposed to be
used like this, or I'm doing it in a wrong way?

In fact, what I need to do is to get microsecond timestamp for packet
transmission and reception, I'm trying to do in in the following way:
download cc2420x from google code, put it under
/opt/tinyos-2.1.0/tos/chips,
add "App.PacketTimeStamp->CC2420XActiveMessageC" to my configuration,
add "uses interface PacketTimeStamp<TRadio, uint32_t> " to my module,
then call PacketTimeStamp.timestamp() to get microsecond timestamp value.
Any file else I have to bring in or modify?

Thanks a lot..

Sean

By the way, I'm using tinyos 2.1.0, is there any easy and feasible way to do
microsecond timestamping in other versions?

Sean

On Tue, May 24, 2011 at 3:28 PM, Xiaowei <[email protected]> wrote:

> Hi Janos,
>
> I tried to use CC2420TransmitC.ByteIndicator and
> C2420ReceiveC.PacketIndicator to determine the start of transmission and
> reception of a packet, didn't work.
>
> Then I write the following to my sender telosb mote,
>   async event void CaptureSFD.captured( uint16_t time ){
>     sendtime = call Counter.get();
>   }
>
> will Counter.get() record the time when packets actually start being
> transmitted?
> I tried this out, but the result is not so good. I'm not sure whether it's
> because this doesn't work as I expected at all or it's some other reason.
>
> Thank you for your reply!
>
> Sean
>
>
> On Tue, May 24, 2011 at 11:15 AM, Janos Sallai <[email protected]
> > wrote:
>
>> Sean:
>>
>> Look at how the wiring is done in the test app in
>> apps/tests/rfxlink/TestPacketTimeSync. TimeSyncMessageC and
>> ActiveMessageC provide multiple PacketTimeStamp interfaces,
>> PacketTimeStampRadio (TMicro precision on the telos/micaz) and
>> PacketTimeStampMilli (TMilli precision). You'll need to wire the
>> former.
>>
>> Janos
>>
>> On Tue, May 24, 2011 at 12:37 AM, Xiaowei <[email protected]> wrote:
>> > Dear Janos,
>> >
>> > Thank you very much for your reply! By the way, if you remember, you
>> > actually gave me the same clue several weeks ago! It's so frustrating
>> that I
>> > still haven't figured it out.
>> >
>> > I looked into TestPacketTimeSync, you are using
>> PacketTimeStamp.timestamp to
>> > get the time when packets are sent and received, is that right?
>> > So I tried to use interface PacketTimeStamp in my app just like you  did
>> in
>> > TestPacketTimeSync by:
>> >
>> > adding "App.PacketTimeStamp->ActiveMessageC;" in my configuration file,
>> > adding "uses interface PacketTimeStamp<TMicro, uint16_t>;" in module
>> file,
>> > and call the timestamp command like this
>> >             if (call PacketTimeStamp.isValid(msg)==TRUE){
>> >                 sendtime = call PacketTimeStamp.timestamp(msg);
>> > When I compile the code, it says "no match" for the wiring
>> > App.PacketTimeStamp->ActiveMessageC.
>> > In your Packet timestamping TEP written with Miklos, you mentioned it
>> does
>> > not prescribe how packet timestamping should be implemented: it only
>> > describes the interfaces and the required functionality. Feel like I'm
>> not
>> > using PacketTimeStamp interface in the correct way.
>> >
>> > Then I tried to use your CC2420XActiveMessageC by downloading the
>> > trunk/cc2420x folder, put it under my tos/chips folder, and in the
>> > configuration wire App.PacketTimeStamp->CC2420XActiveMessageC. Got the
>> > compile error "cannot find `CC2420XActiveMessageC'".
>> >
>> > I'm using Counter<TMicro, uint16_t> to record time of microsecond
>> presicion,
>> > and disabled csma  by setting the default value of "ccaOn = TRUE" to
>> "ccaOn
>> > = FALSE" in tinyos-2.1.0/tos/chips/cc2420/csma/CC2420CsmaP.nc. The rest
>> I'm
>> > trying to do is to record the actual time when packets are
>> transmitted(when
>> > the first bit hits the air, or at least as close to the moment as
>> possible)
>> > and received. Can this be achieved in tinyos 2.1.0 with telosb mote in
>> an
>> > easy, light-weighted way?
>> >
>> > Really appreciate your time of looking into this!
>> >
>> > Sean
>> >
>> > On Sun, May 22, 2011 at 12:11 AM, Janos Sallai <
>> [email protected]>
>> > wrote:
>> >>
>> >> Sean:
>> >>
>> >> The default cc2420 radio stack doesn't support TMicro timestamping.
>> >> There's an alternative implementation, however, which does. Take a
>> >> look at apps/tests/rfxlink/TestPacketTimeSync. The readme file
>> >> explains how to compile for the telos. You'll need the latest sources
>> >> from google code.
>> >>
>> >> For your convenience, here's a direct link to the readme file.
>> >>
>> >>
>> http://code.google.com/p/tinyos-main/source/browse/trunk/apps/tests/rfxlink/TestPacketTimeSync/README.txt?spec=svn5544&r=5544
>> >>
>> >> Janos
>> >>
>> >> On Sat, May 21, 2011 at 7:14 PM, Xiaowei <[email protected]>
>> wrote:
>> >> > Hi all,
>> >> >
>> >> > I'm doing some experiment to record the exact time when packets start
>> >> > transmission at the sending mote and being received at the receiving
>> >> > mote
>> >> > with telosb motes in TinyOS 2.1.0.
>> >> > These are the components and interface I'm using:
>> >> > components Msp430CounterMicroC;
>> >> > App.Counter -> Msp430CounterMicroC
>> >> > uses interface Counter<TMicro, uint16_t>;
>> >> >
>> >> > To get rid of random delay, I also disabled csma by setting:
>> >> > the default value of "ccaOn = TRUE" to "ccaOn = FALSE" in
>> >> > tinyos-2.1.0/tos/chips/cc2420/csma/CC2420CsmaP.nc
>> >> >
>> >> > At the sending mote, I called Counter.get() in sendDone event
>> handler,
>> >> > and
>> >> > at the receiving mote I called Counter.get() in receive event
>> handler.
>> >> > It
>> >> > seems that the time recorded is not the exact time when the packet is
>> >> > sent
>> >> > over the air.
>> >> >
>> >> > So I tried to use interface PacketTimeStamp<TMicro, uint16_t>, but
>> got
>> >> > the
>> >> > "no match" error for the line App.PacketTimeStamp->ActiveMessageC
>> when
>> >> > compiling the code, couldn't figure out why. Tried "include message.h
>> in
>> >> > module file", didn't work.
>> >> >
>> >> > There's also another interface RadioTimeStamping that provides event
>> >> > transmittedSFD and receivedSFD, which satisfies my requirement. But
>> it's
>> >> > said that RadioTimeStamping is not supported in TinyOS 2.1. I tried
>> to
>> >> > use
>> >> > it by wire 'App.RadioTimeStamping->CC2420TransmitC.TimeStamp', got
>> >> > compile
>> >> > error "cannot find TimeStamp".
>> >> >
>> >> > I have been stuck in this problem for a while, anyone knows how to do
>> >> > this
>> >> > (Basically, get the time when packets actually being transmitted to
>> the
>> >> > air
>> >> > and being received)?
>> >> >
>> >> > Any help is greatly appreciated.
>> >> >
>> >> > Sean
>> >> >
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > Tinyos-help mailing list
>> >> > [email protected]
>> >> >
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>> >> >
>> >
>> >
>>
>
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to