#include "cad.h" #include "radio.h" States_t State = LOWPOWER; CadRx_t CadRx = CAD_FAIL; bool PacketReceived = false; bool RxTimeoutTimerIrqFlag = false; uint16_t channelActivityDetectedCnt = 0; uint16_t RxCorrectCnt = 0; uint16_t RxErrorCnt = 0; uint16_t RxTimeoutCnt = 0; uint16_t SymbTimeoutCnt = 0; int16_t RssiMoy = 0; int8_t SnrMoy = 0; void OnCadDone( bool channelActivityDetected) { Radio.Standby( ); if( channelActivityDetected == true ) { CadRx = CAD_SUCCESS; } else { CadRx = CAD_FAIL; } State = RX; } void SX126xConfigureCad( RadioLoRaCadSymbols_t cadSymbolNum, uint8_t cadDetPeak, uint8_t cadDetMin , uint32_t cadTimeout) { SX126xSetDioIrqParams( IRQ_CAD_DONE | IRQ_CAD_ACTIVITY_DETECTED, IRQ_CAD_DONE | IRQ_CAD_ACTIVITY_DETECTED, IRQ_RADIO_NONE, IRQ_RADIO_NONE ); SX126xSetCadParams( cadSymbolNum, cadDetPeak, cadDetMin, LORA_CAD_ONLY, ((cadTimeout * 1000) / 15.625 )); } //static void CADTimeoutTimeoutIrq( void ) //{ // Radio.Standby( ); // State = START_CAD; //} //static void RxTimeoutTimerIrq( void ) //{ // RxTimeoutTimerIrqFlag = true; //}