In my application, a host co-processor controls when to start/stop advertising, connect etc.
I've noticed that soft-device command are state-dependent, e.g. calling ble_advertising_start()
while advertising, or calling sd_ble_gap_adv_stop()
while not, causes an SD assert which by default soft-resets the device (related question here).
How should I mitigate this? Do I have to keep track of the stack's state (Advertising, Connected, Scanning, etc.), or, better yet, are there API methods to check the state of the stack before issuing a command?
Version: nRF5 SDK 11.0.0, s132, with PCA10040 EVB