Hey guys,
Working with the simple be_app_beacon example on nRF51. I’d like to be able to stop and start advertising. But after stopping advertising, I’m unable to start it again. On the call to start advertising I’m getting an err_code of NRF_ERROR_BUSY.
I’m guessing the structure of the code here isn’t allowing the BLE stack to process the previous call to stop the advertising, before I try to start it again. Is there a really simple, nice way to fix this? It's just a basic NON connectable beacon. See simplified code below in my main loop.
Sorry for the newb question. Hoping to keep the code really clean. Much appreciated.
Thanks, Brian
main() {
ble_stack_init();
adv_beacon_init();
advertising_start();
delay_flag = FALSE;
app_timer_start(…); // sets delay_flag to FALSE after 1 second
while(delay_flag) power_manage();
sd_ble_gap_adv_stop();
//do stuff here… not BLE related
err_code = sd_ble_gap_adv_start(); //!!! here’s where err_code == NRF_ERROR_BUSY
//do more stuff, then call sd_power_system_off();
}