Skip to content

Commit 6291de0

Browse files
author
Marco Crespi
committed
feat: Add better disconnect handling
feat: Track connection interval feat: Add connection options fix: Increase GATT timeout for high connection intervals
1 parent c32c755 commit 6291de0

36 files changed

+746
-609
lines changed

lib/bindings/hci/Adapter.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,15 @@ export declare class HciAdapter extends Adapter {
1717
private uuidToHandle;
1818
private handleToUUID;
1919
private init;
20+
private onHciStateChange;
2021
private onHciError;
2122
dispose(): void;
2223
isScanning(): Promise<boolean>;
2324
startScanning(): Promise<void>;
2425
stopScanning(): Promise<void>;
2526
getScannedPeripherals(): Promise<Peripheral[]>;
2627
private onDiscover;
27-
connect(peripheral: HciPeripheral): Promise<void>;
28+
connect(peripheral: HciPeripheral, minInterval?: number, maxInterval?: number, latency?: number, supervisionTimeout?: number): Promise<void>;
2829
disconnect(peripheral: HciPeripheral): Promise<void>;
2930
isAdvertising(): Promise<boolean>;
3031
startAdvertising(deviceName: string, serviceUUIDs?: string[]): Promise<void>;

lib/bindings/hci/Adapter.js

Lines changed: 23 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/bindings/hci/Adapter.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/bindings/hci/Peripheral.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ export declare class HciPeripheral extends Peripheral {
1010
private signaling;
1111
private _isMaster;
1212
get isMaster(): boolean;
13-
connect(): Promise<void>;
13+
connect(minInterval?: number, maxInterval?: number, latency?: number, supervisionTimeout?: number): Promise<void>;
1414
onConnect(isMaster: boolean, hci: Hci, handle: number): void;
1515
disconnect(): Promise<void>;
16-
onDisconnect(): void;
16+
onDisconnect(reason?: string): void;
1717
setupGatt(requestMtu?: number): Promise<GattRemote>;
1818
}

lib/bindings/hci/Peripheral.js

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/bindings/hci/Peripheral.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/bindings/hci/gatt/remote/Gatt.d.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,15 @@ export declare class HciGattRemote extends GattRemote {
99
private handle;
1010
private security;
1111
private mtuWasExchanged;
12+
private disposeReason;
1213
private mutex;
1314
private mutexStack;
1415
private currentCmd;
1516
private cmdTimeout;
1617
services: Map<string, HciGattServiceRemote>;
1718
constructor(peripheral: Peripheral, hci: Hci, handle: number, cmdTimeout?: number);
1819
private acquireMutex;
19-
dispose(): void;
20-
private onHciStateChange;
21-
private onHciDisconnect;
20+
dispose(reason?: string): void;
2221
private onAclStreamData;
2322
private errorResponse;
2423
private queueCommand;

lib/bindings/hci/gatt/remote/Gatt.js

Lines changed: 10 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/bindings/hci/gatt/remote/Gatt.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/bindings/hci/misc/Gap.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export declare class Gap extends EventEmitter {
1515
startScanning(allowDuplicates: boolean): Promise<void>;
1616
stopScanning(): Promise<void>;
1717
startAdvertising(name: string, serviceUuids: string[]): Promise<void>;
18-
startAdvertisingWithEIRData(advertisementData: Buffer, scanData: Buffer): Promise<void>;
18+
startAdvertisingWithEIRData(advertisementData?: Buffer, scanData?: Buffer): Promise<void>;
1919
stopAdvertising(): Promise<void>;
2020
private onHciLeAdvertisingReport;
2121
}

0 commit comments

Comments
 (0)