This should not be the case, as packets are only sent as a respone and after a short waiting period (20ms). Thus, the two motes can never send at the same time.
> Unless you have some randomisation before you transmit packets, sounds like > your packets are interfering with each other. SendDone can be signaled even > if packet's lost in propagation (I think..). > >> -----Original Message----- >> From: tinyos-help-boun...@millennium.berkeley.edu >> [mailto:tinyos-help-boun...@millennium.berkeley.edu]on Behalf Of Simon >> Eberz >> Sent: 28 October 2010 18:42 >> To: tinyos-help@millennium.berkeley.edu >> Subject: [Tinyos-help] Broadcast packet not received by all motes >> >> >> Hi, >> >> I'm implementing a simple message exchange between two motes >> (to measure >> the RSSI, but this is not of interest) and >> send the messages as broadcasts. >> I'm using the TinyOS Basestation application with the Listen-Tool to >> check which messages have been sent. >> Here's the problem: I have two motes (call them A and B) with nearly >> identical code flashed to them. >> A sends a message (broadcast), and after that each mote will >> send a new >> broadcast after receiving a packet. >> All messages sent by A are also received, and thus displayed, by the >> BaseStation-mote, and the LEDs indicate that >> all messages are also received by B [otherwise only one >> message would be >> sent anyway]. >> But, when B sends a message, it seems to be received by A [as >> A responds >> with yet another packet], but is not displayed >> by the BaseStation-App. I tried to verify this by flashing a >> third mote >> with custom code, same issue. >> If I just call the SendProbe-method [see below] on mote B it >> works fine >> and switching motes doesn't help either. >> LEDs suggest that the SendDone-Event is triggered on both motes. >> Ultimately, it seems that the broadcasts are only received by >> the mote >> from which the last message was received (?). >> Is there any property of broadcasts that I am not aware of? >> Here is the (relevant) code I use: >> >> void SendProbe(){ >> probe = (ProbeMsg*)(call Packet.getPayload(&pkt,NULL)); >> probe->source = 1; >> probe->counter = counter; >> call AMSend.send(AM_BROADCAST_ADDR,&pkt, sizeof(ProbeMsg)); >> } >> >> event message_t * Receive.receive(message_t *msg, void *payload, >> uint8_t len){ >> if(len==sizeof(ProbeMsg)){ >> probe = (ProbeMsg*)payload; >> call Timer.startOneShot(DELAY_BETWEEN_PROBES); >> } >> return msg; >> } >> >> event void Timer.fired(){ >> SendProbe(); >> } >> >> >> Thanks for your help >> _______________________________________________ >> Tinyos-help mailing list >> Tinyos-help@millennium.berkeley.edu >> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/t > inyos-help > > Please consider the environment before printing a hard copy of this > e-mail. > > The information contained in this e-mail is confidential. It is intended > only for the stated addressee(s) and access to it by any other person is > unauthorised. If you are not an addressee, you must not disclose, copy, > circulate or in any other way use or rely on the information contained in > this e-mail. Such unauthorised use may be unlawful. If you have received > this e-mail in error, please inform us immediately on +44 (0)118 986 8601 > and delete it and all copies from your system. > > Thales Research and Technology (UK) Limited. A company registered in > England and Wales. Registered Office: 2 Dashwood Lang Road, The Bourne > Business Park, Addlestone, Weybridge, Surrey KT15 2NX. Registered Number: > 774298 > > Thales UK Limited. A company registered in England and Wales. Registered > Office: 2 Dashwood Lang Road, The Bourne Business Park, Addlestone, > Weybridge, Surrey KT15 2NX. Registered Number: 868273 > > _______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help