Hello Nordic,
I'm working with NRF52840 (with SDK 16 and softdevice s140 7.0.1) in my project, which acts as a central, and an IOS phone as a peripheral. I have a read/write characteristic with response, responsible for sending data from NRF to the phone. The problem is with getting write response from the phone. After I write to the characteristic using BLE_GATT_OP_WRITE_REQ I wait for receiving write-response before sending another data, but the write response has a delay about 7 or 8 seconds.
I tried to use sniffer, and it seems my write response contains an error (0xf1). I also tried to look into write response event in ble_evt_handler for the error and found out that p_ble_evt->evt.gattc_evt.error_handle contains decimal value of 22. In both cases I don't know the meaning of these values, and could not find any documentation about any of them either.
I am also working with Android, and our app works fine there. I get the write response immediately after sending the write request.
So my question is what is causing this problem? and what should I do to solve it?
I attached the sniffer report and image of the write response packet.
thanks.