[Tinyos-help] wireless communication speed

Miklos Maroti mmaroti at math.u-szeged.hu
Wed Feb 25 15:28:55 PST 2009


Hi Andrey,

> It's OK. Thanks for the implementation! So, the getChannel() on the remote
> mote returns the "new" channel, while on the basestation the "old" channel
> and motes can communicate.
>
>
>>> I'm using the radio stop/start between switch.
>>
>> No need to do that, but out of curiosity, do you use the SplitControl
>> start/stop?
>
> Yes. I tried also without stop/start. It works :) So the problem seems to be
> in setting the channel while radio is stopped. The getChannel() returns the
> supposedly set channel, while in the fact something was wrong and the radio
> chip still uses the "old" one.

Ok, the problem is that when stop is called, the RF230 enters the
SLEEP state and the SPI interface is powered down (I did not think
about that), so at that point updating the channel register did not
happen. The getChannel simply returns the channel stored in the
memory, so that is why the wrong value is returned. There are two
solutions:

1) wake up the mote and change the channel and go back to sleep (this
is really costly in time and power)
2) mark that the channel register need to be changed the next time the
mote wakes up, probably this is the way to go.

Actually, I have implemented option 2) and committed it.

> I've heard (read :) ), you don't have motes at present. So I'm glad to test
> your further thoughts and updates, if it could improve the rf230
> functionality in tinyos.

Yes, I do not have any IRIS motes (nor did I ever had, I did all the
development through an ssh connection :)

Miklos


More information about the Tinyos-help mailing list