Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

Service data not showing

Hello,

I have added service data to my advertising_init function, however it does display when looking at the nRF Connect app. I'm not sure why it doesn't show as it's similar if I was using manufacture_data.

static void advertising_init(void)
{
    ret_code_t             err_code;
    ble_advertising_init_t init;  // Struct containing advertising parameters

    // Build advertising data struct to pass into @ref ble_advertising_init.
    memset(&init, 0, sizeof(init));

    ble_advdata_service_data_t                serv_data;
    uint8_t data[]                            = "012345678"; //Our data to advertise
    serv_data.service_uuid                    = SERVICE_UUID; // 1400
    serv_data.data.p_data                     = data;
    serv_data.data.size                       = sizeof(data);
    init.advdata.p_service_data_array         = &serv_data;

    init.advdata.name_type = BLE_ADVDATA_SHORT_NAME; // Use a shortened name
    init.advdata.short_name_len = 6; // Advertise only first 6 letters of name
    init.advdata.flags                   = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;
    init.advdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]);
    init.advdata.uuids_complete.p_uuids  = m_adv_uuids;

    init.config.ble_adv_fast_enabled  = true;
    init.config.ble_adv_fast_interval = APP_ADV_INTERVAL;
    init.config.ble_adv_fast_timeout  = APP_ADV_DURATION;

    init.evt_handler = on_adv_evt;

    err_code = ble_advertising_init(&m_advertising, &init);
    APP_ERROR_CHECK(err_code);

    ble_advertising_conn_cfg_tag_set(&m_advertising, APP_BLE_CONN_CFG_TAG);
}

Parents Reply Children
No Data
Related