Could not discover Unkonwn Service of uuid

Hello,

Does anybody know why I can not discover the service uuid as shown in the picture below?

I want to connect a sensor with this chip nRF52832, it's service UUID is 0000fff0-0000-1000-8000-00805f9b34fb. I can scan into sensor and connect with it. But I can not discover this service.

The protocol stack version I use is nRF5_SDK_17.0.2_d674dde,the program I use is nRF5_SDK_17.0.2_d674dde\examples\ble_central. I changed the service UUID to discover-> NUS_BASE_UUID to 0000fff0-0000-1000-8000-00805f9b34fb.  I can't discover it.

Thank you,

Parents
  • I think the highlighted area is just saying that discovery has finished. It is one way to know that there are no more services to be found after the given index of 0xE1. Is 0xE1 your service? it does not look like one as it looks like an index to search.

    Have you plugged in your own db_handler for your customer service?

    For example in the Nordic UART Service central example (examples\ble_central\ble_app_uart_c\main.c), you have db_disc_handler for this specific service as below

    static void db_discovery_init(void)
    {
        ble_db_discovery_init_t db_init;
    
        memset(&db_init, 0, sizeof(ble_db_discovery_init_t));
    
        db_init.evt_handler  = db_disc_handler;
        db_init.p_gatt_queue = &m_ble_gatt_queue;
    
        ret_code_t err_code = ble_db_discovery_init(&db_init);
        APP_ERROR_CHECK(err_code);
    }

    You can see that this db_disc_handler is called for every service tthat is being discovered and you need to implement your own service discovery filter handler that does something only when the service of your interest is found.

  • So is it not feasible to simply replace the UUID of the NUS service with the UUID of the service I want to discover in the Nordic UART Service central example?as below

Reply Children
Related