extmod/btstack: Implement GAP scan duration_ms parameter.
This commit makes scanning work when duration_ms is set to zero. Prior to this it would not work with duration_ms set to zero.
This commit is contained in:
parent
c13906cec6
commit
1d57fd656e
@ -889,7 +889,7 @@ int mp_bluetooth_gap_disconnect(uint16_t conn_handle) {
|
|||||||
#if MICROPY_PY_BLUETOOTH_ENABLE_CENTRAL_MODE
|
#if MICROPY_PY_BLUETOOTH_ENABLE_CENTRAL_MODE
|
||||||
STATIC btstack_timer_source_t scan_duration_timeout;
|
STATIC btstack_timer_source_t scan_duration_timeout;
|
||||||
|
|
||||||
STATIC void hci_initialization_timeout_handler(btstack_timer_source_t *ds) {
|
STATIC void scan_duration_timeout_handler(btstack_timer_source_t *ds) {
|
||||||
(void)ds;
|
(void)ds;
|
||||||
mp_bluetooth_gap_scan_stop();
|
mp_bluetooth_gap_scan_stop();
|
||||||
}
|
}
|
||||||
@ -897,9 +897,11 @@ STATIC void hci_initialization_timeout_handler(btstack_timer_source_t *ds) {
|
|||||||
int mp_bluetooth_gap_scan_start(int32_t duration_ms, int32_t interval_us, int32_t window_us) {
|
int mp_bluetooth_gap_scan_start(int32_t duration_ms, int32_t interval_us, int32_t window_us) {
|
||||||
DEBUG_EVENT_printf("mp_bluetooth_gap_scan_start\n");
|
DEBUG_EVENT_printf("mp_bluetooth_gap_scan_start\n");
|
||||||
|
|
||||||
btstack_run_loop_set_timer(&scan_duration_timeout, duration_ms);
|
if (duration_ms > 0) {
|
||||||
btstack_run_loop_set_timer_handler(&scan_duration_timeout, hci_initialization_timeout_handler);
|
btstack_run_loop_set_timer(&scan_duration_timeout, duration_ms);
|
||||||
btstack_run_loop_add_timer(&scan_duration_timeout);
|
btstack_run_loop_set_timer_handler(&scan_duration_timeout, scan_duration_timeout_handler);
|
||||||
|
btstack_run_loop_add_timer(&scan_duration_timeout);
|
||||||
|
}
|
||||||
|
|
||||||
// 0 = passive scan (we don't handle scan response).
|
// 0 = passive scan (we don't handle scan response).
|
||||||
gap_set_scan_parameters(0, interval_us / 625, window_us / 625);
|
gap_set_scan_parameters(0, interval_us / 625, window_us / 625);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user