AX5243 WOR Example from AX RADIO LAB Interrupt MCU at WOR interval

Hi,

I am testing WOR example from AX RADIO LAB with DVK-2 as base MCU and My custom board connected via SPI and INT GPIO from DVK2. What I am seeing is there is an interrupt from AX5243 at rate of WOR interval, e.g. 200ms in default example code for WOR. Is it due to wakeup timer In my application where we are using different MCU will not allow to wake up. From data sheet, it is mentioned that Radio will wake up MCU if a packet is received successfully.

Where can I change in AX radiolab generated code for WOR to evaluate MCU wakeup on only packet reception.

On Tx side I am using EVB DVK2 base board with our custom daugher board with spi and INT pin connected and two RX one is EVB with your example code running on DVK it is receving data at every one second. But in my second receiver in which custom board with NRF52 MCU only receiving certain packet but after reboot it always receives first packet.

I think it is due to below code in example called from timer callback for polling

for(;; )
    {
        wtimer_runcallbacks();
        __disable_irq();
        {
            uint8_t flg = WTFLAG_CANSTANDBY;
#ifdef MCU_SLEEP

            if (axradio_cansleep()
#ifdef USE_DBGLINK
                    && dbglink_txidle()
#endif /* USE_DBGLINK */
                    && display_txidle())
                flg |= WTFLAG_CANSLEEP;
#endif /* MCU_SLEEP */
            wtimer_idle(flg);
        }
        __enable_irq();
    }

My problem is with my custom board Only first packet is received, and after sometime one more packet received like after 100 seconds I am trying from long time, but it is not resolving, and I completely lost hope now.

Log file

[00:00:03.904,174] app: receive_isr, fifo_cmd: 0010
[00:00:03.904,479] app: receive_isr, fifo_cmd: 0001
[00:00:03.905,029] app: receive_isr, fifo_cmd: 0011
[00:00:03.905,212] app: receive_isr, fifo_cmd: 0013
[00:00:03.905,456] app: AX5043_FIFOCMD_RFFREQOFFS: 2714
[00:00:03.905,578] app: AX RF RX:L 9, rssi: -29, Data:

[00:00:03.906,738] app: 09 33 34 16 00 55 66 77| 34…Ufw
[00:00:03.906,738] app: 88 |.
[00:00:03.907,043] app: $$ axradio_set_channel

[00:00:03.907,714] app: $$ SUB1 IRQ
[00:00:03.907,958] app: $$ ax5043_receiver_on_wor, wp: 160

[00:00:03.908,203] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.908,508] app: $$ SUB1 IRQ
[00:00:03.908,569] app: $$ receive_isr

[00:00:03.909,729] app: receive_isr, radioStateTemp: 000C, 20
[00:00:03.909,912] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.910,278] app: $$ SUB1 IRQ
[00:00:03.910,339] app: $$ receive_isr

[00:00:03.910,522] app: receive_isr, radioStateTemp: 000C, 16
[00:00:03.910,644] app: $$ SUB1 IRQ
[00:00:03.910,644] app: $$ SUB1 IRQ
radioStateTemp: 000C, 16
[00:00:03.910,644] app: $$ SUB1 IRQ
[00:00:03.912,048] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.913,452] app: $$ receive_isr

[00:00:03.913,635] app: receive_isr, radioStateTemp: 0000, 0
[00:01:45.650,329] app: $$ SUB1 IRQ
[00:01:45.650,451] app: $$ Radio_Process, axradio_trxstate: 2

[00:01:45.650,756] app: $$ receive_isr

[00:01:45.650,939] app: receive_isr, radioStateTemp: 0000, 0
[00:01:45.655,334] app: $$ SUB1 IRQ
[00:01:45.655,456] app: $$ Radio_Process, axradio_trxstate: 2

[00:01:45.655,883] app: $$ receive_isr

[00:01:45.656,066] app: receive_isr, radioStateTemp: 0000, 0
[00:01:45.850,158] app: $$ SUB1 IRQ
[00:01:45.850,280] app: $$ Radio_Process, axradio_trxstate: 2

[00:01:45.850,585] app: $$ receive_isr

[00:01:45.850,769] app: receive_isr, radioStateTemp: 0000, 0
[00:01:45.907,226] app: $$ SUB1 IRQ
[00:01:45.907,287] app: $$ Radio_Process, axradio_trxstate: 2

[00:01:45.907,775] app: $$ receive_isr

[00:01:45.907,958] app: receive_isr, radioStateTemp: 0001, 31
[00:01:45.908,142] app: receive_isr, fifo_cmd: 0010
[00:01:45.908,447] app: receive_isr, fifo_cmd: 0001
[00:01:45.908,996] app: receive_isr, fifo_cmd: 0011
[00:01:45.909,240] app: receive_isr, fifo_cmd: 0013
[00:01:45.909,423] app: AX5043_FIFOCMD_RFFREQOFFS: 2744
[00:01:45.909,606] app: AX RF RX:L 9, rssi: -28, Data:

[00:01:45.909,729] app: 09 33 34 5C 00 55 66 77| 34.Ufw
[00:01:45.909,729] app: 88 |.
[00:01:45.910,034] app: $$ axradio_set_channel

[00:01:45.910,888] app: $$ ax5043_receiver_on_wor, wp: 160

[00:03:28.053,405] app: $$ SUB1 IRQ
[00:03:28.053,466] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.053,771] app: $$ receive_isr

[00:03:28.053,955] app: receive_isr, radioStateTemp: 0000, 0
[00:03:28.058,288] app: $$ SUB1 IRQ
[00:03:28.058,410] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.058,837] app: $$ receive_isr

[00:03:28.059,020] app: receive_isr, radioStateTemp: 0000, 0
[00:03:28.253,173] app: $$ SUB1 IRQ
[00:03:28.253,295] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.253,601] app: $$ receive_isr

[00:03:28.253,784] app: receive_isr, radioStateTemp: 0000, 0
[00:03:28.258,117] app: $$ SUB1 IRQ
[00:03:28.258,239] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.258,666] app: $$ receive_isr

[00:03:28.258,850] app: receive_isr, radioStateTemp: 0000, 0
[00:03:28.453,247] app: $$ SUB1 IRQ
[00:03:28.453,369] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.453,674] app: $$ receive_isr

[00:03:28.453,857] app: receive_isr, radioStateTemp: 0000, 0
[00:03:28.458,190] app: $$ SUB1 IRQ
[00:03:28.458,312] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.458,740] app: $$ receive_isr

[00:03:28.458,923] app: receive_isr, radioStateTemp: 0000, 0
[00:03:28.653,137] app: $$ SUB1 IRQ
[00:03:28.653,259] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.653,564] app: $$ receive_isr

[00:03:28.653,747] app: receive_isr, radioStateTemp: 0000, 0
[00:03:28.658,081] app: $$ SUB1 IRQ
[00:03:28.658,203] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.658,630] app: $$ receive_isr

[00:03:28.658,813] app: receive_isr, radioStateTemp: 0000, 0
[00:03:28.853,149] app: $$ SUB1 IRQ
[00:03:28.853,271] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.853,576] app: $$ receive_isr

[00:03:28.853,759] app: receive_isr, radioStateTemp: 0000, 0
[00:03:28.858,093] app: $$ SUB1 IRQ
[00:03:28.858,215] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:28.858,642] app: $$ receive_isr

[00:03:28.858,825] app: receive_isr, radioStateTemp: 0000, 0
[00:03:29.053,100] app: $$ SUB1 IRQ
[00:03:29.053,161] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:29.053,527] app: $$ receive_isr

[00:03:29.053,649] app: receive_isr, radioStateTemp: 0000, 0
[00:03:29.058,105] app: $$ SUB1 IRQ
[00:03:29.058,227] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:29.058,654] app: $$ receive_isr

[00:03:29.058,837] app: receive_isr, radioStateTemp: 0000, 0
[00:03:29.253,051] app: $$ SUB1 IRQ
[00:03:29.253,173] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:29.253,479] app: $$ receive_isr

[00:03:29.253,662] app: receive_isr, radioStateTemp: 0000, 0
[00:03:29.381,164] app: $$ SUB1 IRQ
[00:03:29.381,286] app: $$ Radio_Process, axradio_trxstate: 2

[00:03:29.381,713] app: $$ receive_isr

[00:03:29.381,896] app: receive_isr, radioStateTemp: 0001, 31
[00:03:29.382,080] app: receive_isr, fifo_cmd: 0010
[00:03:29.382,385] app: receive_isr, fifo_cmd: 0001
[00:03:29.382,934] app: receive_isr, fifo_cmd: 0011
[00:03:29.383,178] app: receive_isr, fifo_cmd: 0013
[00:03:29.383,422] app: AX5043_FIFOCMD_RFFREQOFFS: 2761
[00:03:29.383,544] app: AX RF RX:L 9, rssi: -29, Data:

[00:03:29.383,666] app: 09 33 34 A3 00 55 66 77| 34…Ufw
[00:03:29.383,666] app: 88 |.
[00:03:29.383,972] app: $$ axradio_set_channel

[00:03:29.384,826] app: $$ ax5043_receiver_on_wor, wp: 160

[00:05:10.464,050] app: $$ SUB1 IRQ
[00:05:10.464,172] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:10.464,477] app: $$ receive_isr

[00:05:10.464,660] app: receive_isr, radioStateTemp: 0000, 0
[00:05:10.468,994] app: $$ SUB1 IRQ
[00:05:10.469,116] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:10.469,543] app: $$ receive_isr

[00:05:10.469,726] app: receive_isr, radioStateTemp: 0000, 0
[00:05:10.663,879] app: $$ SUB1 IRQ
[00:05:10.664,001] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:10.664,306] app: $$ receive_isr

[00:05:10.664,489] app: receive_isr, radioStateTemp: 0000, 0
[00:05:10.668,884] app: $$ SUB1 IRQ
[00:05:10.669,006] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:10.669,433] app: $$ receive_isr

[00:05:10.669,616] app: receive_isr, radioStateTemp: 0000, 0
[00:05:10.863,891] app: $$ SUB1 IRQ
[00:05:10.863,952] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:10.864,318] app: $$ receive_isr

[00:05:10.864,440] app: receive_isr, radioStateTemp: 0000, 0
[00:05:10.868,835] app: $$ SUB1 IRQ
[00:05:10.868,957] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:10.869,384] app: $$ receive_isr

[00:05:10.869,567] app: receive_isr, radioStateTemp: 0000, 0
[00:05:11.063,842] app: $$ SUB1 IRQ
[00:05:11.063,964] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:11.064,270] app: $$ receive_isr

[00:05:11.064,453] app: receive_isr, radioStateTemp: 0000, 0
[00:05:11.068,847] app: $$ SUB1 IRQ
[00:05:11.068,969] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:11.069,396] app: $$ receive_isr

[00:05:11.069,580] app: receive_isr, radioStateTemp: 0000, 0
[00:05:11.262,207] app: $$ SUB1 IRQ
[00:05:11.262,329] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:11.262,634] app: $$ receive_isr

[00:05:11.262,817] app: receive_isr, radioStateTemp: 0000, 0
[00:05:11.373,474] app: $$ SUB1 IRQ
[00:05:11.373,535] app: $$ Radio_Process, axradio_trxstate: 2

[00:05:11.374,023] app: $$ receive_isr

[00:05:11.374,145] app: receive_isr, radioStateTemp: 0001, 31
[00:05:11.374,389] app: receive_isr, fifo_cmd: 0010
[00:05:11.374,694] app: receive_isr, fifo_cmd: 0001
[00:05:11.375,244] app: receive_isr, fifo_cmd: 0011
[00:05:11.375,427] app: receive_isr, fifo_cmd: 0013
[00:05:11.375,671] app: AX5043_FIFOCMD_RFFREQOFFS: 2739
[00:05:11.375,793] app: AX RF RX:L 9, rssi: -28, Data:

[00:05:11.375,976] app: 09 33 34 E9 00 55 66 77| 34…Ufw
[00:05:11.375,976] app: 88 |.
[00:05:11.377,258] app: $$ axradio_set_channel

[00:05:11.378,112] app: $$ ax5043_receiver_on_wor, wp: 160

[00:06:52.857,971] app: $$ SUB1 IRQ
[00:06:52.858,093] app: $$ Radio_Process, axradio_trxstate: 2

[00:06:52.858,398] app: $$ receive_isr

[00:06:52.858,581] app: receive_isr, radioStateTemp: 0000, 0
[00:06:52.862,915] app: $$ SUB1 IRQ
[00:06:52.863,037] app: $$ Radio_Process, axradio_trxstate: 2

[00:06:52.863,464] app: $$ receive_isr

[00:06:52.863,647] app: receive_isr, radioStateTemp: 0000, 0
[00:06:53.057,678] app: $$ SUB1 IRQ
[00:06:53.057,800] app: $$ Radio_Process, axradio_trxstate: 2

[00:06:53.058,105] app: $$ receive_isr

[00:06:53.058,227] app: receive_isr, radioStateTemp: 0000, 0
[00:06:53.062,622] app: $$ SUB1 IRQ
[00:06:53.062,744] app: $$ Radio_Process, axradio_trxstate: 2

[00:06:53.063,171] app: $$ receive_isr

[00:06:53.063,354] app: receive_isr, radioStateTemp: 0000, 0
[00:06:53.257,629] app: $$ SUB1 IRQ
[00:06:53.257,751] app: $$ Radio_Process, axradio_trxstate: 2

[00:06:53.258,056] app: $$ receive_isr

[00:06:53.258,239] app: receive_isr, radioStateTemp: 0000, 0
[00:06:53.365,173] app: $$ SUB1 IRQ
[00:06:53.365,295] app: $$ Radio_Process, axradio_trxstate: 2

[00:06:53.365,722] app: $$ receive_isr

[00:06:53.365,905] app: receive_isr, radioStateTemp: 0001, 31
[00:06:53.366,088] app: receive_isr, fifo_cmd: 0010
[00:06:53.366,394] app: receive_isr, fifo_cmd: 0001
[00:06:53.366,943] app: receive_isr, fifo_cmd: 0011
[00:06:53.367,187] app: receive_isr, fifo_cmd: 0013
[00:06:53.367,370] app: AX5043_FIFOCMD_RFFREQOFFS: 2758
[00:06:53.367,553] app: AX RF RX:L 9, rssi: -28, Data:

[00:06:53.367,675] app: 09 33 34 2F 01 55 66 77| 34/.Ufw
[00:06:53.367,675] app: 88 |.
[00:06:53.368,957] app: $$ axradio_set_channel

[00:06:53.369,812] app: $$ ax5043_receiver_on_wor, wp: 160

[00:08:35.254,150] app: $$ SUB1 IRQ
[00:08:35.254,272] app: $$ Radio_Process, axradio_trxstate: 2

[00:08:35.254,577] app: $$ receive_isr

[00:08:35.254,760] app: receive_isr, radioStateTemp: 0000, 0
[00:08:35.362,670] app: $$ SUB1 IRQ
[00:08:35.362,731] app: $$ Radio_Process, axradio_trxstate: 2

[00:08:35.363,220] app: $$ receive_isr

[00:08:35.363,342] app: receive_isr, radioStateTemp: 0001, 31
[00:08:35.363,586] app: receive_isr, fifo_cmd: 0010
[00:08:35.363,891] app: receive_isr, fifo_cmd: 0001
[00:08:35.364,440] app: receive_isr, fifo_cmd: 0011
[00:08:35.364,624] app: receive_isr, fifo_cmd: 0013
[00:08:35.364,868] app: AX5043_FIFOCMD_RFFREQOFFS: 2777
[00:08:35.365,051] app: AX RF RX:L 9, rssi: -28, Data:

[00:08:35.365,173] app: 09 33 34 75 01 55 66 77| 34u.Ufw
[00:08:35.365,173] app: 88 |.
[00:08:35.365,478] app: $$ axradio_set_channel

[00:08:35.366,271] app: $$ ax5043_receiver_on_wor, wp: 160

[00:10:17.649,291] app: $$ SUB1 IRQ
[00:10:17.649,414] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:17.649,719] app: $$ receive_isr

[00:10:17.649,902] app: receive_isr, radioStateTemp: 0000, 0
[00:10:17.654,235] app: $$ SUB1 IRQ
[00:10:17.654,357] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:17.654,785] app: $$ receive_isr

[00:10:17.654,968] app: receive_isr, radioStateTemp: 0000, 0
[00:10:17.849,243] app: $$ SUB1 IRQ
[00:10:17.849,365] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:17.849,670] app: $$ receive_isr

[00:10:17.849,853] app: receive_isr, radioStateTemp: 0000, 0
[00:10:17.854,248] app: $$ SUB1 IRQ
[00:10:17.854,370] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:17.854,797] app: $$ receive_isr

[00:10:17.854,980] app: receive_isr, radioStateTemp: 0000, 0
[00:10:18.049,133] app: $$ SUB1 IRQ
[00:10:18.049,255] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:18.049,560] app: $$ receive_isr

[00:10:18.049,743] app: receive_isr, radioStateTemp: 0000, 0
[00:10:18.054,138] app: $$ SUB1 IRQ
[00:10:18.054,199] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:18.054,687] app: $$ receive_isr

[00:10:18.054,870] app: receive_isr, radioStateTemp: 0000, 0
[00:10:18.249,145] app: $$ SUB1 IRQ
[00:10:18.249,267] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:18.249,572] app: $$ receive_isr

[00:10:18.249,755] app: receive_isr, radioStateTemp: 0000, 0
[00:10:18.254,089] app: $$ SUB1 IRQ
[00:10:18.254,211] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:18.254,638] app: $$ receive_isr

[00:10:18.254,821] app: receive_isr, radioStateTemp: 0000, 0
[00:10:18.449,157] app: $$ SUB1 IRQ
[00:10:18.449,279] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:18.449,584] app: $$ receive_isr

[00:10:18.449,768] app: receive_isr, radioStateTemp: 0000, 0
[00:10:18.454,101] app: $$ SUB1 IRQ
[00:10:18.454,223] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:18.454,650] app: $$ receive_isr

[00:10:18.454,833] app: receive_isr, radioStateTemp: 0000, 0
[00:10:18.649,108] app: $$ SUB1 IRQ
[00:10:18.649,230] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:18.649,536] app: $$ receive_isr

[00:10:18.649,719] app: receive_isr, radioStateTemp: 0000, 0
[00:10:18.815,185] app: $$ SUB1 IRQ
[00:10:18.815,307] app: $$ Radio_Process, axradio_trxstate: 2

[00:10:18.815,734] app: $$ receive_isr

[00:10:18.815,917] app: receive_isr, radioStateTemp: 0001, 31
[00:10:18.816,162] app: receive_isr, fifo_cmd: 0010
[00:10:18.816,467] app: receive_isr, fifo_cmd: 0001
[00:10:18.817,016] app: receive_isr, fifo_cmd: 0011
[00:10:18.817,199] app: receive_isr, fifo_cmd: 0013
[00:10:18.817,443] app: AX5043_FIFOCMD_RFFREQOFFS: 2782
[00:10:18.817,565] app: AX RF RX:L 9, rssi: -29, Data:

[00:10:18.817,749] app: 09 33 34 BC 01 55 66 77| 34…Ufw
[00:10:18.817,749] app: 88 |.
[00:10:18.818,054] app: $$ axradio_set_channel

[00:10:18.818,847] app: $$ ax5043_receiver_on_wor, wp: 160

[00:12:00.027,709] app: $$ SUB1 IRQ
[00:12:00.027,832] app: $$ Radio_Process, axradio_trxstate: 2

[00:12:00.028,137] app: $$ receive_isr

[00:12:00.028,259] app: receive_isr, radioStateTemp: 0000, 0
[00:12:00.032,714] app: $$ SUB1 IRQ
[00:12:00.032,836] app: $$ Radio_Process, axradio_trxstate: 2

[00:12:00.033,264] app: $$ receive_isr

[00:12:00.033,447] app: receive_isr, radioStateTemp: 0000, 0
[00:12:00.227,600] app: $$ SUB1 IRQ
[00:12:00.227,722] app: $$ Radio_Process, axradio_trxstate: 2

[00:12:00.228,027] app: $$ receive_isr

[00:12:00.228,210] app: receive_isr, radioStateTemp: 0000, 0
[00:12:00.232,604] app: $$ SUB1 IRQ
[00:12:00.232,727] app: $$ Radio_Process, axradio_trxstate: 2

[00:12:00.233,154] app: $$ receive_isr

[00:12:00.233,337] app: receive_isr, radioStateTemp: 0000, 0
[00:12:00.427,612] app: $$ SUB1 IRQ
[00:12:00.427,734] app: $$ Radio_Process, axradio_trxstate: 2

[00:12:00.428,039] app: $$ receive_isr

[00:12:00.428,222] app: receive_isr, radioStateTemp: 0000, 0
[00:12:00.435,729] app: $$ SUB1 IRQ
[00:12:00.435,852] app: $$ Radio_Process, axradio_trxstate: 2

[00:12:00.436,279] app: $$ receive_isr

[00:12:00.436,462] app: receive_isr, radioStateTemp: 0000, 0
[00:12:00.627,624] app: $$ SUB1 IRQ
[00:12:00.627,746] app: $$ Radio_Process, axradio_trxstate: 2

[00:12:00.628,051] app: $$ receive_isr

[00:12:00.628,234] app: receive_isr, radioStateTemp: 0000, 0
[00:12:00.820,312] app: $$ SUB1 IRQ
[00:12:00.820,434] app: $$ Radio_Process, axradio_trxstate: 2

[00:12:00.820,861] app: $$ receive_isr

[00:12:00.821,044] app: receive_isr, radioStateTemp: 0001, 31
[00:12:00.821,228] app: receive_isr, fifo_cmd: 0010
[00:12:00.821,533] app: receive_isr, fifo_cmd: 0001
[00:12:00.822,082] app: receive_isr, fifo_cmd: 0011
[00:12:00.822,326] app: receive_isr, fifo_cmd: 0013
[00:12:00.822,509] app: AX5043_FIFOCMD_RFFREQOFFS: 2756
[00:12:00.822,692] app: AX RF RX:L 9, rssi: -28, Data:

[00:12:00.822,814] app: 09 33 34 02 02 55 66 77| 34…Ufw
[00:12:00.822,814] app: 88 |.
[00:12:00.823,120] app: $$ axradio_set_channel

[00:12:00.823,974] app: $$ ax5043_receiver_on_wor, wp: 160

[00:13:42.422,241] app: $$ SUB1 IRQ
[00:13:42.422,363] app: $$ Radio_Process, axradio_trxstate: 2

[00:13:42.422,668] app: $$ receive_isr

[00:13:42.422,851] app: receive_isr, radioStateTemp: 0000, 0
[00:13:42.427,185] app: $$ SUB1 IRQ
[00:13:42.427,307] app: $$ Radio_Process, axradio_trxstate: 2

[00:13:42.427,734] app: $$ receive_isr

[00:13:42.427,917] app: receive_isr, radioStateTemp: 0000, 0
[00:13:42.622,375] app: $$ SUB1 IRQ
[00:13:42.622,436] app: $$ Radio_Process, axradio_trxstate: 2

[00:13:42.622,741] app: $$ receive_isr

[00:13:42.622,924] app: receive_isr, radioStateTemp: 0000, 0
[00:13:42.814,392] app: $$ SUB1 IRQ
[00:13:42.814,514] app: $$ Radio_Process, axradio_trxstate: 2

[00:13:42.814,941] app: $$ receive_isr

[00:13:42.815,124] app: receive_isr, radioStateTemp: 0001, 31
[00:13:42.815,307] app: receive_isr, fifo_cmd: 0010
[00:13:42.815,612] app: receive_isr, fifo_cmd: 0001
[00:13:42.816,162] app: receive_isr, fifo_cmd: 0011
[00:13:42.816,406] app: receive_isr, fifo_cmd: 0013
[00:13:42.816,589] app: AX5043_FIFOCMD_RFFREQOFFS: 2742
[00:13:42.816,772] app: AX RF RX:L 9, rssi: -28, Data:

[00:13:42.816,894] app: 09 33 34 48 02 55 66 77| 34H.Ufw
[00:13:42.816,894] app: 88 |.
[00:13:42.818,237] app: $$ axradio_set_channel

[00:13:42.819,030] app: $$ ax5043_receiver_on_wor, wp: 160

Kindly see my attached code
Radio.c (59.8 KB)

Radio.h (1.7 KB)

I tried polling like in our example also but similar behaviour.

Can you help me it is now very urgent.

From main function code snippet:

Radio_Init();
#endif

Timer_100ms_AppUart_Start();

for (;;)
{
    ClearWatchdog();

    Radio_Process();
    idle_state_handle();
}

For further input If I intentionally drop chunk in receive_isr() then every second or so fifo not empty interrupt is generated, see logs for more detail.

  while (radio_read8(AX5043_REG_IRQREQUEST0) & 0x01) // while fifo not empty
    {
        fifo_cmd = radio_read8(AX5043_REG_FIFODATA); // read command
        len = (fifo_cmd & 0xE0) >> 5;                // top 3 bits encode payload len
        if (len == 7)
            len = radio_read8(AX5043_REG_FIFODATA); // 7 means variable length, -> get length byte
        fifo_cmd &= 0x1F;

        NRF_LOG_DEBUG("receive_isr, fifo_cmd: %04X", fifo_cmd);

        goto dropchunk;
please find log below

[00:00:00.001,831] app: $$ axradio_init

[00:00:00.001,953] app: $$ ax5043_reset

[00:00:00.006,591] app: $$ axradio_wait_for_xtal

[00:00:00.007,141] app: $$ SUB1 IRQ
[00:00:00.007,446] app: $$ SUB1 IRQ
[00:00:00.011,901] app: InitAX5043, AXRADIO_ERR_NOERROR
[00:00:00.012,023] app: $$ axradio_calibrate_lposc

[00:00:00.012,390] app: $$ axradio_wait_for_xtal

[00:00:00.013,000] app: $$ SUB1 IRQ
[00:00:00.013,183] app: $$ axradio_wait_n_lposccycles

[00:00:00.021,911] app: $$ axradio_wait_n_lposccycles

[00:00:03.004,333] app: $$ axradio_get_pllvcoi

[00:00:03.004,455] app: $$ ax5043_off

[00:00:03.004,577] app: $$ ax5043_off_xtal

[00:00:03.004,821] app: $$ ax5043_init_registers_rx

[00:00:03.005,065] app: $$ ax5043_init_registers_common

[00:00:03.005,249] app: $$ axradio_get_pllvcoi

[00:00:03.005,859] app: $$ ax5043_receiver_on_wor, wp: 160

[00:00:03.006,042] app: Radio Init success,Self ID is 0

[00:00:03.252,990] app: $$ SUB1 IRQ
[00:00:03.253,051] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.253,356] app: $$ receive_isr

[00:00:03.253,479] app: receive_isr, radioStateTemp: 0000, 0
[00:00:03.257,873] app: $$ SUB1 IRQ
[00:00:03.257,995] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.258,422] app: $$ receive_isr

[00:00:03.258,544] app: receive_isr, radioStateTemp: 0000, 0
[00:00:03.452,270] app: $$ SUB1 IRQ
[00:00:03.452,331] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.452,636] app: $$ receive_isr

[00:00:03.452,758] app: receive_isr, radioStateTemp: 0000, 0
[00:00:03.457,214] app: $$ SUB1 IRQ
[00:00:03.457,275] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.457,702] app: $$ receive_isr

[00:00:03.457,885] app: receive_isr, radioStateTemp: 0000, 0
[00:00:03.651,672] app: $$ SUB1 IRQ
[00:00:03.651,794] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.652,038] app: $$ receive_isr

[00:00:03.652,221] app: receive_isr, radioStateTemp: 0000, 0
[00:00:03.656,616] app: $$ SUB1 IRQ
[00:00:03.656,677] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.657,165] app: $$ receive_isr

[00:00:03.657,287] app: receive_isr, radioStateTemp: 0000, 0
[00:00:03.850,891] app: $$ SUB1 IRQ
[00:00:03.851,013] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:03.851,318] app: $$ receive_isr

[00:00:03.851,440] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.033,386] app: $$ SUB1 IRQ
[00:00:04.033,508] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.033,935] app: $$ receive_isr

[00:00:04.034,057] app: receive_isr, radioStateTemp: 0001, 31
[00:00:04.034,240] app: receive_isr, fifo_cmd: 0010
[00:00:04.034,362] app: DROP_CHUNK
[00:00:04.034,606] app: receive_isr, fifo_cmd: 0001
[00:00:04.034,729] app: DROP_CHUNK
[00:00:04.035,095] app: receive_isr, fifo_cmd: 0011
[00:00:04.035,217] app: DROP_CHUNK
[00:00:04.035,400] app: receive_isr, fifo_cmd: 0013
[00:00:04.035,522] app: DROP_CHUNK
[00:00:04.049,255] app: $$ SUB1 IRQ
[00:00:04.049,377] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.049,621] app: $$ receive_isr

[00:00:04.049,804] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.054,321] app: $$ SUB1 IRQ
[00:00:04.054,443] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.054,809] app: $$ receive_isr

[00:00:04.054,992] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.248,718] app: $$ SUB1 IRQ
[00:00:04.248,840] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.249,145] app: $$ receive_isr

[00:00:04.249,267] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.253,723] app: $$ SUB1 IRQ
[00:00:04.253,845] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.254,272] app: $$ receive_isr

[00:00:04.254,394] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.448,059] app: $$ SUB1 IRQ
[00:00:04.448,120] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.448,425] app: $$ receive_isr

[00:00:04.448,608] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.453,063] app: $$ SUB1 IRQ
[00:00:04.453,125] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.453,552] app: $$ receive_isr

[00:00:04.453,735] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.647,399] app: $$ SUB1 IRQ
[00:00:04.647,521] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.647,827] app: $$ receive_isr

[00:00:04.647,949] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.652,404] app: $$ SUB1 IRQ
[00:00:04.652,526] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.652,893] app: $$ receive_isr

[00:00:04.653,076] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.846,740] app: $$ SUB1 IRQ
[00:00:04.846,862] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.847,106] app: $$ receive_isr

[00:00:04.847,290] app: receive_isr, radioStateTemp: 0000, 0
[00:00:04.851,745] app: $$ SUB1 IRQ
[00:00:04.851,867] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:04.852,294] app: $$ receive_isr

[00:00:04.852,416] app: receive_isr, radioStateTemp: 0000, 0
[00:00:05.046,264] app: $$ SUB1 IRQ
[00:00:05.046,386] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:05.046,691] app: $$ receive_isr

[00:00:05.046,813] app: receive_isr, radioStateTemp: 0000, 0
[00:00:05.051,269] app: $$ SUB1 IRQ
[00:00:05.051,330] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:05.051,757] app: $$ receive_isr

[00:00:05.051,940] app: receive_isr, radioStateTemp: 0000, 0
[00:00:05.245,605] app: $$ SUB1 IRQ
[00:00:05.245,727] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:05.246,032] app: $$ receive_isr

[00:00:05.246,154] app: receive_isr, radioStateTemp: 0000, 0
[00:00:05.490,783] app: $$ SUB1 IRQ
[00:00:05.490,905] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:05.491,210] app: $$ receive_isr

[00:00:05.491,333] app: receive_isr, radioStateTemp: 0009, 31
[00:00:05.491,516] app: receive_isr, fifo_cmd: 0010
[00:00:05.491,638] app: DROP_CHUNK
[00:00:05.491,882] app: receive_isr, fifo_cmd: 0001
[00:00:05.492,004] app: DROP_CHUNK
[00:00:05.492,370] app: receive_isr, fifo_cmd: 0011
[00:00:05.492,492] app: DROP_CHUNK
[00:00:05.492,675] app: receive_isr, fifo_cmd: 0013
[00:00:05.492,797] app: DROP_CHUNK
[00:00:05.494,934] app: $$ SUB1 IRQ
[00:00:05.495,056] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:05.495,483] app: $$ receive_isr

[00:00:05.495,605] app: receive_isr, radioStateTemp: 0000, 0
[00:00:05.643,310] app: $$ SUB1 IRQ
[00:00:05.643,371] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:05.643,676] app: $$ receive_isr

[00:00:05.643,798] app: receive_isr, radioStateTemp: 0000, 0
[00:00:05.648,437] app: $$ SUB1 IRQ
[00:00:05.648,498] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:05.648,925] app: $$ receive_isr

[00:00:05.649,108] app: receive_isr, radioStateTemp: 0000, 0
[00:00:05.842,712] app: $$ SUB1 IRQ
[00:00:05.842,834] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:05.843,139] app: $$ receive_isr

[00:00:05.843,261] app: receive_isr, radioStateTemp: 0000, 0
[00:00:05.847,717] app: $$ SUB1 IRQ
[00:00:05.847,839] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:05.848,266] app: $$ receive_isr

[00:00:05.848,388] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.042,114] app: $$ SUB1 IRQ
[00:00:06.042,175] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.042,480] app: $$ receive_isr

[00:00:06.042,663] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.047,058] app: $$ SUB1 IRQ
[00:00:06.047,119] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.047,546] app: $$ receive_isr

[00:00:06.047,729] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.241,577] app: $$ SUB1 IRQ
[00:00:06.241,699] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.242,004] app: $$ receive_isr

[00:00:06.242,126] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.246,643] app: $$ SUB1 IRQ
[00:00:06.246,704] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.247,131] app: $$ receive_isr

[00:00:06.247,314] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.441,101] app: $$ SUB1 IRQ
[00:00:06.441,162] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.441,467] app: $$ receive_isr

[00:00:06.441,589] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.446,105] app: $$ SUB1 IRQ
[00:00:06.446,228] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.446,655] app: $$ receive_isr

[00:00:06.446,777] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.640,441] app: $$ SUB1 IRQ
[00:00:06.640,563] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.640,808] app: $$ receive_isr

[00:00:06.640,991] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.645,568] app: $$ SUB1 IRQ
[00:00:06.645,690] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.646,057] app: $$ receive_isr

[00:00:06.646,240] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.839,782] app: $$ SUB1 IRQ
[00:00:06.839,843] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.840,148] app: $$ receive_isr

[00:00:06.840,332] app: receive_isr, radioStateTemp: 0000, 0
[00:00:06.948,425] app: $$ SUB1 IRQ
[00:00:06.948,547] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:06.948,913] app: $$ receive_isr

[00:00:06.949,096] app: receive_isr, radioStateTemp: 0001, 31
[00:00:06.949,279] app: receive_isr, fifo_cmd: 0010
[00:00:06.949,401] app: DROP_CHUNK
[00:00:06.949,645] app: receive_isr, fifo_cmd: 0001
[00:00:06.949,768] app: DROP_CHUNK
[00:00:06.950,134] app: receive_isr, fifo_cmd: 0011
[00:00:06.950,256] app: DROP_CHUNK
[00:00:06.950,439] app: receive_isr, fifo_cmd: 0013
[00:00:06.951,538] app: DROP_CHUNK
[00:00:07.036,437] app: $$ SUB1 IRQ
[00:00:07.036,560] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:07.036,804] app: $$ receive_isr

[00:00:07.036,987] app: receive_isr, radioStateTemp: 0000, 0
[00:00:07.041,503] app: $$ SUB1 IRQ
[00:00:07.041,625] app: $$ Radio_Process, axradio_trxstate: 2

[00:00:07.042,053] app: $$ receive_isr

[00:00:07.042,175] app: receive_isr, radioStateTemp: 0000, 0

As I said, around 100 seconds packet is received instead of 1 seconds is it due to wakeuptimer full range is 1/640Hz = 0.0015625 seconds, max interval 0.0015625*65535 = 102.3984375 seconds.
So, Is it possible in our case, wakeuptimer is not resetting after packet reception?

Hi @hardik.harpal ,

Where can I change in AX radiolab generated code for WOR to evaluate MCU wakeup on only packet reception.

The default code for WOR already fires an interrupt only upon packet reception. As you can see in this other answer https://www.onsemi.com/forum/t/ax5043-wake-on-radio/1881/3? our easyax5043.c enables only certain interrupts by writing to IRQMASK0/1. The default value has IRQMASK0=0x01 which will fire when the FIFO is not empty. As the FIFO gets filled only when a valid preamble1&2 is detected you will not wake up the MCU when no packet is found in the air.

If you want to wake the MCU even when the packet is not received or there are errors in it you could enable the SFD (start frame detection) interrupt directly from AX-RadioLab, from the Framing Panel:

.
This will enable the following, thus toggling the IRQ line every time RADIOSTATE will change:

if(axradio_framing_enable_sfdcallback)
		radio_write8(AX5043_REG_RADIOEVENTMASK0, 0x04);

Alternatively, also from the GUI, you could modify the content of the register PKTACCEPTFLAGS. to do so, you need to enable the “advanced mode” by typing 1962 inside the TX Periodic field; after that the extra settings will appear in the Framing Panel as shown below:

In your application with the 3rd party MCU you can poll the AX5043’s IRQ line and build your logic around it.