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

Reply via email to