cancel
Showing results for 
Search instead for 
Did you mean: 

S2LP sniff mode

Evgeny M
Associate II

Hi,

I successfully configured the transceiver RX mode with RX always ON.
Now I'm trying to use Sniff mode. Basically I copied the example from S2LP DK.

 

 

// Below the code relevant for sniff mode. Initial radio, packet and address // configuration is done the same for RX and TX S2LPGpioIrqDeInit(NULL); S2LPGpioIrqConfig(RX_DATA_READY, S_ENABLE); // this line is not from the example. // but without additional IRQs the S2LP ends up in the SLEEP_NO_FIFO S2LPGpioIrqConfig(RX_SNIFF_TIMEOUT, S_ENABLE); SRssiInit xSRssiInit = { .cRssiFlt = 14, .xRssiMode = RSSI_STATIC_MODE, .cRssiThreshdBm = -70, }; S2LPRadioRssiInit(&xSRssiInit); S2LPGpioIrqClearStatus(); S2LPCmdStrobeFlushRxFifo(); /* set the LDC mode wkup */ S2LPTimerSetWakeUpTimerUs(1000*MIN_PERIOD_WAKEUP); /* set the rx timeout */ S2LPTimerSetRxTimerUs(30000); /* use SLEEP_A mode (default) */ S2LPTimerSleepB(S_DISABLE); /* enable LDC mode, FAST RX TERM and start Rx */ S2LPTimerLdcrMode(S_ENABLE); /* enable the fast rx timer */ S2LpTimerFastRxTermTimer(S_ENABLE); S2LPCmdStrobeRx();
View more

 

 

S2LP goes into WAIT_SLEEP mode and stays there indefinitely. I get no any interrupts when trying to send packets from the second board with the correct preamble and sync word.

I even tried to enable all interrupts using `S2LPGpioIrqConfig(ALL_IRQ, S_ENABLE);`
Still no interrupts are triggered in the WAIT_SLEEP mode.

It looks like it never wakes up. Do I miss something or the example is wrong? The LDCR example looks a bit different, although it should be almost the same excluding sync stuff?

Thanks in advance

1 ACCEPTED SOLUTION

Accepted Solutions
Evgeny M
Associate II

ok, got it work.

It turned out that enabling interrupts other than RX_DATA_READY was a mistake

View solution in original post

1 REPLY 1
Evgeny M
Associate II

ok, got it work.

It turned out that enabling interrupts other than RX_DATA_READY was a mistake