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

BLE Slow advertisement gives SOFTDEVICE: ASSERTION FAILED.

Hello I am trying to develop an application for advertising in SLOW mode.

Here is my Advertising Init function.

/**@brief Function for initializing the Advertising functionality.
*/
void advertising_init(void)
{
     uint32_t err_code;
 
     uint8_t init_data[BURST_BUFFER_SIZE];
     ble_advdata_manuf_data_t manuf_data_response;

      int8_t tx_power_level;

      memset(&init, 0, sizeof(init));
      memset(&manuf_data_response, 0, sizeof(manuf_data_response)); 
      memset(init_data, 0, BURST_BUFFER_SIZE);

      manuf_data_response.company_identifier = COMPANY_IDENTIFIER;
      manuf_data_response.data.p_data = init_data;
      manuf_data_response.data.size = BURST_BUFFER_SIZE;

       init.advdata.name_type = BLE_ADVDATA_NO_NAME;

       init.advdata.flags = BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED;
       init.advdata.p_manuf_specific_data = &manuf_data_response;

       tx_power_level = 0;
       init.srdata.name_type = BLE_ADVDATA_FULL_NAME;
       init.srdata.p_tx_power_level = &tx_power_level;

       init.config.ble_adv_fast_enabled = true;
       init.config.ble_adv_fast_interval = 64;
       init.config.ble_adv_fast_timeout = 18000;

       init.config.ble_adv_slow_enabled = true;
       init.config.ble_adv_slow_interval = 3200;
       init.config.ble_adv_slow_timeout = 0;

        init.evt_handler = on_adv_evt;

        err_code = ble_advertising_init(&m_advertising, &init);
        NRF_LOG_DEBUG("ble_adv_init err %d \n", err_code);
        APP_ERROR_CHECK(err_code);

      ble_advertising_conn_cfg_tag_set(&m_advertising, APP_BLE_CONN_CFG_TAG);
}

And this is how I Start Advertising

void advertising_start(void)
{
        uint32_t err_code = ble_advertising_start(&m_advertising, BLE_ADV_MODE_SLOW);
        APP_ERROR_CHECK(err_code);
}

But within few seconds of advertising_init being called SOFTDEVICE: ASSERTION FAILED error is called.

I am using S113 v7.0.1 softdevice.

Parents Reply Children
No Data
Related