You're right,

Paul,sim_time() returns an uint32_t measure.I see this number in the program
:

*DEBUG (0): Booted at time 1024
DEBUG (1): Booted at time 1320
DEBUG (2): Booted at time 6000
.
.
DEBUG (1): Timer fired at 1175691828
DEBUG (1): Timer fired at -1943585060
DEBUG (1): Timer fired at -767894652
DEBUG (1): Timer fired at 407795756
.*
.
.

What is this negative numbers ? Is it because of overflow ? my boot times
are :

*t.getNode(0).bootAtTime(1024);
t.getNode(1).bootAtTime(1320);
t.getNode(2).bootAtTime(6000);*

and I use this statement to print the time in the code :
*dbg("Base","Timer fired at %d\n",sim_time());*

And timer period is 1000.But when is use sim_time_string() it returns the
correct form of time as I said before.

Thanks,

On Tue, Nov 17, 2009 at 8:51 PM, Paul Johnson <[email protected]> wrote:

>  Yes, you can do that, but it won't accurately model a real clock because
> of clock skew.  In general, clocks do not run at the exact same rate, their
> frequency tends to drift.  This drift depends on a lot of factors such as
> temperature, humidity, etc.  In TOSSIM there is no support for clock skew.
> Another drawback of simulation is that it doesn't simulate processing time.
> This means that you will never have any jitter (the non-deterministic timing
> differences between receiving a packet and processing it, or preparing a
> packet, and sending it).
>
> These two factors are what makes time synchronization a non-trivial
> problem.  Using TOSSIM you could check your algorithm to see if it sends
> messages correctly, parses received messages correctly, corrects the random
> offset between nodes, etc, but you will not be able to see how accurate the
> synchronization is using pure simulation.
>
> -Paul
>
>
> mojtaba raznahan wrote:
>
> I think i should solve this problem by specifying random numbers as clock
> offset between motes,and sim_time() as global time.
>
> On Mon, Nov 16, 2009 at 10:31 PM, mojtaba raznahan <
> [email protected]> wrote:
>
>> Paul,
>>
>>  Thanks again for your clear answers.
>>
>>  Yes, I think like you.So due to this issue I can't test time
>> synchronization algorithms in TOSSIM,am I right ?Or maybe there is some
>> interface for doing this job .. ?
>>
>>  sincerley,
>> Mojtaba
>>
>> On Mon, Nov 16, 2009 at 9:58 PM, Paul Johnson <[email protected]> wrote:
>>
>>>  Mojtaba,
>>>
>>> Actually, i believe the bootAtTime is in 100's of pico seconds (10^-10)
>>> seconds.  So 1024 * 10^-10 = 0.0000001024, and apparently sim_time_string()
>>> returns time in seconds (up to nano seconds (10^-9)).  There are actually
>>> 1024 milli "ticks" per second, so this is why each timer fired is adding not
>>> quite 1.0 to the time.
>>>
>>> As for your other issue, this is actually by design.  If a node transmits
>>> a broadcast packet, all other nodes in the transmission range will receive
>>> it at the same time.  The boot times only change when the node powers up,
>>> but doesn't skew it's clock.  In fact, i can't say for 100%, but I think
>>> that sim_time_string() grabs the global simulation time, and there is no
>>> local clock simulation is TOSSIM.
>>>
>>> -Paul
>>>
>>> mojtaba raznahan wrote:
>>>
>>>  Hi Janos,
>>> thanks for reply.
>>>
>>> What's the meaning of this numbers ?  I set the bootAtTime event as these
>>> :
>>>
>>> *t.getNode(0).bootAtTime(1024);
>>> t.getNode(1).bootAtTime(1320);
>>> t.getNode(2).bootAtTime(6000)*;
>>>
>>> And i get the time by *"sim_time_string()*" method and it print the boot
>>> times as this : 0:0:0.000000102 and 0:0:0.000000132 and 0:0:0.000000600 . As
>>> i can guess 102 means "1024" MilliSec and 132 means "1320" Milil.
>>> And I set the startPeriodic at 1000 ,some thing is ambiguous.The last
>>> statement prints the time equal to 0:0:0.000000142 the next statment is
>>> *Timer.startPeriodic(1000)*,but in the output when i print the time in *
>>> Timer.fired()* event, it prints the time equal to *0:0:0.976562642* and
>>> the later *0:0:1.953125142* ,* 0:0:2.929687642*, *0:0:3.906250142* what
>>> does it mean ?
>>> And also when i send a packet, the 2 other recievers get the packet at
>>> the same time!!(I've set the bootTimes differently!).
>>>
>>> Thanks,
>>> Mojtaba
>>>
>>>
>>>
>>>
>>> On Mon, Nov 16, 2009 at 7:34 PM, Janos Sallai <
>>> [email protected]> wrote:
>>>
>>>> In tossim, the node object in python has a bootAtTime method which
>>>> lets you set when the mote boots. You can use this to make the local
>>>> clock's offsets different from each other. By the way, TOSSIM does not
>>>> simulate clock skew. This might limit the validity of the simulation
>>>> results.
>>>>
>>>> Janos
>>>>
>>>> On Mon, Nov 16, 2009 at 7:55 AM, mojtaba raznahan
>>>> <[email protected]> wrote:
>>>> > Hi all,
>>>> >
>>>> > I want to know how can I set the local time of each mote
>>>> programmatically ?
>>>> > I want to set different local time for each node then test my
>>>> > synchronization algorithm on them.
>>>> > I used the LocalTime interface to get the local time but i can't set
>>>> > different initial local time for each node.And LocalTime interface has
>>>> 2
>>>> > type "TMilli" and "TMicro" but when i use TMicro then in configuration
>>>> > section there isn't any component provider for it! .I'm using Tinyos
>>>> 2.1.0
>>>> > and TOSSIM.
>>>> >
>>>> > Regards,
>>>> > --
>>>> > Mojtaba Raznahan
>>>> > BS of Computer engineering
>>>> > TMU university
>>>> > www.raznahan.com
>>>> >
>>>>  > _______________________________________________
>>>> > Tinyos-help mailing list
>>>> > [email protected]
>>>> >
>>>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>>> >
>>>>
>>>
>>>
>>>
>>> --
>>> Mojtaba Raznahan
>>> BS of Computer engineering
>>> TMU university
>>> www.raznahan.com
>>>
>>> ------------------------------
>>> _______________________________________________
>>> Tinyos-help mailing 
>>> [email protected]https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>>
>>>
>>
>>
>>  --
>> Mojtaba Raznahan
>> BS of Computer engineering
>> TMU university
>> www.raznahan.com
>>
>
>
>
> --
> Mojtaba Raznahan
> BS of Computer engineering
> TMU university
> www.raznahan.com
>
>


-- 
Mojtaba Raznahan
BS of Computer engineering
TMU university
www.raznahan.com
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to