0

Any one guide me how I disable built in CRC from Tinyos?

Morgoth
  • 4,935
  • 8
  • 40
  • 66
  • You mean CRC in a radio receiver? Provide more details: what platform, what radio chip, and so on. – maral Mar 18 '17 at 20:11
  • yes, Herewith some information about tinyos radio chip:The CC2420 is a true single-chip 2.4 GHz IEEE 802.15.4 compliant RF transceiver designed for low-power and low-voltage wireless applications. CC2420 includes a digital direct sequence spread spectrum baseband modem providing a spreading gain of 9 dB and an effective data rate of 250 kbps. – Hami_Naeem Mar 20 '17 at 06:22

1 Answers1

0

Go to the relevant receiveP module and remove the CRC check in there. For instance in the popular CC2420 transciever (used in TelosB) the CRC is checked in line 646 of the CC2420ReceiveP module (code excerpt from CC2420ReceiveP below).

 // We may have received an ack that should be processed by Transmit
      // buf[rxFrameLength] >> 7 checks the CRC
      if ( ( buf[ rxFrameLength ] >> 7 ) && rx_buf ) {
        uint8_t type = ( header->fcf >> IEEE154_FCF_FRAME_TYPE ) & 7;
        signal CC2420Receive.receive( type, m_p_rx_buf );
        if ( type == IEEE154_TYPE_DATA ) {
          post receiveDone_task();
          return;
        }
      }

You should note the transceiver will still drop some bad packets although you can change it's configuration in various ways to make sure it lets more of the bad packets through.

KillaKem
  • 995
  • 1
  • 13
  • 29