- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-20-2023 12:28 PM (Last edited ‎11-20-2023 12:49 PM ) in
TabletsLooking to get support for a BLE peripheral device that seems to be unable to negotiate BLE connection intervals with a S6 Lite tablet.
My company is developing code with an OnSemi RSL10 which requires direct handling with the BLE host stack for communication. In other words, this negotiation needs to be manually handled by sending the correct GAP commands. OnSemi's recommendation for connection interval negotiation: https://community.onsemi.com/s/article/KBHow-to-request-an-update-of-the-connection-parameters-on-th...
For the S6 Lite tablet, we are using NordicSemiconductor's Android-BLE-Library to communicate with the tablet's native BLE calls: https://github.com/NordicSemiconductor/Android-BLE-Library. This library does not have direct control over the connection parameters used. Instead, you are able to set a connection priority:
/**
* Requests the new connection priority. Acceptable values are:
* <ol>
* <li>{@link BluetoothGatt#CONNECTION_PRIORITY_HIGH}
* - Interval: 11.25 -15 ms, latency: 0, supervision timeout: 20 sec,</li>
* <li>{@link BluetoothGatt#CONNECTION_PRIORITY_BALANCED}
* - Interval: 30 - 50 ms, latency: 0, supervision timeout: 20 sec,</li>
* <li>{@link BluetoothGatt#CONNECTION_PRIORITY_LOW_POWER}
* - Interval: 100 - 125 ms, latency: 2, supervision timeout: 20 sec.</li>
* </ol>
* Works only on Android Lollipop or newer. On older system versions will cause
* {@link Request#fail(FailCallback)} callback or throw
* {@link no.nordicsemi.android.ble.exception.RequestFailedException} with
* {@link FailCallback#REASON_REQUEST_FAILED} status if called synchronously.
* Starting from Android Oreo you may get a callback with the interval, latency and timeout
* using {@link ConnectionPriorityRequest#with(ConnectionPriorityCallback)}.
* <p>
* The returned request must be either enqueued using {@link Request#enqueue()} for
* asynchronous use, or awaited using await() in synchronous execution.
*
* priority one of: {@link BluetoothGatt#CONNECTION_PRIORITY_HIGH},
* {@link BluetoothGatt#CONNECTION_PRIORITY_BALANCED},
* {@link BluetoothGatt#CONNECTION_PRIORITY_LOW_POWER}.
* @return The request.
*/
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
protected final ConnectionPriorityRequest requestConnectionPriority(
@ConnectionPriority final int priority) {
return Request.newConnectionPriorityRequest(priority).setManager(this);
}
The preferred connection parameters the peripheral is trying to use are:
con_min_interval = 15ms
con_max_interval = 60ms
con_latency = 30
supervision_timeout = 6000ms
I've applied OnSemi's recommendation to the RSL10's code. Upon attempting a connection from the tablet, I can see (via BLE sniffer) the GAPC_PARAM_UPDATE_CMD command being sent directly after a a GAPC_PARAM_UPDATED_IND is received. However, the tablet's logs show no indication this command was received and the connection parameters remain the same. I do however see the logs for the GAPC_PARAM_UPDATED_IND correctly updating as I am still confirming the connection interval. Though I have also tried to reject the connection interval to see if there was internal handling going on in the tablet's BLE stack drivers, but this led to no connection being established.
I've also gone into the tablet's developer options to enable the "Bluetooth HCI snoop log" and I also see no indication this command is being received or registered.
Can I get verification this is what the tablet's are expecting? Any guidance or suggestions for what to try would be appreciated. Let me know if I need to provide any additional information.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-20-2023 05:28 PM in
TabletsThis is a user supported forum. Contact Samsung directly for help. You can also try developer.samsung.com
Bill
---
Galaxy Fold 6 512g(VZW), Galaxy Book (original, VZW), Tab S8 Ultra, Tab S4, Galaxy Watch7Ultra(VZW),Galaxy Watch6Classic 47mm(VZW), M8 Smart Monitor, NEO 55" QN90D TV, Buds Pro
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-21-2023 09:42 AM in
TabletsRats. Thanks for letting me know.