I think I am having a problem with Radio Notification. I am not sure. I have an application where I need simultaneous “Central and Peripheral”. Device only needs to advertise and listen, it never connects. I started with “ble_app_hrs_rscs_relay” and modified “scan_evt_handler” so that it does not connect. Next, I modified .interval to 10 ms and .window to 30 ms. This give me perhaps good listening and as far as I can see, the highest yield of packets that are transmitted over the air. (I’m open to suggestions is there is a better way there.)
Now I need reliable “Radio Notification” of when packets are transmitted. I have carefully followed everything I can find and I’ve incorporated “ble_radio_notification.c” and “ble_radio_notification.h”. The “ble_radio_notification_init” function is called in “main” directly after “ble_stack_init”. I even tried to get closer to the “sd_softdevice_init” by going deeper in the code, but nothing changed. I noticed one thing that changed in Nordic’s “Radio_Notification” examples. In early versions of “ble_radio_notification_init” function, NRF_RADIO_NOTIFICATION_TYPE_INT_ON_X was a one of the parameters. I’ve noticed that it is no longer a changeable parameter at the function call for “ble_radio_notification_init”. I’ve gone into the function to change the “sd_radio_notification_config_set” NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE and I see strange things. I see a periodic interrupt every 10 ms. That 10 ms corresponds to the 10 ms in the scan .interval. If I change the .interval to 20 ms is the interrupt changes to 20 ms.
I understand that Radio Notification does multiple things. How do I get a valid notification on INACTIVE (or ACTIVE) ONLY?
This testing is done on the NRF52840 DK. Using SES environment and "ble_app_hrs_rscs_relay".