void zb_clear_sniffer() { /* Stop serial transmit, if enabled */ #ifndef ZB_SNIFFER_USB_TRACE ZB_CLEAR_SERIAL_TRANSMIT_FLAG(); ZB_DISABLE_SERIAL_INTER(); #endif /* Turn off radio */ ISRFOFF(); ISFLUSHRX(); /* Clear output buffer */ bufFlush(&rbTxBuf); }
/*********************************************************************************** * @fn halRfInit * * @brief Power up, sets default tuning settings, enables autoack, enables random * generator. * * @param none * * @return SUCCESS always (for interface compatibility) */ uint8 halRfInit(void) { uint8 i; // turning on power to analog part of radio and waiting for voltage regulator. RFPWR = 0x04; while( RFPWR & 0x10 ); // Setting for AUTO CRC and AUTOACK MDMCTRL0L |= (AUTO_CRC | AUTO_ACK); // Turning on AUTO_TX2RX FSMTC1 = ((FSMTC1 & (~AUTO_TX2RX_OFF & ~RX2RX_TIME_OFF)) | ACCEPT_ACKPKT); // Turning off abortRxOnSrxon. FSMTC1 &= ~0x20; // Set FIFOP threshold to maximum IOCFG0 = 0x7F; // tuning adjustments for optimal radio performance; details available in datasheet */ RXCTRL0H = 0x32; RXCTRL0L = 0xF5; // Turning on receiver to get output from IF-ADC ISRXON(); halMcuWaitUs(1); // Enable random generator ADCCON1 &= ~0x0C; for(i = 0 ; i < 32 ; i++) { RNDH = ADCTSTH; // Clock random generator ADCCON1 |= 0x04; } ISRFOFF(); // Enable CC2591 with High Gain Mode halPaLnaInit(); halRfEnableRxInterrupt(); return SUCCESS; }
/*********************************************************************************** * @fn halRfReceiveOff * * @brief Turn receiver off * * @param none * * @return none */ void halRfReceiveOff(void) { ISRFOFF(); ISFLUSHRX(); // Making sure that the TX FIFO is empty. }
/*********************************************************************************** * @fn halRfReceiveOff * * @brief Turn receiver off * * @param none * * @return none */ void halRfReceiveOff(void) { ISRFOFF(); FLUSH_RX_FIFO(); }