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
