My app (S130 SDK12.3; BLE with multiprotocol support where the radio session is opened before advertising) registers function sys_evt_dispatch() as per
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static void softdevice_init(void)
{
uint32_t err_code;
static nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC;
static uint32_t ble_evt_buffer[CEIL_DIV(BLE_STACK_EVT_MSG_BUF_SIZE, sizeof(uint32_t))];
err_code = softdevice_handler_init((&clock_lf_cfg), ble_evt_buffer, sizeof(ble_evt_buffer), NULL);
APP_ERROR_CHECK(err_code); \
err_code = softdevice_enable(&m_ble_enable_params);
APP_ERROR_CHECK(err_code);
err_code = softdevice_ble_evt_handler_set(ble_evt_dispatch);
APP_ERROR_CHECK(err_code);
err_code = softdevice_sys_evt_handler_set(sys_evt_dispatch);
APP_ERROR_CHECK(err_code);
}
but sys_evt_dispatch()
Fullscreen
1
2
3
4
5
6
void sys_evt_dispatch(uint32_t sys_evt)
{
nrf_evt_signal_handler(sys_evt);
fs_sys_event_handler(sys_evt);
ble_advertising_on_sys_evt(sys_evt);
}
is never called. What can be the root cause?