On Dec 9, 2007, at 7:35 AM, Ms Mesho wrote:
hello,
I have noticed that in TOSSIM, if a mote is busy receiving a
packet, then a newly received packet will be discarded, however,
the fisrt packet will be received successfuly. Does this means
that collissions are not possible in TOSSIM? attached is the code
from the CpmModelC.nc file which is responsible for the receiving
of a packet:
// If I'm off, I never receive the packet, but I need to keep
track of
// it in case I turn on and someone else starts sending me a
weaker
// packet. So I don't set receiving to 1, but I keep track of
// the signal strength.
if (!sim_mote_is_on(sim_node())) {
dbg("CpmModelC", "Lost packet from %i due to %i being off\n",
source, sim_node());
rcv->lost = 1;
}
else if (!shouldReceive(power - noiseStr)) {
rcv->lost = 1;
}
else if (receiving) {
rcv->lost = 1;
}
else {
receiving = 1;
rcv->next = outstandingReceptionHead;
outstandingReceptionHead = rcv;
evt = allocate_receive_event(endTime, rcv);
sim_queue_insert(evt);
}
This is a limitation in 2.0.2. It's been fixed in CVS. Now packets
can be lost if a strong enough packet arrives during a reception.
Phil
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help