On Fri, Jun 10, 2011 at 11:45 AM, Aziz Khakulov <[email protected]> wrote: > Hi Jan, > The solution was simpler than I thought. I just used call > MLME_SET.macRxOnWhenIdle(FALSE); in MCPS_DATA.indication() and call > MLME_SET.macRxOnWhenIdle(TRUE); ín UartStream.sendDone. So basically > disable RX on idle once we get a packet and enable it back once we are done > with sending over UART.
This is because as long as the MAC is Rx the Spi (USART0 on telos) is locked (to not lose incoming packets). When you switch the radio off the USART0 resource is released and can then be used by other clients. So, in nonbeacon-enabled mode you have to make sure you're not always in Rx (e.g. with the step you suggest). And I just checked that in beacon-enabled mode there is no problem in the first place, because the resource is released in between periods anyway (CAP -> CFP -> inactive period). Jan > > Aziz Khakulov, MSc > > Research Engineer > Automatic Control Lab > School of Electrical Engineering > Royal Institute of Technology (KTH) > www.kth.se > > Mob.: +46 76 2653896 > ________________________________ > From: Jan Hauer <[email protected]> > To: Aziz Khakulov <[email protected]> > Cc: "[email protected]" > <[email protected]> > Sent: Thursday, June 9, 2011 12:13 PM > Subject: Re: [Tinyos-help] UART0 + TKN15.4 (Tmote Sky) > > Hi Aziz, > > The MAC should release the USART (SPI) resource after Rx or Tx > operations, that's part of the implementation, but I've not tested it > so far. A lot of the CC2420 low level code is identical to the code in > tos/chips/cc2420, so it would be interesting to see if you see the > same issue with the "standard" MAC as well (e.g. install > apps/Oscilloscope, maybe also try LPL version). > > When you say that you never get the granted() event, are you using the > Resource interface provided by Msp430Usart0C()? (because this seems to > be what the CC2420 via HplCC2420SpiC() connects to) > > I will also test this myself in a few days (when I return from traveling). > > Jan > > > On Thu, Jun 9, 2011 at 11:31 AM, Aziz Khakulov <[email protected]> wrote: >> Hi all, >> I'm trying to use both UART0 (Pins 2 and 4 on the expansion port) and >> TKN15.4 MAC but facing problems. It seems that something in the MAC is >> getting the resource and not releasing it as when I try >> UartResouce.request(), it never triggers the UartResource.granted() event. >> It happens even if I just initialize MAC without receiving any packets >> (MLME_RESET.request(TRUE) task). >> Has anyone ever faced such problems and knows any possible solution? >> >> Yours, >> Aziz Khakulov >> >> >> _______________________________________________ >> Tinyos-help mailing list >> [email protected] >> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help >> > > > _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
