Hi

I've been using TinyOS on the mica2 for "high" speed data sampling (~3 kHz)
and I had it working fine until I tried to shut the radio off during the
sampling and restart it afterward to manage the system surge current. The
receive function (through Bcast) would come back on line when I called
RadioControl.start(), but the mote refused to transmit anything afterward. I
then tested it with a simple one point ADC sample (via ADCREFM) and got
similar results. If the ADC.getData() call is omitted, everything works
great. After much trial and error (mostly error) I finally found that
calling RadioControl.init() before the RadioControl.start() brings it
around.

RadioControl -> EWMAMultiHopRouter.StdControl (which is a Crossbow contrib.
component - contrib\xbow\tos\lib\ReliableRoute_Low_Power), though I tried
routing it to CC1000IntM and then it wouldn't work even if I called init().
Best I can figure is that the RSSI monitoring in the radio stack is getting
discombobulated by the ADC call, but it's not clear how. I know this works
so I should probably just leave well enough alone, but I was under the
impression that TinyOS isn't supposed to deal with calling
StdControl.init()s multiple times, much less expect it as a normal radio
reactivation procedure. Main->EWMAMultiHopRouter.StdControl, so as I
understand it, the Main init call should have already fanned out to the
multihop component's init() at boot.

Any comments, explanations, speculations?

Thanks,
Ben Buckner


_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to