Скомпилировал и запустил пример LowEnergyScanner из Qt 5.8 Examples и обнаружил, что оно ОЧЕНЬ долго сканирует характеристики устройства (то есть нашли девайс, подключились, выбрали какой-нибудь профиль и по идее должны получить список его характеристик). В некоторых ситуациях я ждал минут 20 и закрывал приложение, ничего не получив.
При этом список устройств и список профилей открывается более-менее нормально.
При этом простой скрипт на Python с использованием библиотеки bluepy на той же машине (ноутбук под управлением Linux, встроенный адаптер поддерживает BLE) сканирует характеристики очень быстро. Аналогичная ситуация с приложением NRFConnect на Android смартфоне - получает список характеристик очень быстро.
В качестве BLE устройства выступает Android-смартфон с запущенным приложением BLESimulator (пробовал симулировать и батарейку, и датчик пульса - результат один), и самодельное устройство. В любом случае раз у Android и Python проблем нет, значит виноват обязательно Qt.
В чём может быть проблема?
Пробовал вручную выставлять в Qt maximumConnectionInterval в минимальное значение в 7.5 мс - профили находятся быстрее, но с характеристиками та же проблемы.
Либо посоветуйте другую библиотеку кроме QBluetooth, которая имеет хоть какую-то документацию и поддерживает смену connectionInterval (bluepy не умеет).