Only one device can "own" the radio channel at a time. If a mote is receiving a message at the same time that its program initiates a message send, the send will wait until the channel is clear before actually starting. That's one of the reasons sending has two phases, the send() effectively queues the message (note that the "queue" is only one message deep) and the sendDone() can happen sometime later.
If you are getting a good ACK in sendDone() the message should have been received correctly at the other end. Perhaps your message handling code is hot as robust as it should be? MS giorgio wrote: > What happen if I receice while I'am sending ?Sorry I'am using the > CC2420ActiveMessageC component and I'd like that my node send and receive > via > radio to other nodes .So I think that it can happen that while receive a > packet it try to make a send and in that case it obtain a EBUSY but what > error > or what happen if it begin to receive a packet while it is sending or it > isn't > impossible because the channel is csma/ca ? > I sometimes lose a packet and I don't know where is the error because all of > the commands that I use return SUCCESS .I use packetacknoledge and send me > always that it is ok but some packet are lost or the receive lost packet. > If someone have some test o idea I really appreciate that. > Thank in advance > > Giorgio > _______________________________________________ > 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
