Hi,

I have a question on mica/ChannelMonC.nc, the implementation of the CSMA/CA on mica. The code below shows that

    uint8_t bit = TOSH_READ_RFM_RXD_PIN();
    CM_search[0] <<= 1;
    CM_search[0] = CM_search[0] | (bit & 0x1);
        if ((CM_search[0] & 0xfff) == 0) {                           // 12 clock ticks
          CM_waiting = -1;
          signal ChannelMon.idleDetect();
        }

after a random delay, it checks if during the past 12 clock ticks a single 1 bit is received. If not, then it signals that channel is idle. But my question is if some node is transmitting a long sequence of 0s, then the idleness is falsely detected. Why is it so?



Regards,
Haibin
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to