refactor(split): allow central to define connection parameters
Fixes #1614
This commit is contained in:
parent
5763558a02
commit
e686fce4d9
2 changed files with 18 additions and 3 deletions
|
@ -33,6 +33,18 @@ config ZMK_SPLIT_BLE_CENTRAL_SPLIT_RUN_QUEUE_SIZE
|
||||||
int "Max number of behavior run events to queue to send to the peripheral(s)"
|
int "Max number of behavior run events to queue to send to the peripheral(s)"
|
||||||
default 5
|
default 5
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_PREF_INT
|
||||||
|
int "Connection interval to use for split central/peripheral connection"
|
||||||
|
default 6
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_PREF_LATENCY
|
||||||
|
int "Latency to use for split central/peripheral connection"
|
||||||
|
default 30
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_PREF_TIMEOUT
|
||||||
|
int "Supervision timeout to use for split central/peripheral connection"
|
||||||
|
default 400
|
||||||
|
|
||||||
endif # ZMK_SPLIT_ROLE_CENTRAL
|
endif # ZMK_SPLIT_ROLE_CENTRAL
|
||||||
|
|
||||||
if !ZMK_SPLIT_ROLE_CENTRAL
|
if !ZMK_SPLIT_ROLE_CENTRAL
|
||||||
|
@ -58,8 +70,9 @@ config BT_MAX_PAIRED
|
||||||
config BT_MAX_CONN
|
config BT_MAX_CONN
|
||||||
default 1
|
default 1
|
||||||
|
|
||||||
config BT_PERIPHERAL_PREF_MAX_INT
|
# Allow central to specify connection parameters.
|
||||||
default 6
|
config BT_GAP_AUTO_UPDATE_CONN_PARAMS
|
||||||
|
default n
|
||||||
|
|
||||||
#!ZMK_SPLIT_ROLE_CENTRAL
|
#!ZMK_SPLIT_ROLE_CENTRAL
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -383,7 +383,9 @@ static bool split_central_eir_found(const bt_addr_le_t *addr) {
|
||||||
struct peripheral_slot *slot = &peripherals[slot_idx];
|
struct peripheral_slot *slot = &peripherals[slot_idx];
|
||||||
|
|
||||||
LOG_DBG("Initiating new connnection");
|
LOG_DBG("Initiating new connnection");
|
||||||
struct bt_le_conn_param *param = BT_LE_CONN_PARAM(0x0006, 0x0006, 30, 400);
|
struct bt_le_conn_param *param =
|
||||||
|
BT_LE_CONN_PARAM(CONFIG_ZMK_SPLIT_BLE_PREF_INT, CONFIG_ZMK_SPLIT_BLE_PREF_INT,
|
||||||
|
CONFIG_ZMK_SPLIT_BLE_PREF_LATENCY, CONFIG_ZMK_SPLIT_BLE_PREF_TIMEOUT);
|
||||||
err = bt_conn_le_create(addr, BT_CONN_LE_CREATE_CONN, param, &slot->conn);
|
err = bt_conn_le_create(addr, BT_CONN_LE_CREATE_CONN, param, &slot->conn);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
LOG_ERR("Create conn failed (err %d) (create conn? 0x%04x)", err, BT_HCI_OP_LE_CREATE_CONN);
|
LOG_ERR("Create conn failed (err %d) (create conn? 0x%04x)", err, BT_HCI_OP_LE_CREATE_CONN);
|
||||||
|
|
Loading…
Add table
Reference in a new issue