Hi Zhang,
Take a look at the Apple Bluetooth Design Guidelines document for the Connection Parameters section. It looks like your colleague is breaking several of the
rules defined there.
https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf
Cheers,
--Mike
From: bluetooth-dev-bounces+michael.mallinson=email@hidden [mailto:bluetooth-dev-bounces+michael.mallinson=email@hidden]
On Behalf Of Zhang chn
Sent: Thursday, November 15, 2012 3:16 AM
To: email@hidden
Subject: Connection parameter update results to connection disruption?
Hi there,
Actually, a question from my colleague:
After a connection between an iOS device and our BLE device was established, an update for connection parameter was sent to iOS device in hope to
save more battery power. The update was successful. And then some requests sent by the iOS was not responded by the BLE device from time to time, and the connection would be cut off when timed out thereafter.
Is this a known bug for iOS 6? Is there any work-around?
The parameters used in the BLE device are listed as below:
-----------
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 200
// 1.25ms
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 800
#define DEFAULT_DESIRED_SLAVE_LATENCY 0
#define DEFAULT_DESIRED_CONN_TIMEOUT 600
// 10ms
#define GAPROLE_NO_ACTION 0 // Take no action upon unsuccessful parameter updates
#define GAPROLE_RESEND_PARAM_UPDATE 1 // Continue to resend request until successful update
#define GAPROLE_TERMINATE_LINK 2 // Terminate link upon unsuccessful parameter updates
GAPRole_SendUpdateParam( DEFAULT_DESIRED_MIN_CONN_INTERVAL,DEFAULT_DESIRED_MAX_CONN_INTERVAL,DEFAULT_DESIRED_SLAVE_LATENCY, DEFAULT_DESIRED_CONN_TIMEOUT,
GAPROLE_RESEND_PARAM_UPDATE);