I am creating a Windows application in C ++ that uses BLE to connect to a device using Gatt, I am following the BLE Gatt Windows Documentation . But I have some problems since the amount of information received is not enough to establish a stable connection, I solved this problem in another API I made for Android using this function BluetoothGatt.setPreferredPhy(int, int, int) with these values:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
bluetoothGatt.setPreferredPhy(BluetoothDevice.PHY_LE_2M_MASK, BluetoothDevice.PHY_LE_2M_MASK, BluetoothDevice.PHY_OPTION_NO_PREFERRED);
}
and this function BluetoothGatt.requestConnectionPriority(int) with these parameters:
bluetoothGatt.requestConnectionPriority(BluetoothGatt.CONNECTION_PRIORITY_HIGH);
Both of them before listing services on Android Gatt API.
I have not been able to find any alternative in the case of Windows, what is the best way to increase the packet size (MTU and/or PHY layer size) and increase the priority of the connection?