summaryrefslogtreecommitdiffstatshomepage
path: root/extmod/modbluetooth.c
diff options
context:
space:
mode:
authorJim Mussared <jim.mussared@gmail.com>2021-09-27 16:27:42 +1000
committerDamien George <damien@micropython.org>2021-10-26 00:16:53 +1100
commit43467b9c719928ffaf2bc1cb314338bc402914e1 (patch)
treecc6d49282500833a703f30bdaebbb53e6732c9d1 /extmod/modbluetooth.c
parent64e4bae129263278f72a6c3494f1e67c7895fcdd (diff)
downloadmicropython-43467b9c719928ffaf2bc1cb314338bc402914e1.tar.gz
micropython-43467b9c719928ffaf2bc1cb314338bc402914e1.zip
extmod/modbluetooth: Add connection interval to gap_connect.
This forwards through directly to the NimBLE and BTStack connect functions. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Diffstat (limited to 'extmod/modbluetooth.c')
-rw-r--r--extmod/modbluetooth.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/extmod/modbluetooth.c b/extmod/modbluetooth.c
index cb153f70e9..e3d64b81f1 100644
--- a/extmod/modbluetooth.c
+++ b/extmod/modbluetooth.c
@@ -637,14 +637,22 @@ STATIC mp_obj_t bluetooth_ble_gap_connect(size_t n_args, const mp_obj_t *args) {
mp_raise_ValueError(MP_ERROR_TEXT("invalid addr"));
}
mp_int_t scan_duration_ms = MP_BLUETOOTH_CONNECT_DEFAULT_SCAN_DURATION_MS;
- if (n_args == 4) {
+ mp_int_t min_conn_interval_us = 0;
+ mp_int_t max_conn_interval_us = 0;
+ if (n_args >= 4 && args[3] != mp_const_none) {
scan_duration_ms = mp_obj_get_int(args[3]);
}
+ if (n_args >= 5 && args[4] != mp_const_none) {
+ min_conn_interval_us = mp_obj_get_int(args[4]);
+ }
+ if (n_args >= 6 && args[5] != mp_const_none) {
+ max_conn_interval_us = mp_obj_get_int(args[5]);
+ }
- int err = mp_bluetooth_gap_peripheral_connect(addr_type, bufinfo.buf, scan_duration_ms);
+ int err = mp_bluetooth_gap_peripheral_connect(addr_type, bufinfo.buf, scan_duration_ms, min_conn_interval_us, max_conn_interval_us);
return bluetooth_handle_errno(err);
}
-STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(bluetooth_ble_gap_connect_obj, 3, 4, bluetooth_ble_gap_connect);
+STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(bluetooth_ble_gap_connect_obj, 3, 6, bluetooth_ble_gap_connect);
STATIC mp_obj_t bluetooth_ble_gap_scan(size_t n_args, const mp_obj_t *args) {
// Default is indefinite scan, with the NimBLE "background scan" interval and window.