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
