Skip to content

Bluefruit.Central.connect Connection Timeout? #789

Open
@macirtr

Description

@macirtr

Operating System

Windows 10

IDE version

Ardino 2.2.0

Board

Adafruit Feather nrf52832

BSP version

1

Sketch

https://github.com/adafruit/Adafruit_nRF52_Arduino/blob/master/libraries/Bluefruit52Lib/examples/Central/central_bleuart/central_bleuart.ino

What happened ?

...
void scan_callback(ble_gap_evt_adv_report_t* report) {
Bluefruit.Central.connect(report);
}
...

After sending a connection request, Adafruit nRF52 ble central stops scanning if a connection is not established. Bluefruit.Scanner.resume(); or Bluefruit.Scanner.start(0); commands do not respond.

As above, when a device is found that can be connected to, I send the connect command.
If the target mobile device moves away or turns off after sending this command, the connection cannot be established. And the connection hangs. Scanning stops completely..
There should be a connection timeout option here. If the connection does not occur after x milliseconds after the connection is attempted, the operation should be aborted. But the connection hangs.
How do I solve this?

How to reproduce ?

Here's how I do the test.

  • Launch Adafruit central ble.
  • Start Android application (uart service peripheral).
  • Blecentral find the android device in the scan and the connection request is sent.
  • Meanwhile, the android application is terminated.
  • Ble central connection request hangs.
  • Re-open the Android app and start advertising.
  • But the device cannot be found because the scanning does not work.

Debug Log

...

Screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions