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
