@microbit/microbit-connection 0.1.0 → 0.9.0-apps.alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/build/cjs/accelerometer-service.d.ts +5 -5
- package/build/cjs/accelerometer-service.js +41 -42
- package/build/cjs/accelerometer-service.js.map +1 -1
- package/build/cjs/async-util.d.ts +9 -0
- package/build/cjs/async-util.js +27 -7
- package/build/cjs/async-util.js.map +1 -1
- package/build/cjs/bluetooth-device-wrapper.d.ts +61 -27
- package/build/cjs/bluetooth-device-wrapper.js +285 -266
- package/build/cjs/bluetooth-device-wrapper.js.map +1 -1
- package/build/cjs/bluetooth-profile.d.ts +43 -35
- package/build/cjs/bluetooth-profile.js +35 -29
- package/build/cjs/bluetooth-profile.js.map +1 -1
- package/build/cjs/bluetooth.d.ts +10 -6
- package/build/cjs/bluetooth.js +286 -100
- package/build/cjs/bluetooth.js.map +1 -1
- package/build/cjs/button-service.d.ts +5 -5
- package/build/cjs/button-service.js +31 -45
- package/build/cjs/button-service.js.map +1 -1
- package/build/cjs/device-information-service.d.ts +6 -0
- package/build/cjs/device-information-service.js +34 -0
- package/build/cjs/device-information-service.js.map +1 -0
- package/build/cjs/device.d.ts +65 -8
- package/build/cjs/device.js +16 -2
- package/build/cjs/device.js.map +1 -1
- package/build/cjs/dfu-service.d.ts +9 -0
- package/build/cjs/dfu-service.js +26 -0
- package/build/cjs/dfu-service.js.map +1 -0
- package/build/cjs/flashing/flashing-full.d.ts +14 -0
- package/build/cjs/flashing/flashing-full.js +87 -0
- package/build/cjs/flashing/flashing-full.js.map +1 -0
- package/build/cjs/flashing/flashing-makecode.d.ts +6 -0
- package/build/cjs/flashing/flashing-makecode.js +48 -0
- package/build/cjs/flashing/flashing-makecode.js.map +1 -0
- package/build/cjs/flashing/flashing-partial.d.ts +9 -0
- package/build/cjs/flashing/flashing-partial.js +98 -0
- package/build/cjs/flashing/flashing-partial.js.map +1 -0
- package/build/cjs/flashing/flashing-v1.d.ts +11 -0
- package/build/cjs/flashing/flashing-v1.js +24 -0
- package/build/cjs/flashing/flashing-v1.js.map +1 -0
- package/build/cjs/flashing/nordic-dfu.d.ts +3 -0
- package/build/cjs/flashing/nordic-dfu.js +214 -0
- package/build/cjs/flashing/nordic-dfu.js.map +1 -0
- package/build/cjs/flashing/zip.d.ts +12 -0
- package/build/cjs/flashing/zip.js +177 -0
- package/build/cjs/flashing/zip.js.map +1 -0
- package/build/cjs/index.d.ts +3 -3
- package/build/cjs/index.js +2 -1
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/led-service.d.ts +5 -7
- package/build/cjs/led-service.js +13 -44
- package/build/cjs/led-service.js.map +1 -1
- package/build/cjs/logging.d.ts +1 -1
- package/build/cjs/logging.js +3 -3
- package/build/cjs/logging.js.map +1 -1
- package/build/cjs/magnetometer-service.d.ts +5 -9
- package/build/cjs/magnetometer-service.js +30 -65
- package/build/cjs/magnetometer-service.js.map +1 -1
- package/build/cjs/partial-flashing-service.d.ts +45 -0
- package/build/cjs/partial-flashing-service.js +110 -0
- package/build/cjs/partial-flashing-service.js.map +1 -0
- package/build/cjs/uart-service.d.ts +4 -5
- package/build/cjs/uart-service.js +19 -40
- package/build/cjs/uart-service.js.map +1 -1
- package/build/cjs/usb-device-wrapper.js +33 -8
- package/build/cjs/usb-device-wrapper.js.map +1 -1
- package/build/cjs/usb-partial-flashing.d.ts +1 -3
- package/build/cjs/usb-partial-flashing.js +4 -3
- package/build/cjs/usb-partial-flashing.js.map +1 -1
- package/build/cjs/usb-radio-bridge.js +1 -2
- package/build/cjs/usb-radio-bridge.js.map +1 -1
- package/build/cjs/usb.d.ts +4 -2
- package/build/cjs/usb.js +31 -16
- package/build/cjs/usb.js.map +1 -1
- package/build/esm/accelerometer-service.d.ts +5 -5
- package/build/esm/accelerometer-service.js +42 -43
- package/build/esm/accelerometer-service.js.map +1 -1
- package/build/esm/async-util.d.ts +9 -0
- package/build/esm/async-util.js +22 -6
- package/build/esm/async-util.js.map +1 -1
- package/build/esm/bluetooth-device-wrapper.d.ts +61 -27
- package/build/esm/bluetooth-device-wrapper.js +284 -265
- package/build/esm/bluetooth-device-wrapper.js.map +1 -1
- package/build/esm/bluetooth-profile.d.ts +43 -35
- package/build/esm/bluetooth-profile.js +35 -29
- package/build/esm/bluetooth-profile.js.map +1 -1
- package/build/esm/bluetooth.d.ts +10 -6
- package/build/esm/bluetooth.js +263 -103
- package/build/esm/bluetooth.js.map +1 -1
- package/build/esm/button-service.d.ts +5 -5
- package/build/esm/button-service.js +32 -46
- package/build/esm/button-service.js.map +1 -1
- package/build/esm/device-information-service.d.ts +6 -0
- package/build/esm/device-information-service.js +30 -0
- package/build/esm/device-information-service.js.map +1 -0
- package/build/esm/device.d.ts +65 -8
- package/build/esm/device.js +15 -1
- package/build/esm/device.js.map +1 -1
- package/build/esm/dfu-service.d.ts +9 -0
- package/build/esm/dfu-service.js +22 -0
- package/build/esm/dfu-service.js.map +1 -0
- package/build/esm/flashing/flashing-full.d.ts +14 -0
- package/build/esm/flashing/flashing-full.js +84 -0
- package/build/esm/flashing/flashing-full.js.map +1 -0
- package/build/esm/flashing/flashing-makecode.d.ts +6 -0
- package/build/esm/flashing/flashing-makecode.js +44 -0
- package/build/esm/flashing/flashing-makecode.js.map +1 -0
- package/build/esm/flashing/flashing-partial.d.ts +9 -0
- package/build/esm/flashing/flashing-partial.js +95 -0
- package/build/esm/flashing/flashing-partial.js.map +1 -0
- package/build/esm/flashing/flashing-v1.d.ts +11 -0
- package/build/esm/flashing/flashing-v1.js +20 -0
- package/build/esm/flashing/flashing-v1.js.map +1 -0
- package/build/esm/flashing/nordic-dfu.d.ts +3 -0
- package/build/esm/flashing/nordic-dfu.js +211 -0
- package/build/esm/flashing/nordic-dfu.js.map +1 -0
- package/build/esm/flashing/zip.d.ts +12 -0
- package/build/esm/flashing/zip.js +174 -0
- package/build/esm/flashing/zip.js.map +1 -0
- package/build/esm/index.d.ts +3 -3
- package/build/esm/index.js +2 -2
- package/build/esm/index.js.map +1 -1
- package/build/esm/led-service.d.ts +5 -7
- package/build/esm/led-service.js +13 -44
- package/build/esm/led-service.js.map +1 -1
- package/build/esm/logging.d.ts +1 -1
- package/build/esm/logging.js +1 -1
- package/build/esm/logging.js.map +1 -1
- package/build/esm/magnetometer-service.d.ts +5 -9
- package/build/esm/magnetometer-service.js +31 -66
- package/build/esm/magnetometer-service.js.map +1 -1
- package/build/esm/partial-flashing-service.d.ts +45 -0
- package/build/esm/partial-flashing-service.js +106 -0
- package/build/esm/partial-flashing-service.js.map +1 -0
- package/build/esm/uart-service.d.ts +4 -5
- package/build/esm/uart-service.js +19 -40
- package/build/esm/uart-service.js.map +1 -1
- package/build/esm/usb-device-wrapper.js +33 -8
- package/build/esm/usb-device-wrapper.js.map +1 -1
- package/build/esm/usb-partial-flashing.d.ts +1 -3
- package/build/esm/usb-partial-flashing.js +4 -3
- package/build/esm/usb-partial-flashing.js.map +1 -1
- package/build/esm/usb-radio-bridge.js +2 -3
- package/build/esm/usb-radio-bridge.js.map +1 -1
- package/build/esm/usb.d.ts +4 -2
- package/build/esm/usb.js +33 -18
- package/build/esm/usb.js.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accelerometer-service.js","sourceRoot":"","sources":["../../lib/accelerometer-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"accelerometer-service.js","sourceRoot":"","sources":["../../lib/accelerometer-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,18 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export declare class TimeoutError extends Error {
|
|
7
7
|
}
|
|
8
|
+
export declare class DisconnectError extends Error {
|
|
9
|
+
constructor(message?: string);
|
|
10
|
+
}
|
|
8
11
|
/**
|
|
9
12
|
* Utility to time out an action after a delay.
|
|
10
13
|
*
|
|
11
14
|
* The action cannot be cancelled; it may still proceed after the timeout.
|
|
12
15
|
*/
|
|
13
16
|
export declare function withTimeout<T>(actionPromise: Promise<T>, timeout: number): Promise<T>;
|
|
17
|
+
export declare function delay(millis: number): Promise<unknown>;
|
|
18
|
+
export declare function timeoutErrorAfter<T>(millis: number, message?: string): Promise<T>;
|
|
19
|
+
export declare function disconnectErrorCallback<T>(message?: string): {
|
|
20
|
+
promise: Promise<T>;
|
|
21
|
+
callback: () => void | undefined;
|
|
22
|
+
};
|
package/build/esm/async-util.js
CHANGED
|
@@ -5,18 +5,34 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export class TimeoutError extends Error {
|
|
7
7
|
}
|
|
8
|
+
export class DisconnectError extends Error {
|
|
9
|
+
constructor(message = "Disconnect") {
|
|
10
|
+
super(message);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
8
13
|
/**
|
|
9
14
|
* Utility to time out an action after a delay.
|
|
10
15
|
*
|
|
11
16
|
* The action cannot be cancelled; it may still proceed after the timeout.
|
|
12
17
|
*/
|
|
13
18
|
export async function withTimeout(actionPromise, timeout) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
return Promise.race([
|
|
20
|
+
actionPromise,
|
|
21
|
+
timeoutErrorAfter(timeout),
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
export async function delay(millis) {
|
|
25
|
+
return new Promise((resolve) => setTimeout(resolve, millis));
|
|
26
|
+
}
|
|
27
|
+
export async function timeoutErrorAfter(millis, message = "Timeout") {
|
|
28
|
+
await delay(millis);
|
|
29
|
+
throw new TimeoutError(message);
|
|
30
|
+
}
|
|
31
|
+
export function disconnectErrorCallback(message = "Disconnect") {
|
|
32
|
+
let callback;
|
|
33
|
+
const promise = new Promise((_, reject) => {
|
|
34
|
+
callback = () => reject(new DisconnectError(message));
|
|
18
35
|
});
|
|
19
|
-
|
|
20
|
-
return Promise.race([actionPromise, timeoutPromise]);
|
|
36
|
+
return { promise, callback: callback };
|
|
21
37
|
}
|
|
22
38
|
//# sourceMappingURL=async-util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-util.js","sourceRoot":"","sources":["../../lib/async-util.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;CAAG;AAE1C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,aAAyB,EACzB,OAAe;IAEf,MAAM,
|
|
1
|
+
{"version":3,"file":"async-util.js","sourceRoot":"","sources":["../../lib/async-util.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;CAAG;AAE1C,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,UAAkB,YAAY;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,aAAyB,EACzB,OAAe;IAEf,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,aAAa;QACb,iBAAiB,CAAC,OAAO,CAAC;KAC3B,CAAe,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAAc;IACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,UAAkB,SAAS;IAE3B,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAI,UAAkB,YAAY;IACvE,IAAI,QAAgC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC3C,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAS,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -3,14 +3,23 @@
|
|
|
3
3
|
*
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
|
+
import { BleDevice, TimeoutOptions } from "@capacitor-community/bluetooth-le";
|
|
6
7
|
import { AccelerometerService } from "./accelerometer-service.js";
|
|
8
|
+
import { ButtonService } from "./button-service.js";
|
|
9
|
+
import { DeviceInformationService } from "./device-information-service.js";
|
|
7
10
|
import { BoardVersion } from "./device.js";
|
|
8
11
|
import { LedService } from "./led-service.js";
|
|
9
|
-
import { Logging } from "./logging.js";
|
|
12
|
+
import { Logging, LoggingEvent } from "./logging.js";
|
|
10
13
|
import { MagnetometerService } from "./magnetometer-service.js";
|
|
11
14
|
import { ServiceConnectionEventMap, TypedServiceEvent, TypedServiceEventDispatcher } from "./service-events.js";
|
|
12
15
|
import { UARTService } from "./uart-service.js";
|
|
16
|
+
export declare const bondingTimeoutInMs = 40000;
|
|
17
|
+
export declare const connectTimeoutInMs = 10000;
|
|
18
|
+
export declare const scanningTimeoutInMs = 10000;
|
|
19
|
+
export declare const isAndroid: () => boolean;
|
|
13
20
|
export interface Service {
|
|
21
|
+
readonly uuid: string;
|
|
22
|
+
getRelevantEvents(): TypedServiceEvent[];
|
|
14
23
|
startNotifications(type: TypedServiceEvent): Promise<void>;
|
|
15
24
|
stopNotifications(type: TypedServiceEvent): Promise<void>;
|
|
16
25
|
}
|
|
@@ -20,44 +29,69 @@ interface ConnectCallbacks {
|
|
|
20
29
|
onFail: () => void;
|
|
21
30
|
onSuccess: () => void;
|
|
22
31
|
}
|
|
23
|
-
export declare class BluetoothDeviceWrapper {
|
|
24
|
-
readonly device:
|
|
32
|
+
export declare class BluetoothDeviceWrapper implements Logging {
|
|
33
|
+
readonly device: BleDevice;
|
|
25
34
|
private logging;
|
|
26
|
-
private dispatchTypedEvent;
|
|
27
35
|
private currentEvents;
|
|
28
36
|
private callbacks;
|
|
29
37
|
private duringExplicitConnectDisconnect;
|
|
30
|
-
private
|
|
31
|
-
private disconnectPromise;
|
|
32
|
-
private connecting;
|
|
38
|
+
private connected;
|
|
33
39
|
private isReconnect;
|
|
34
|
-
private
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
private serviceIds;
|
|
41
|
+
accelerometer: AccelerometerService;
|
|
42
|
+
buttons: ButtonService;
|
|
43
|
+
deviceInformation: DeviceInformationService;
|
|
44
|
+
led: LedService;
|
|
45
|
+
magnetometer: MagnetometerService;
|
|
46
|
+
uart: UARTService;
|
|
47
|
+
/**
|
|
48
|
+
* Only defined after connection.
|
|
49
|
+
*/
|
|
41
50
|
boardVersion: BoardVersion | undefined;
|
|
42
|
-
private
|
|
43
|
-
private
|
|
44
|
-
|
|
51
|
+
private services;
|
|
52
|
+
private waitingForDisconnectEventCallbacks;
|
|
53
|
+
private internalNotificationListeners;
|
|
54
|
+
constructor(device: BleDevice, logging: Logging, dispatchTypedEvent: TypedServiceEventDispatcher, currentEvents: () => Array<keyof ServiceConnectionEventMap>, callbacks: ConnectCallbacks);
|
|
45
55
|
connect(): Promise<void>;
|
|
56
|
+
private connectInternal;
|
|
46
57
|
disconnect(): Promise<void>;
|
|
47
58
|
private disconnectInternal;
|
|
48
59
|
reconnect(): Promise<void>;
|
|
49
60
|
handleDisconnectEvent: () => Promise<void>;
|
|
50
|
-
|
|
51
|
-
private getBoardVersion;
|
|
52
|
-
private queueGattOperation;
|
|
53
|
-
private createIfNeeded;
|
|
54
|
-
getAccelerometerService(): Promise<AccelerometerService | undefined>;
|
|
55
|
-
getLedService(): Promise<LedService | undefined>;
|
|
56
|
-
getMagnetometerService(): Promise<MagnetometerService | undefined>;
|
|
57
|
-
getUARTService(): Promise<UARTService | undefined>;
|
|
61
|
+
getBoardVersion(): Promise<BoardVersion>;
|
|
58
62
|
startNotifications(type: TypedServiceEvent): Promise<void>;
|
|
59
63
|
stopNotifications(type: TypedServiceEvent): Promise<void>;
|
|
60
|
-
private
|
|
64
|
+
private getServicesForEvent;
|
|
65
|
+
startInternalNotifications(serviceId: string, characteristicId: string, options?: TimeoutOptions): Promise<void>;
|
|
66
|
+
subscribe(serviceId: string, characteristicId: string, callback: (data: Uint8Array) => void): void;
|
|
67
|
+
unsubscribe(serviceId: string, characteristicId: string, callback: (data: Uint8Array) => void): void;
|
|
68
|
+
stopInternalNotifications(serviceId: string, characteristicId: string): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Write to characteristic and wait for a notification response.
|
|
71
|
+
*
|
|
72
|
+
* It is the responsibility of the caller to have started notifications
|
|
73
|
+
* for the characteristic.
|
|
74
|
+
*/
|
|
75
|
+
writeForNotification(serviceId: string, characteristicId: string, value: DataView, notificationId: number, isFinalNotification?: (p: Uint8Array) => boolean): Promise<Uint8Array>;
|
|
76
|
+
waitForDisconnect(timeout: number): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Suitable for running a series of BLE interactions with an overall timeout
|
|
79
|
+
* and general disconnection
|
|
80
|
+
*/
|
|
81
|
+
raceDisconnectAndTimeout<T>(promise: Promise<T>, options?: {
|
|
82
|
+
actionName?: string;
|
|
83
|
+
timeout?: number;
|
|
84
|
+
}): Promise<T>;
|
|
85
|
+
private disconnectErrorPromise;
|
|
86
|
+
event(event: LoggingEvent): void;
|
|
87
|
+
log(message: string): void;
|
|
88
|
+
error(message: string, e?: unknown): void;
|
|
89
|
+
private getNotificationKey;
|
|
90
|
+
/**
|
|
91
|
+
* Bonds with device and handles the post-bond device state only returning
|
|
92
|
+
* when we can reattempt a connection with the device.
|
|
93
|
+
*/
|
|
94
|
+
private connectHandlingBond;
|
|
95
|
+
private bondConnectDeviceInternal;
|
|
61
96
|
}
|
|
62
|
-
export declare const createBluetoothDeviceWrapper: (device: BluetoothDevice, logging: Logging, dispatchTypedEvent: TypedServiceEventDispatcher, currentEvents: () => Array<keyof ServiceConnectionEventMap>, callbacks: ConnectCallbacks) => Promise<BluetoothDeviceWrapper | undefined>;
|
|
63
97
|
export {};
|