lavva.webbluetooth
Version:
Library implementing WebBluetooth custom functionality if underlying platform does support it
50 lines (49 loc) • 1.79 kB
TypeScript
import { NativeTypedEvent } from "./ExtendedWebBluetooth";
export declare class LavvaBluetooth {
private receiveBuffer;
private _maxCharacteristicValueLength;
private serviceUuid;
private characteristicUuid;
private receiveSeparator;
private sendSeparator;
private selectedDevice;
private characteristic;
private gattServer;
private gattService;
OnGattServiceDisconnectedEvent: NativeTypedEvent<BluetoothRemoteGATTServer | undefined>;
OnCharacteristicValueChangedEvent: NativeTypedEvent<string>;
OnConnectedEvent: NativeTypedEvent<BluetoothDevice>;
OnDisconnectedEvent: NativeTypedEvent<BluetoothDevice>;
private filter;
SetFilter(filters: BluetoothLEScanFilter[]): void;
GetConnectedDevice(): BluetoothDevice | null;
RequestDeviceAndConnectAsync(): Promise<BluetoothDevice | DeviceConnectionError>;
private handleGattServiceDisconnected;
private handleCharacteristicValueChanged;
DisconnectDeviceAsync(device: BluetoothDevice): Promise<DeviceDisconnectionStatus>;
SendDataAsync(data: string): Promise<WriteDataStatus>;
private WriteValueAsync;
private SplitByLength;
}
export declare enum DeviceConnectionError {
NoDeviceHasBeenSelected = 0,
AnotherDeviceIsAlreadyConnected = 1,
FailedToConnectToGattServer = 2,
FailedToGetPrimaryService = 3,
FailedToDiscoverService = 4,
FailedToGetCharacteristic = 5,
FailedToStartNotifications = 6
}
export declare enum DeviceDisconnectionStatus {
NoDeviceConnected = 0,
FailedToForgetDevice = 1,
FailedToDisconnect = 2,
FailedToStopNotifications = 3,
DisconnectedSuccesfully = 4
}
export declare enum WriteDataStatus {
Sucess = 0,
DataIsEmpty = 1,
NoDeviceConnected = 2,
FailedToWriteValue = 3
}