This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Can ble_notification interrupt be missed?

Hi, I tried using ble_notification interrupt to 'warn' me before the start of radio activity so that I can get around the CPU blocking issue. But, for some reason, for 1% of the time, ble_notification interrupt was missed. I have to admit that I tried this out before three years on SDK 7.0.1 with S110 on nRF51 - I used beaconing example. I was wondering the reason for the missing interrupt. Do you think that it is impossible for a ble_notification to be missed? Or, do you think there is something in my code that stops the ble_notification interrupt to be missed. Thanks.

  • Hi,

    We need to know how you tested and how you find out that the notification was missing ?

    Note that an BLE event can be skipped if there is other task needs to preempt. Also, if the CPU can't process the notification before the next radio active event, then the event won't be triggered twice. So one interrupt will be missed.

    Current Softdevice won't block CPU during radio activities. CPU is still occupied when the softdevice need to process, but not blocking the whole period of radio activity.

  • Hi Hung Bui, I tested this on SDK7.0.1 with S110 on nRF51822AA. I was using the beaconing example and toggled a pin whenever i get ble_notification interrupt. I ran this overnight and the results looked like this: after ~3 hours the pin didnt toggle for around 1 minute. Then, it started to toggle.

  • How often do you send radio packet ? Could you give the connection parameters ? Is there any chance that slave latency was use ?

    Do you have any flash operation in the code ?

    How do you detect that the pin didn't toggle ? In that 1 minute do you see any radio activity ?

Related