I am just wondering how the user level code is written, maybe the bug is there. If you have a public repository, then I will take a look. Basically I wanted to see how you receive and resend the message. Miklos
On Wed, Oct 24, 2012 at 1:04 PM, Oldrine Lewis <ole...@sutron.com> wrote: > Hi Miklos, > Thanks for the speedy response. My entire project is quite large... is there > any specific portion/part I can extract that would be more useful ? > > The portion of code I initially posted is from RF230DriverLayerP.nc > > tasklet_async command error_t RadioSend.send(message_t* msg) > { > uint16_t time; > uint8_t length; > uint8_t* data; > uint8_t header; > uint32_t time32; > void* timesync; > > if( cmd != CMD_NONE || state != STATE_RX_ON || ! > isSpiAcquired() || radioIrq ) > { > FormatDbgStr("FAT : > cmd=%d,st=%d,spAq=%d,rIrq=%d\r\n",cmd, state,isSpiAcquired(), radioIrq ); > return EBUSY; > } > ... > ... > ... > > } > > > > > > Thanks, > Lewis > > > > -----Original Message----- > From: mmar...@gmail.com [mailto:mmar...@gmail.com] On Behalf Of Miklos Maroti > Sent: Wednesday, October 24, 2012 1:58 PM > To: Oldrine Lewis > Cc: tinyos-help@millennium.berkeley.edu > Subject: Re: [Tinyos-help] iris radio locked - returns BUSY forever > > Can you post your code too? Miklos > > On Wed, Oct 24, 2012 at 12:53 PM, Oldrine Lewis <ole...@sutron.com> wrote: >> I have four Iris nodes and all are broadcasting (flooding the network) a >> message. Each node after receiving a msg waits for a random period and >> re-broadcasts the msg. >> >> I noticed that after a few seconds the radio stack locks up and returns >> EBUSY forever. >> >> I put a few debug statements in RadioSend.send() (file = >> RF230DriverLayerP.nc). >> >> >> >> >> >> if( cmd != CMD_NONE || state != STATE_RX_ON || ! isSpiAcquired() || radioIrq >> ) >> >> { >> >> FormatDbgStr("FAT : cmd=%d,st=%d,spAq=%d,rIrq=%d\r\n",cmd, >> state,isSpiAcquired(), radioIrq ); >> >> return EBUSY; >> >> } >> >> The error log I got looked like this before the send failed. >> >> >> >> FAT : cmd=5,st=5,spAq=1,rIrq=0 >> >> FAT : cmd=5,st=5,spAq=1,rIrq=0 >> >> FAT : cmd=5,st=5,spAq=1,rIrq=0 >> >> FAT : cmd=5,st=5,spAq=1,rIrq=0 >> >> FAT : cmd=5,st=5,spAq=1,rIrq=0 >> >> FAT : cmd=5,st=5,spAq=1,rIrq=0 >> >> FAT : cmd=5,st=5,spAq=1,rIrq=0 >> >> FAT : cmd=5,st=5,spAq=1,rIrq=0 >> >> FAT : cmd=0,st=7,spAq=1,rIrq=0 >> >> FAT : cmd=0,st=7,spAq=1,rIrq=0 >> >> FAT : cmd=0,st=7,spAq=1,rIrq=0 >> >> FAT : cmd=0,st=7,spAq=1,rIrq=0 >> >> FAT : cmd=0,st=7,spAq=1,rIrq=0 >> >> FAT : cmd=0,st=7,spAq=1,rIrq=0 >> >> FAT : cmd=0,st=7,spAq=1,rIrq=0 >> >> FAT : cmd=0,st=7,spAq=1,rIrq=0 >> >> It seems that the state and cmd variable somehow get out of sync. >> >> Other settings in makefile >> >> CFLAGS += -DTASKLET_IS_TASK >> >> >> >> I am investigating this further and would like to know if anyone has >> experienced something similar >> >> >> >> Thanks in advance. >> >> >> >> >> _______________________________________________ >> Tinyos-help mailing list >> Tinyos-help@millennium.berkeley.edu >> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help _______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help