I am using an device with an nRF52810 as a peripheral and my Windows 10 PC with an nRF52840 Dongle as the central. I am using a QT Application that uses the pc-ble-driver/python wrapper to download data stored in external flash off the device. The BLE service has a characteristic that uses notifications to send out data. Using the nRF Connect Bluetooth Low Energy tool there are about 8-9 notifications per interval. The QT application appears to only get 1 notification per interval.
From some of these posts I've concluded that it's possible I need to program the nRF52840 Dongle with a different version of the connectivity firmware (currently using what the BLE app programs on, so I'm assuming the latest).
I've tried programming s140_nrf52_6.1.1_softdevice.hex and I got the error: Failed to write: Error: Timeout while waiting for device ED47F517EAC6 to be attached and enumerated
and the Dongle was not discoverable on my application.
From another post on the forum here, I found this repo: https://github.com/NordicSemiconductor/pc-ble-driver/tree/v4.1.1/hex/sd_api_v5
Which has hex files with different names. For example, connectivity_4.1.1_usb_with_s132_5.1.0.hex (the difference being "usb_with") but when I cloned the repo the only hex files available did not have "usb_with" and such.
Am I misunderstanding how this is supposed to work? Do I need to program the Dongle with a different version of the connectivity firmware since I'm using the pc-ble-driver/python wrapper? Is there a setting to allow my QT Application to accept more than 1 notification per interval? (I've also tried adjusting conn_cfg.params.gap_conn_cfg.event_length, 320 is the last value i tried but all of the values I tried (0-1000 seemed to help)
Note: I can't use a faster interval on my device's firmware for power consumption reasons, but just to provide extra information I'll include some of my settings here.
ATT_MTU is 247 on both sides