Thanks for your reply.
The application is as follows: I have two motes connected to two
internet-enabled PC's. One acts as a sender, the other as a receiver.
However, due to the channel condition the receiver may not always
receive every sent packet. Nonetheless, the receiver must make
certain measurements at the time that it would have received the
packet, regardless of whether or not the packet is actually received.
For example, I need to measure the RSSI at this time. This is why I
cannot depend on the receive event.
I was thinking of using the application in question to send a message
to both the motes by using two serial forwarders, one on each PC. In
this way, it may be possible to coordinate the timing closely enough.
I am not sure what a significant time-delay is; I will try to run
some experiments later today to figure this out.
Any ideas will be greatly appreciated.
Thanks,
Tal
> You're pretty much facing a One-Port One-Message limitation.
> Hacking MoteIF to do two sends under the covers isn't going
> to save you much time. About the only way you could get two
> messages to go out, nearly, simultaneously is to ensure that
> each sender is running on a separate processor that is not
> sharing any resources. What do you consider to be "substantial
> time lag/drift/jitter"?
>
> Perhaps if you describe your application requirements we could
> be of more help...
>
> MS
>
>
> Tal Rusak wrote:
>> Instantiating two MoteIF object appears to work in principle.
>> However, this will require two calls to send:
>> moteIF0.send(0, payload);
>> moteIF1.send(1, payload);
>> I am not sure if this will introduce substantial time
>> lag/drift/jitter. Is there any obvious way around this limit? For
>> example, is it safe to modify the function
>> synchronized public void send(int moteId, Message m)
>> on line 145 of MoteIF.java to include two send commands, such as
>> sender0.send(modeId, m);
>> sender1.send(modeId, m);
>> which may introduce less time lag?
>>
>> Also, is there a way to broadcast a serial packet using this
>> function
>> (for example, by adding a loop)?
>>
>> I'm just not if such modifications will disrupt the thread
>> synchronization in the java programs and/or if it may introduce race
>> conditions in these programs.
>>
>> Thanks,
>> Tal
>>
>>> On Jan 9, 2008, at 9:35 AM, Tal Rusak wrote:
>>>
>>>> Hi,
>>>> I need to use one packet source (i.e., a program sending
>>>> packets to
>>>> motes over the serial port) to communicate with two SerialForwarders
>>>> on
>> two different machines, forwarding the packets generated to both. Is
>> this
>> possible, and if so, how?
>>>> If this is not possible directly, does anyone have a good
>>>> workaround?
>>> Just instantiate two MoteIF objects?
>>>
>>> Phil
>>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Tinyos-help mailing list
>> [email protected]
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
> --
> Platform: WinXP/Cygwin
> TinyOS version: 1.x, Boomerang
> Programmer: MIB510
> Device(s): Mica2, MicaZ, Tmote
> Sensor board: homebrew
>
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help