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

ble_radio_notification_evt_handler_t timeslot API and softdevice

I am using the timeslot API and softdevice to advertise two separate types of message. This works well. But I have also used ble_radio_notification_evt_handler_t in an attempt to change the payload of the softdevice advertisement.

Unfortunately through experimentation I have found that ble_radio_notification_evt_handler_t is called on any radio activity. There doesn't appear to be a context.

Any ideas how to run code before or after (just) the softdevice advertises?

I'm using S130 V11 nrf51

Many thanks in advance

John

Parents
  • FormerMember
    0 FormerMember

    The easiest way to change the advertising data between two advertising events, is to use app_timer/the RTC to run with the same timeout interval as the advertising interval. Since we know that the advertiser will advertise at a given interval, having app_timer/the RTC to update the advertising data with the same interval will make the advertising data change for each advertising event.

  • FormerMember
    0 FormerMember in reply to FormerMember

    Yes, that's correct. So probably it is better to use the timer to update the advertising data every N'th connection event. In some cases, the advertising data will be updated every N'th interval, and sometimes every (N-1)'th interval (due to the random delay for each advertising event).

Reply Children
No Data
Related