Any help? I also tested the "RadioCountToLedsC" application but the AMSend.sendDone event isn't signaled! Whats the problem ?
Thanks On Mon, Nov 9, 2009 at 7:23 PM, mojtaba raznahan <mojtaba.razna...@gmail.com > wrote: > Hi, > > Im writing a simple application to test send and receive of motes > .AMSend.send command works but AMSend.sendDone event isn't signaled after > sending so the busy flag does'nt change to false. and in the next time the > AMSend.send command does not return SUCCESS . > this is my code : > > event void Boot.booted() { > dbg("Boot","Booted at time %s .\n",sim_time_string()); > call AMControl.start(); > } > > event void AMControl.startDone(error_t err) > { > dbg("Control","AMControl started %s .\n",sim_time_string()); > if(err == SUCCESS) { > if(TOS_NODE_ID == 1 ) { > dbg("Base","This is the base station...ready for sending packets > %s.\n",sim_time_string()); > call Timer.startPeriodic(TIMER_DELAY); > } > } > else > call AMControl.start(); > } > > event void AMControl.stopDone(error_t err) > { > > } > > event void Timer.fired() > { > > if(!busy) > { > > > RbsMsg* data = (RbsMsg*) ( call > Packet.getPayload(&pkt,sizeof(RbsMsg))); > data->count = counter; > if( call AMSend.send(AM_BROADCAST_ADDR,&pkt,sizeof(RbsMsg)) == > SUCCESS) > { > dbg("Base","Packet sent %s.\n",sim_time_string()); > busy= TRUE; > counter++; > } > else > dbg("Base","was not SUCCESSFULL %s .\n",sim_time_string()); > > } > > } > > -------------------- > event void AMSend.sendDone(message_t* bufPtr, error_t error) > { > > if (&pkt == bufPtr) { > busy = FALSE; > dbg("Base","send Done %s .\n",sim_time_string()); > } > > } > > and this is my simulation code with python : > > #! /usr/bin/python > > import sys > import random > from TOSSIM import * > t = Tossim([]) > r = t.radio(); > > for i in range (0, 3): > m = t.getNode(i); > m.bootAtTime(1000 * i+ 1); > > r.add(1, 0, -54.0); > r.add(1, 2, -54.0); > r.add(0, 2, -20.0); > r.add(2, 0, -20.0); > > > t.addChannel("Boot",sys.stdout); > t.addChannel("Base",sys.stdout); > t.addChannel("Receive",sys.stdout); > t.addChannel("Control",sys.stdout); > > for i in range(0, 20000): > t.runNextEvent(); > > > Would you help me please? i really need your helps. > > Regards, > -- > Mojtaba Raznahan > BS of Computer engineering > TMU university > www.raznahan.com > -- Mojtaba Raznahan BS of Computer engineering TMU university www.raznahan.com
_______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help