Class DeviceScanner
Class responsible for discovering nearby Nix devices.
Inherited Members
Namespace: NixUniversalSDK
Assembly: NixUniversalSDK.dll
Syntax
public class DeviceScanner : IDeviceScanner, IDeviceScannerEvents
Fields
DefaultGeneralScanPeriodMs
Scan period in milliseconds (20000) used when no time period is provided to Start(long)
Declaration
public const long DefaultGeneralScanPeriodMs = 20000
Field Value
Type | Description |
---|---|
long |
DefaultSingleDevicePeriodMs
Scan period in milliseconds (10000) used when no time period is provided to SearchForIdAsync(string, long)
Declaration
public const long DefaultSingleDevicePeriodMs = 10000
Field Value
Type | Description |
---|---|
long |
Properties
State
Current state of the IDeviceScanner
Declaration
public DeviceScannerState State { get; }
Property Value
Type | Description |
---|---|
DeviceScannerState |
Methods
InitializeAsync()
Initializes the IDeviceScanner and verifies Bluetooth adapter state in the host PC
Declaration
public Task<DeviceScannerState> InitializeAsync()
Returns
Type | Description |
---|---|
Task<DeviceScannerState> | DeviceScannerState of the IDeviceScanner after initialization |
ListUsbDevicesAsync()
Lists USB attached IDeviceCompat instances without running a Bluetooth search
Declaration
public Task<IEnumerable<IDeviceCompat>> ListUsbDevicesAsync()
Returns
Type | Description |
---|---|
Task<IEnumerable<IDeviceCompat>> | Task with resulting list of USB attached devices |
SearchForIdAsync(string, long)
Searches for a specific Nix device via USB and Bluetooth. The search will run until the specified device is found, or until the specified time interval elapses, whichever is shorter. If no time interval is specified, the search will run for DefaultSingleDevicePeriodMs.
Declaration
public Task<IDeviceCompat> SearchForIdAsync(string id, long scanPeriodMs)
Parameters
Type | Name | Description |
---|---|---|
string | id | Nix device ID used to filter search results |
long | scanPeriodMs | Period to run the search in milliseconds. Must be positive |
Returns
Type | Description |
---|---|
Task<IDeviceCompat> | Nix device instance, or null if no device is found |
Start(long)
Starts a search for nearby Nix devices using Bluetooth for a selected time interval. If no timeout interval is specified, the search will run for DefaultGeneralScanPeriodMs
Declaration
public void Start(long scanPeriodMs = 20000)
Parameters
Type | Name | Description |
---|---|---|
long | scanPeriodMs | Period to run the search in milliseconds. Set to a negative value for continuous search |
Stop()
Stops a Bluetooth search if one is currently running.
Declaration
public void Stop()
Events
ScanResult
Event that is invoked when the IDeviceScanner has found a Nix device. This is invoked each time that a device advertisement has been received, or signal strength Rssi has updated, so multiple events may be received for a given Nix device. The Id can be used to uniquely identify each separate device.
Declaration
public event EventHandler<ScanResultEventArgs> ScanResult
Event Type
Type | Description |
---|---|
EventHandler<ScanResultEventArgs> |
ScannerCreated
Event that is invoked when the IDeviceScanner has been created
Declaration
public event EventHandler<ScannerCreatedEventArgs> ScannerCreated
Event Type
Type | Description |
---|---|
EventHandler<ScannerCreatedEventArgs> |
ScannerStarted
Event that is invoked when the IDeviceScanner starts searching for devices
Declaration
public event EventHandler ScannerStarted
Event Type
Type | Description |
---|---|
EventHandler |
ScannerStopped
Event that is invoked when the IDeviceScanner stops searching for devices
Declaration
public event EventHandler ScannerStopped
Event Type
Type | Description |
---|---|
EventHandler |