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

battery service and thermometer service in advertisement packet

hello there i want to add battery service and thermometer service in advertisement packet. so i changed in uart project. but in advertisement project i can see battery service but can't see thermometer service. can anyone help me?? i have uploaded my code and advertisement packet screen shot here!

picture

main.cimage description

Parents
  • There is something strange going on in ble_advertising.c.

    Could you try replacing:

    if (p_advdata->p_service_data_array != NULL)
    {
        m_service_data.data.p_data                   = m_service_data_array;
        m_advdata.p_service_data_array               = &m_service_data;
        m_advdata.p_service_data_array->data.p_data  = m_service_data_array;
        m_advdata.p_service_data_array->data.size    = p_advdata->p_service_data_array->data.size;
        m_advdata.p_service_data_array->service_uuid = p_advdata->p_service_data_array->service_uuid;
    
        for (uint32_t i = 0; i < m_advdata.p_service_data_array->data.size; i++)
        {
            m_service_data_array[i] = p_advdata->p_service_data_array->data.p_data[i];
        }
    
        m_advdata.service_data_count = p_advdata->service_data_count;
    }
    

    with

    if (p_advdata->p_service_data_array != NULL)
    {
        m_advdata.p_service_data_array = p_advdata->p_service_data_array;
        m_advdata.service_data_count    = p_advdata->service_data_count;
    
    }
    

    and see if that changes anything.

Reply
  • There is something strange going on in ble_advertising.c.

    Could you try replacing:

    if (p_advdata->p_service_data_array != NULL)
    {
        m_service_data.data.p_data                   = m_service_data_array;
        m_advdata.p_service_data_array               = &m_service_data;
        m_advdata.p_service_data_array->data.p_data  = m_service_data_array;
        m_advdata.p_service_data_array->data.size    = p_advdata->p_service_data_array->data.size;
        m_advdata.p_service_data_array->service_uuid = p_advdata->p_service_data_array->service_uuid;
    
        for (uint32_t i = 0; i < m_advdata.p_service_data_array->data.size; i++)
        {
            m_service_data_array[i] = p_advdata->p_service_data_array->data.p_data[i];
        }
    
        m_advdata.service_data_count = p_advdata->service_data_count;
    }
    

    with

    if (p_advdata->p_service_data_array != NULL)
    {
        m_advdata.p_service_data_array = p_advdata->p_service_data_array;
        m_advdata.service_data_count    = p_advdata->service_data_count;
    
    }
    

    and see if that changes anything.

Children
Related