Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Device Information service initialization issue

Hey,

Can anyone tell me what is wrong in this routine for device information service initialization? It shows manufacturer name, hardware revision and firmware revision characteristics but It does not show PNP id characteristic.

I am using nRF82810 with SDK 14.2

static void services_init(void)
{
        uint32_t  err_code;
        ble_dis_init_t  m_dis;
        ble_dis_pnp_id_t pnp_id;
        memset(&m_dis, 0, sizeof(m_dis));

        ble_srv_ascii_to_utf8(&m_dis.manufact_name_str,(char*)MANUFACTURER_NAME);
        ble_srv_ascii_to_utf8(&m_dis.hw_rev_str,(char*)HARDWARE_REVISION);
        ble_srv_ascii_to_utf8(&m_dis.fw_rev_str,(char*)FIRMWARE_REVISION);

        m_dis.p_pnp_id->vendor_id_source      = BLE_DIS_VENDOR_ID_SRC_BLUETOOTH_SIG;
        m_dis.p_pnp_id->vendor_id             = MY_VENDOR_ID;
        m_dis.p_pnp_id->product_id            = PRODUCT_ID_FOR_PROJECT;
        m_dis.p_pnp_id->product_version       = PRODUCT_VERSION;
        

        BLE_GAP_CONN_SEC_MODE_SET_OPEN(&m_dis.dis_attr_md.read_perm);
        BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(&m_dis.dis_attr_md.write_perm);
        err_code = ble_dis_init(&m_dis);
        APP_ERROR_CHECK(err_code);

Related