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

disconnecting while operations are in progress never gives BLE_GAP_EVT_DISCONNECTED event

2020-01-24-092119EST-ProductStoppedGettingEventsFromNordicDK.txtImprivataTestNordicEventsNotReceived.zipCalls_to_pc_ble_driver.cpp0285.2020-02-24-TestProgramUploadedToNordicSupport.zipFeb25TestProgramUploadedToNordicSupport.zipImprivata_bgTestApp.zipbgSDKTestAppMay4.zip2020-05-05-035347-NordicDK_USB840M_200505_ClockInternal_2in1.hex.txt.txtbgSDKTestAppMay6.zipI’m developing an application based on pc-ble-driver to talk to an nRF52840-based dongle (from Fanstel).

I’m having trouble disconnecting cleanly when a connection has operations in progress.  For example, I call ‘sd_ble_gattc_write’, which returns NRF_SUCCESS, but I don’t receive event BLE_GATTC_EVT_WRITE_RSP (after waiting 60 seconds), so I decide to disconnect. When this happens, sd_ble_gap_disconnect returns NRF_SUCCESS, but I do not receive BLE_GAP_EVT_DISCONNECTED even after waiting 30 seconds. The connection supervision timeout is 4 seconds.  What could cause the disconnect to not generate any BLE_GAP_EVT_DISCONNECTED event?

What I’m trying to accomplish here: if a connection is not responsive, I want to end that connection, without disturbing other connections I have open.

Thanks,

Paul Bradford

Parents
  • Using the DK would be the simplest approach. Then you only need to set the configs that I described earlier (except NRF_LOG_BACKEND_UART_TX_PIN, which should be set to default pin 6), and open the serial terminal or RTT Viewer on the PC.

    To make the setup as similar as possible to the Dongle, you should use the USB connectivity firmware and use the nRF USB (J3) on the wide side of the board with your pc-ble-driver application.

    The J-Link USB port (J2) must be connected to the PC to use UART logging and to flash the firmware to the board.

Reply
  • Using the DK would be the simplest approach. Then you only need to set the configs that I described earlier (except NRF_LOG_BACKEND_UART_TX_PIN, which should be set to default pin 6), and open the serial terminal or RTT Viewer on the PC.

    To make the setup as similar as possible to the Dongle, you should use the USB connectivity firmware and use the nRF USB (J3) on the wide side of the board with your pc-ble-driver application.

    The J-Link USB port (J2) must be connected to the PC to use UART logging and to flash the firmware to the board.

Children
No Data
Related