BLE Scan Timeout Min & Max Values

What is the minimum and maximum values I can set for

BLE.setScanTimeout(100);

Currently I have set it for 1 sec and want to reduce it to 0.5 sec. Will it affect the battery more since I am using battery to power Argon.

The unit for BLE.setScanTimeout() is 10 millisecond units. The minimum value is 1 (10 milliseconds or 0.01 seconds).

The maximum is BLE_GAP_SCAN_TIMEOUT_UNLIMITED, which is a value of 0, and means scan forever, BLE.scan() never returns. This should only be done from a worker thread, never from loop() or a software timer.

Scanning itself does not use significant battery power as it’s receiving. Though because devices only advertise at a set interval, very short scan intervals are likely to miss advertisements. A half second (50) should be fine.

2 Likes