Each advertisement of the scan started via startScan, one ScanResult at
a time (broadcast; silent when no scan is running). scanResults is this,
accumulated into a de-duplicated device list.
The growing, de-duplicated device list of the scan started via startScan,
as a stream that also exposes the current value. Value-retaining: a late
listener immediately sees the current devices. Reset to [] on each
startScan; retained after stopScan until the next start.
Convenience for the common case: print logger records to the console (via
debugPrint) in a default format, at level and above. For anything else
— routing to a file or Crashlytics, a custom format, filtering by
LogRecord.loggerName — listen to logger's onRecord yourself instead.
Scan for Bluetooth Low Energy devices, as a stream of advertisements — the
all-in-one form (no separate stop). For the stateful start/stop/results
model, use startScan / stopScan / scanResults instead.
Sets the verbosity of the native platform logging (Android logcat / Apple
os_log). Those logs surface through the platform's own tooling (logcat /
Console.app), not through logger.
Starts a scan and accumulates its de-duplicated devices into scanResults
(value-retaining — read .value or listen). Each raw advertisement is also
available one at a time via scanAdvertisements. Stop it with stopScan;
isScanning tracks whether it is running. Only one scan may run at a time
(the radio is a single resource); startScan throws
BluebirdErrorCode.operationInProgress if one already is.