Android BLE

I'm writing an android application, using no.nordicsemi.android:ble:2.3.1. I connect to the sensor and write 49KB data to it. Before recording, I set the desired interval (CONNECTION_PRIORITY_HIGH 11.25 - 15ms) and MTU (247) Next, I initiate the sending of files of 128, 232,240 bytes. But the problem is that after sending, GATT sets me to interval 36 and not 12ms as I need. The sensor supports from 12 to 30ms. I tried different versions of Android and the BLE version doesn't really make a difference either.If you need the code, I can show you some excerpts Nothing helps, maybe there are some articles or something similar UPD uploaded HCI log https://dropmefiles.com/SEgPo two files Before sending all data I put this requestConnectionPriority(ConnectionPriorityRequest.CONNECTION_PRIORITY_HIGH) .done(device -> Log.e("BleControlManager", "Interval request sent")) .fail((device, status) -> Log.e("BleControlManager", "Failed to send Interval request: " + status)) .enqueue(); requestMtu(247) .done(device -> Log.e("BleControlManager", "MTU request sent ")) .fail((device, status) -> Log.e("BleControlManager", "Failed to send MTU request: " + status)) .enqueue(); Then I receive a log from Gatt 2024-04-17 15:03:59.776 18358-18412 BluetoothGatt com.example.bluetoothcontrol D onConfigureMTU() - Device=38:3B:26:7E:76:9B mtu=247 status=0 2024-04-17 15:03:59.910 18358-18412 BluetoothGatt com.example.bluetoothcontrol D onConnectionUpdated() - Device=38:3B:26:7E:76:9B interval=12 latency=0 timeout=500 status=0 Then several packets pass through to the device, and then this happens: 2024-04-17 15:04:00.405 18358-18412 BluetoothGatt com.example.bluetoothcontrol D onConnectionUpdated() - Device=38:3B:26:7E:76:9B interval=36 latency=0 timeout=100 status=0 The log shows that after sending the packet, the interval changes without my participation 1704 330.000533 SamsungElect_3a:0a:01 (Galaxy A7 (2018)) JiangsuQinhe_7e:76:9b (SatelliteOnline0000) ATT 12 Sent Exchange MTU Request, Client Rx MTU: 247 1703 329.798134 controller host HCI_EVT 7 Rcvd Command Status (LE Connection Update) 1705 330.014861 controller host HCI_EVT 8 Rcvd Number of Completed Packets 1706 330.059797 JiangsuQinhe_7e:76:9b (SatelliteOnline0000) SamsungElect_3a:0a:01 (Galaxy A7 (2018)) ATT 12 Rcvd Exchange MTU Response, Server Rx MTU: 255 1707 330.060311 host controller HCI_CMD 10 Sent LE Set Data Length 1708 330.064660 controller host HCI_EVT 9 Rcvd Command Complete (LE Set Data Length) 1762 330.616503 controller host HCI_EVT 8 Rcvd Number of Completed Packets 1763 330.616628 SamsungElect_3a:0a:01 (Galaxy A7 (2018)) JiangsuQinhe_7e:76:9b (SatelliteOnline0000) L2CAP 15 Sent Connection Parameter Update Response (Accepted) 1764 330.617120 host controller HCI_CMD 18 Sent LE Connection Update 1765 330.617907 controller host HCI_EVT 7 Rcvd Command Status (LE Connection Update) 1766 330.630105 JiangsuQinhe_7e:76:9b (SatelliteOnline0000) SamsungElect_3a:0a:01 (Galaxy A7 (2018)) ATT 10 Rcvd Write Response, Handle: 0x0013 (Nordic UART Service: Nordic UART Rx: Client Characteristic Configuration)

Related