[Tinyos-help] Problem with SplitControl and MultiHop

Joe Polastre joe.polastre at gmail.com
Thu Mar 10 01:32:31 PST 2005


Which Surge and which MultiHop routing implementation are you using?

If you're using MultiHop LQI, then everything shoudl work fine.

If you're using MintRoute or ReliableRoute, then calling 'enableAck()'
will disable promiscuous mode and cause the routing layer go into a
state of disarray.

are you using apps/Surge or contrib/ucb/apps/SurgeTelos?

-Joe


On Thu, 10 Mar 2005 10:16:12 +0100, Inés C.M <ines.cabrera at gmail.com> wrote:
> I understand, but I can't find any problems in this initialization,
> and still it does not work. Or should I call start() in MultiHop
> "explicitly", AFTER the initDone() in HumidityControl, instead of
> wiring it to StdControl?
> 
>   command result_t StdControl.init() {
>     initialize();
>     call HumidityControl.init();
>     return SUCCESS;
>   }
> 
>   event result_t HumidityControl.initDone() {
>     return SUCCESS;
>   }
> 
>   command result_t StdControl.start() {
>     call HumidityControl.start();
>     return SUCCESS;
>   }
> 
>   event result_t HumidityControl.startDone() {
>     uint16_t randomtimer;
>     call CC2420Control.SetRFPower(15);
>     call MacControl.enableAck();
>     randomtimer = (call Random.rand() & 0xfff) + 1;
>     call Timer.start(TIMER_ONE_SHOT, randomtimer);
>     call TemperatureError.enable();
>     return SUCCESS;
>   }
> 
> Thanks a lot again!
> Inés
> 
> 
> On Wed, 9 Mar 2005 09:49:27 -0800, Joe Polastre <joe.polastre at gmail.com> wrote:
> > init MUST be called when the application boots, not at a random time
> > during program execution.
> >
> > All init() functions must complete, then you can call start()
> > functions.  If you call init then start on multihop routing, then call
> > init on the sensor, it is possible that the sensor will re-initialize
> > the some components of the system which would be in error.
> >
> > -Joe
> >
> >
> > On Wed, 09 Mar 2005 17:09:39 +0100, Inés C.M <ines.cabrera at gmail.com> wrote:
> > > Hi everyone,
> > >
> > > I am trying to modify the Surge application for Telos to obtain
> > > different sensor measurements through multihop routing. By now I
> > > manage to obtain data from all the motes and all the sensors, EXCEPT
> > > from the temperature and humidity ones, which both use the
> > > SplitControl interface. The problem is that, if I call
> > > HumidityControl.init() to initialise them, as done in the Oscilloscope
> > > application, the multihop routing stops working and I can only get
> > > data from the root. All the other motes dissapear from the GUI in the
> > > java Surge application, and SerialForwarder only gets data from the
> > > mote attached to the computer (root). Any clue about why this is
> > > happening?
> > >
> > > Any help is welcome!
> > > Thanks a lot,
> > > Inés.
> > > _______________________________________________
> > > Tinyos-help mailing list
> > > Tinyos-help at Millennium.Berkeley.EDU
> > > http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-help
> > >
> >
>


More information about the Tinyos-help mailing list