Hi,
I developped a multilink central based on the example code ble_app_multilink_central.
I want to connect to several peripherals with two different custom services as shown in the following schematic.
The connection work but I have problems while discovering the services.
Sometimes the central discover all the services but often some services are not discovered and I don't understand why.
The discovery handler executes many times for each connection and the event type is often BLE_DB_DISCOVERY_ERROR.
Here is my discovery handler :
Here is an example of what can happen during a connection with 2 RFID and 1 Relay :
Here we can see that we have the relay on conn_handle 0x0 and the RFIDs on conn_handle 0x1 and 0x2.
We can see that the RFID service is not discovered on the conn_handle 0x1.
My questions are :
-When does the discovery handler execute for each connection?
-How to obtain the event BLE_DB_DISCOVERY_COMPLETE?
-Why does the discovery handler execute several time on each connection? And why is it not executed again while the service is not discovered?