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

pc_ble_driver_py takes a lot of time to discover services, characteristics, and descriptors

Hi everyone.

I'm using pc_ble_driver_py with nRF52840 USB dongle with burned connectivity_4.1.1_usb_with_s140_6.1.1.hex.

pc_ble_driver_py is modified by me to support BLE5.0 features.

It looks like everything works well, but timings spent on the discovering services, characteristics, and descriptors are too long (up to 25-30 seconds) and depend on PC used.

I have localized the place where most of the time spent, it is between sending the command via UART (ASIO library) to BLE dongle and waiting for the response.

I was trying to decrease connection interval, but discovery timings stay the same.

Also, I have tried to use pc_ble_driver DLL in bare C, but here timings are well.

Does this issue is known? Or do you have any suggestions on how to decrease discovery timings?

Thanks.

Parents Reply Children
  • Hi. Thanks for your fast reply.

    This is a log from python, without log injection to DLL.

    0.000 sec	SPARK RT:		Start _discover_services
    
    0.000 sec		NRFAPI:		discover
    
    0.000 sec			ADAPTER:		Start services_discovery
    
    0.000 sec				DRIVER:		ble_gattc_prim_srvc_disc
    
    0.000 sec					SWIG DLL:		sd_ble_gattc_primary_services_discover
    
    0.156 sec				DRIVER:		ble_event_handler BLEEvtID.gap_evt_data_length_update_request
    
    0.157 sec				DRIVER:		gap_evt_data_length_update_request
    
    0.157 sec				DRIVER:		sd_ble_gap_data_length_update
    
    0.157 sec					SWIG DLL:		sd_ble_gap_data_length_update
    
    0.237 sec				DRIVER:		ble_event_handler BLEEvtID.gap_evt_data_length_update
    
    0.238 sec				DRIVER:		gap_evt_data_length_update
    
    0.637 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_prim_srvc_disc_rsp
    
    0.638 sec				DRIVER:		gattc_evt_prim_srvc_disc_rsp
    
    0.680 sec			ADAPTER:		End services_discovery
    
    0.680 sec			ADAPTER:		Start services_discovery
    
    0.680 sec				DRIVER:		ble_gattc_prim_srvc_disc
    
    0.680 sec					SWIG DLL:		sd_ble_gattc_primary_services_discover
    
    1.357 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_prim_srvc_disc_rsp
    
    1.357 sec				DRIVER:		gattc_evt_prim_srvc_disc_rsp
    
    1.362 sec			ADAPTER:		End services_discovery
    
    1.362 sec			ADAPTER:		Start services_discovery
    
    1.362 sec				DRIVER:		ble_gattc_prim_srvc_disc
    
    1.362 sec					SWIG DLL:		sd_ble_gattc_primary_services_discover
    
    1.596 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_prim_srvc_disc_rsp
    
    1.597 sec				DRIVER:		gattc_evt_prim_srvc_disc_rsp
    
    1.636 sec			ADAPTER:		End services_discovery
    
    1.636 sec			ADAPTER:		Start services_discovery
    
    1.636 sec				DRIVER:		ble_gattc_prim_srvc_disc
    
    1.636 sec					SWIG DLL:		sd_ble_gattc_primary_services_discover
    
    1.997 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_prim_srvc_disc_rsp
    
    1.997 sec				DRIVER:		gattc_evt_prim_srvc_disc_rsp
    
    2.011 sec			ADAPTER:		End services_discovery
    
    2.011 sec			ADAPTER:		Start Read service handle
    
    2.637 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_read_rsp
    
    2.637 sec				DRIVER:		gattc_evt_read_rsp
    
    2.642 sec			ADAPTER:		End Read service handle
    
    2.646 sec			ADAPTER:		Start services_discovery
    
    2.646 sec				DRIVER:		ble_gattc_prim_srvc_disc
    
    2.647 sec					SWIG DLL:		sd_ble_gattc_primary_services_discover
    
    2.877 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_prim_srvc_disc_rsp
    
    2.877 sec				DRIVER:		gattc_evt_prim_srvc_disc_rsp
    
    2.921 sec			ADAPTER:		End services_discovery
    
    2.921 sec			ADAPTER:		Start Read service handle
    
    3.358 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_read_rsp
    
    3.358 sec				DRIVER:		gattc_evt_read_rsp
    
    3.399 sec			ADAPTER:		End Read service handle
    
    3.402 sec			ADAPTER:		Start services_discovery
    
    3.402 sec				DRIVER:		ble_gattc_prim_srvc_disc
    
    3.403 sec					SWIG DLL:		sd_ble_gattc_primary_services_discover
    
    4.477 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_prim_srvc_disc_rsp
    
    4.477 sec				DRIVER:		gattc_evt_prim_srvc_disc_rsp
    
    4.488 sec			ADAPTER:		End services_discovery
    
    4.488 sec			ADAPTER:		Start characteristics_discovery
    
    4.488 sec				DRIVER:		ble_gattc_char_disc
    
    4.488 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    4.717 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    4.717 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    4.761 sec			ADAPTER:		End characteristics_discovery
    
    4.761 sec			ADAPTER:		Start characteristics_discovery
    
    4.761 sec				DRIVER:		ble_gattc_char_disc
    
    4.761 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    4.957 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    4.957 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    4.985 sec			ADAPTER:		End characteristics_discovery
    
    4.985 sec			ADAPTER:		Start discriptor_discovery
    
    4.985 sec				DRIVER:		ble_gattc_desc_disc
    
    4.985 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    5.677 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    5.677 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    5.714 sec			ADAPTER:		End discriptor_discovery
    
    5.714 sec			ADAPTER:		Start discriptor_discovery
    
    5.714 sec				DRIVER:		ble_gattc_desc_disc
    
    5.714 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    5.998 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    5.998 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    6.040 sec			ADAPTER:		End discriptor_discovery
    
    6.040 sec			ADAPTER:		Start discriptor_discovery
    
    6.040 sec				DRIVER:		ble_gattc_desc_disc
    
    6.040 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    6.158 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    6.158 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    6.162 sec			ADAPTER:		End discriptor_discovery
    
    6.162 sec			ADAPTER:		Start characteristics_discovery
    
    6.162 sec				DRIVER:		ble_gattc_char_disc
    
    6.162 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    6.637 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    6.638 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    6.640 sec			ADAPTER:		End characteristics_discovery
    
    6.640 sec			ADAPTER:		Start characteristics_discovery
    
    6.640 sec				DRIVER:		ble_gattc_char_disc
    
    6.640 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    7.356 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    7.357 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    7.372 sec			ADAPTER:		End characteristics_discovery
    
    7.372 sec			ADAPTER:		Start discriptor_discovery
    
    7.372 sec				DRIVER:		ble_gattc_desc_disc
    
    7.372 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    7.918 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    7.918 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    7.949 sec			ADAPTER:		End discriptor_discovery
    
    7.949 sec			ADAPTER:		Start characteristics_discovery
    
    7.949 sec				DRIVER:		ble_gattc_char_disc
    
    7.949 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    8.238 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    8.238 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    8.275 sec			ADAPTER:		End characteristics_discovery
    
    8.275 sec			ADAPTER:		Start characteristics_discovery
    
    8.275 sec				DRIVER:		ble_gattc_char_disc
    
    8.275 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    8.638 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    8.638 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    8.652 sec			ADAPTER:		End characteristics_discovery
    
    8.652 sec			ADAPTER:		Start characteristics_discovery
    
    8.652 sec				DRIVER:		ble_gattc_char_disc
    
    8.652 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    9.036 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    9.037 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    9.078 sec			ADAPTER:		End characteristics_discovery
    
    9.078 sec			ADAPTER:		Start characteristics_discovery
    
    9.078 sec				DRIVER:		ble_gattc_char_disc
    
    9.078 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    10.397 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    10.397 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    10.417 sec			ADAPTER:		End characteristics_discovery
    
    10.417 sec			ADAPTER:		Start characteristics_discovery
    
    10.417 sec				DRIVER:		ble_gattc_char_disc
    
    10.417 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    10.877 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    10.877 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    10.895 sec			ADAPTER:		End characteristics_discovery
    
    10.895 sec			ADAPTER:		Start characteristics_discovery
    
    10.895 sec				DRIVER:		ble_gattc_char_disc
    
    10.895 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    11.357 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    11.357 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    11.372 sec			ADAPTER:		End characteristics_discovery
    
    11.372 sec			ADAPTER:		Start characteristics_discovery
    
    11.372 sec				DRIVER:		ble_gattc_char_disc
    
    11.372 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    11.756 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    11.757 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    11.800 sec			ADAPTER:		End characteristics_discovery
    
    11.800 sec			ADAPTER:		Start characteristics_discovery
    
    11.800 sec				DRIVER:		ble_gattc_char_disc
    
    11.800 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    12.157 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    12.157 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    12.175 sec			ADAPTER:		End characteristics_discovery
    
    12.175 sec			ADAPTER:		Start characteristics_discovery
    
    12.175 sec				DRIVER:		ble_gattc_char_disc
    
    12.175 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    12.477 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    12.477 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    12.500 sec			ADAPTER:		End characteristics_discovery
    
    12.501 sec			ADAPTER:		Start characteristics_discovery
    
    12.501 sec				DRIVER:		ble_gattc_char_disc
    
    12.501 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    12.877 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    12.877 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    12.926 sec			ADAPTER:		End characteristics_discovery
    
    12.926 sec			ADAPTER:		Start discriptor_discovery
    
    12.926 sec				DRIVER:		ble_gattc_desc_disc
    
    12.926 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    13.116 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    13.117 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    13.152 sec			ADAPTER:		End discriptor_discovery
    
    13.152 sec			ADAPTER:		Start discriptor_discovery
    
    13.152 sec				DRIVER:		ble_gattc_desc_disc
    
    13.152 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    13.355 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    13.355 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    13.376 sec			ADAPTER:		End discriptor_discovery
    
    13.376 sec			ADAPTER:		Start discriptor_discovery
    
    13.376 sec				DRIVER:		ble_gattc_desc_disc
    
    13.376 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    13.597 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    13.597 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    13.600 sec			ADAPTER:		End discriptor_discovery
    
    13.600 sec			ADAPTER:		Start discriptor_discovery
    
    13.600 sec				DRIVER:		ble_gattc_desc_disc
    
    13.600 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    14.077 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    14.077 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    14.078 sec			ADAPTER:		End discriptor_discovery
    
    14.078 sec			ADAPTER:		Start discriptor_discovery
    
    14.078 sec				DRIVER:		ble_gattc_desc_disc
    
    14.078 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    14.317 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    14.318 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    14.352 sec			ADAPTER:		End discriptor_discovery
    
    14.352 sec			ADAPTER:		Start discriptor_discovery
    
    14.352 sec				DRIVER:		ble_gattc_desc_disc
    
    14.352 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    14.717 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    14.717 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    14.728 sec			ADAPTER:		End discriptor_discovery
    
    14.728 sec			ADAPTER:		Start discriptor_discovery
    
    14.728 sec				DRIVER:		ble_gattc_desc_disc
    
    14.728 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    15.037 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    15.037 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    15.052 sec			ADAPTER:		End discriptor_discovery
    
    15.052 sec			ADAPTER:		Start discriptor_discovery
    
    15.052 sec				DRIVER:		ble_gattc_desc_disc
    
    15.052 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    15.436 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    15.436 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    15.476 sec			ADAPTER:		End discriptor_discovery
    
    15.476 sec			ADAPTER:		Start discriptor_discovery
    
    15.476 sec				DRIVER:		ble_gattc_desc_disc
    
    15.476 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    15.996 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    15.997 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    16.005 sec			ADAPTER:		End discriptor_discovery
    
    16.005 sec			ADAPTER:		Start discriptor_discovery
    
    16.005 sec				DRIVER:		ble_gattc_desc_disc
    
    16.005 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    16.316 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    16.316 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    16.330 sec			ADAPTER:		End discriptor_discovery
    
    16.330 sec			ADAPTER:		Start discriptor_discovery
    
    16.330 sec				DRIVER:		ble_gattc_desc_disc
    
    16.330 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    16.555 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    16.556 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    16.606 sec			ADAPTER:		End discriptor_discovery
    
    16.606 sec			ADAPTER:		Start discriptor_discovery
    
    16.606 sec				DRIVER:		ble_gattc_desc_disc
    
    16.606 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    17.115 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    17.115 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    17.137 sec			ADAPTER:		End discriptor_discovery
    
    17.137 sec			ADAPTER:		Start discriptor_discovery
    
    17.137 sec				DRIVER:		ble_gattc_desc_disc
    
    17.137 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    17.677 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    17.677 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    17.716 sec			ADAPTER:		End discriptor_discovery
    
    17.716 sec			ADAPTER:		Start discriptor_discovery
    
    17.716 sec				DRIVER:		ble_gattc_desc_disc
    
    17.716 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    17.835 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    17.835 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    17.839 sec			ADAPTER:		End discriptor_discovery
    
    17.839 sec			ADAPTER:		Start discriptor_discovery
    
    17.839 sec				DRIVER:		ble_gattc_desc_disc
    
    17.839 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    18.155 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    18.156 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    18.164 sec			ADAPTER:		End discriptor_discovery
    
    18.164 sec			ADAPTER:		Start characteristics_discovery
    
    18.164 sec				DRIVER:		ble_gattc_char_disc
    
    18.164 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    18.397 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    18.397 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    18.439 sec			ADAPTER:		End characteristics_discovery
    
    18.439 sec			ADAPTER:		Start characteristics_discovery
    
    18.439 sec				DRIVER:		ble_gattc_char_disc
    
    18.439 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    18.875 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    18.876 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    18.919 sec			ADAPTER:		End characteristics_discovery
    
    18.919 sec			ADAPTER:		Start characteristics_discovery
    
    18.919 sec				DRIVER:		ble_gattc_char_disc
    
    18.919 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    19.115 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    19.116 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    19.141 sec			ADAPTER:		End characteristics_discovery
    
    19.141 sec			ADAPTER:		Start characteristics_discovery
    
    19.141 sec				DRIVER:		ble_gattc_char_disc
    
    19.141 sec					SWIG DLL:		sd_ble_gattc_characteristics_discover
    
    19.275 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp
    
    19.275 sec				DRIVER:		gattc_evt_char_disc_rsp
    
    19.316 sec			ADAPTER:		End characteristics_discovery
    
    19.316 sec			ADAPTER:		Start discriptor_discovery
    
    19.316 sec				DRIVER:		ble_gattc_desc_disc
    
    19.316 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    19.515 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    19.516 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    19.540 sec			ADAPTER:		End discriptor_discovery
    
    19.540 sec			ADAPTER:		Start discriptor_discovery
    
    19.540 sec				DRIVER:		ble_gattc_desc_disc
    
    19.540 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    19.995 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    19.996 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    20.019 sec			ADAPTER:		End discriptor_discovery
    
    20.019 sec			ADAPTER:		Start discriptor_discovery
    
    20.019 sec				DRIVER:		ble_gattc_desc_disc
    
    20.019 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    20.475 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    20.476 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    20.497 sec			ADAPTER:		End discriptor_discovery
    
    20.497 sec			ADAPTER:		Start discriptor_discovery
    
    20.497 sec				DRIVER:		ble_gattc_desc_disc
    
    20.497 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    20.636 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    20.637 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    20.671 sec			ADAPTER:		End discriptor_discovery
    
    20.671 sec			ADAPTER:		Start discriptor_discovery
    
    20.671 sec				DRIVER:		ble_gattc_desc_disc
    
    20.671 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    20.875 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    20.876 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    20.894 sec			ADAPTER:		End discriptor_discovery
    
    20.894 sec			ADAPTER:		Start discriptor_discovery
    
    20.894 sec				DRIVER:		ble_gattc_desc_disc
    
    20.894 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    21.115 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    21.116 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    21.118 sec			ADAPTER:		End discriptor_discovery
    
    21.118 sec			ADAPTER:		Start discriptor_discovery
    
    21.118 sec				DRIVER:		ble_gattc_desc_disc
    
    21.118 sec					SWIG DLL:		sd_ble_gattc_descriptors_discover
    
    21.435 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    
    21.436 sec				DRIVER:		gattc_evt_desc_disc_rsp
    
    21.443 sec			ADAPTER:		End discriptor_discovery
    
    21.443 sec			ADAPTER:		End discovery
    
    22.075 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_read_rsp
    
    22.075 sec				DRIVER:		gattc_evt_read_rsp
    
    22.236 sec				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_read_rsp
    
    22.237 sec				DRIVER:		gattc_evt_read_rsp
    
    22.281 sec	SPARK RT:		End _discover_services
    
    

  • As you can see from the log, the most time is spent waiting for a response from DLL.

    (SWIG DLL: sd_ble_gattc_characteristics_discover -> DRIVER: ble_event_handler BLEEvtID.gattc_evt_char_disc_rsp)

  • This is part of the combined log (python and DLL).

    [15815861981530002]			ADAPTER:		Start discriptor_discovery
    [15815861981530002]				DRIVER:		ble_gattc_desc_disc
    [15815861981530002]					SWIG DLL:		sd_ble_gattc_descriptors_discover
    [15815861981535250]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler enter function
    [15815861981535250]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler asyncWrite IN
    [15815861981535250]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler asyncWrite OUT
    [15815861981535250]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler enter function
    [15815861981555619]						DLL:	..\src\common\transport\uart_transport.cpp	readHandler enter function
    [15815861981555619]						DLL:	..\src\common\transport\uart_transport.cpp	readHandler asyncRead IN
    [15815861981555619]						DLL:	..\src\common\transport\uart_transport.cpp	readHandler asyncRead OUT
    [15815861981555619]						DLL:	..\src\common\transport\uart_transport.cpp	readHandler exit function
    [15815861981555619]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler enter function
    [15815861981555619]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler asyncWrite IN
    [15815861981565250]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler asyncWrite OUT
    [15815861981565250]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler enter function
    [15815861983924951]						DLL:	..\src\common\transport\uart_transport.cpp	readHandler enter function
    [15815861983924951]						DLL:	..\src\common\transport\uart_transport.cpp	readHandler asyncRead IN
    [15815861983929171]						DLL:	..\src\common\transport\uart_transport.cpp	readHandler asyncRead OUT
    [15815861983929171]						DLL:	..\src\common\transport\uart_transport.cpp	readHandler exit function
    [15815861983929171]						DLL:    ..\src\common\transport\uart_transport.cpp  writeHandler enter function
    [15815861983920000]				DRIVER:		ble_event_handler BLEEvtID.gattc_evt_desc_disc_rsp
    [15815861983929171]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler asyncWrite IN
    [15815861983934942]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler asyncWrite OUT
    [15815861983929998]				DRIVER:		gattc_evt_desc_disc_rsp
    [15815861983934942]						DLL:	..\src\common\transport\uart_transport.cpp	writeHandler enter function
    [15815861984270000]			ADAPTER:		End discriptor_discovery

  • Timestamp here is in 0.0000 ms: 15815861981565250 -> 1581586198156,5250 ms

    Please take a look at the lines 15 and 16 (writeHandler enter function and readHandler enter function) this part is the most time-consuming.

  • Unfortunately, I can't share the code. But I'm using the Python library provided by Nordic with some changes to support BLE 5.0. I haven't changed the procedures of the services, characteristics and descriptors discovery. 

Related