@microbit/microbit-connection 0.0.0-alpha.2 → 0.0.0-alpha.3
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/build/accelerometer-service.d.ts +1 -1
- package/build/accelerometer-service.js +18 -2
- package/build/accelerometer-service.js.map +1 -1
- package/build/bluetooth-device-wrapper.d.ts +11 -6
- package/build/bluetooth-device-wrapper.js +21 -9
- package/build/bluetooth-device-wrapper.js.map +1 -1
- package/build/bluetooth.d.ts +1 -0
- package/build/bluetooth.js +18 -4
- package/build/bluetooth.js.map +1 -1
- package/build/device.d.ts +10 -1
- package/build/device.js +17 -0
- package/build/device.js.map +1 -1
- package/build/service-events.d.ts +3 -2
- package/build/service-events.js.map +1 -1
- package/package.json +2 -2
- package/vite.config.ts +1 -1
|
@@ -8,7 +8,7 @@ export declare class AccelerometerService {
|
|
|
8
8
|
private isNotifying;
|
|
9
9
|
private queueGattOperation;
|
|
10
10
|
constructor(accelerometerDataCharacteristic: BluetoothRemoteGATTCharacteristic, accelerometerPeriodCharacteristic: BluetoothRemoteGATTCharacteristic, dispatchTypedEvent: TypedServiceEventDispatcher, isNotifying: boolean, queueGattOperation: (gattOperation: GattOperation) => void);
|
|
11
|
-
static createService(gattServer: BluetoothRemoteGATTServer, dispatcher: TypedServiceEventDispatcher, isNotifying: boolean, queueGattOperation: (gattOperation: GattOperation) => void): Promise<AccelerometerService>;
|
|
11
|
+
static createService(gattServer: BluetoothRemoteGATTServer, dispatcher: TypedServiceEventDispatcher, isNotifying: boolean, queueGattOperation: (gattOperation: GattOperation) => void, listenerInit: boolean): Promise<AccelerometerService | undefined>;
|
|
12
12
|
private dataViewToData;
|
|
13
13
|
getData(): Promise<AccelerometerData>;
|
|
14
14
|
getPeriod(): Promise<number>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AccelerometerDataEvent } from "./accelerometer.js";
|
|
2
2
|
import { profile } from "./bluetooth-profile.js";
|
|
3
3
|
import { createGattOperationPromise } from "./bluetooth-utils.js";
|
|
4
|
+
import { BackgroundErrorEvent, DeviceError } from "./device.js";
|
|
4
5
|
export class AccelerometerService {
|
|
5
6
|
constructor(accelerometerDataCharacteristic, accelerometerPeriodCharacteristic, dispatchTypedEvent, isNotifying, queueGattOperation) {
|
|
6
7
|
Object.defineProperty(this, "accelerometerDataCharacteristic", {
|
|
@@ -38,8 +39,23 @@ export class AccelerometerService {
|
|
|
38
39
|
this.startNotifications();
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
|
-
static async createService(gattServer, dispatcher, isNotifying, queueGattOperation) {
|
|
42
|
-
|
|
42
|
+
static async createService(gattServer, dispatcher, isNotifying, queueGattOperation, listenerInit) {
|
|
43
|
+
let accelerometerService;
|
|
44
|
+
try {
|
|
45
|
+
accelerometerService = await gattServer.getPrimaryService(profile.accelerometer.id);
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
if (listenerInit) {
|
|
49
|
+
dispatcher("backgrounderror", new BackgroundErrorEvent(err));
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
throw new DeviceError({
|
|
54
|
+
code: "service-missing",
|
|
55
|
+
message: err,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
43
59
|
const accelerometerDataCharacteristic = await accelerometerService.getCharacteristic(profile.accelerometer.characteristics.data.id);
|
|
44
60
|
const accelerometerPeriodCharacteristic = await accelerometerService.getCharacteristic(profile.accelerometer.characteristics.period.id);
|
|
45
61
|
return new AccelerometerService(accelerometerDataCharacteristic, accelerometerPeriodCharacteristic, dispatcher, isNotifying, queueGattOperation);
|
|
@@ -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;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"accelerometer-service.js","sourceRoot":"","sources":["../lib/accelerometer-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { AccelerometerService } from "./accelerometer-service.js";
|
|
7
7
|
import { BoardVersion, DeviceError } from "./device.js";
|
|
8
8
|
import { Logging } from "./logging.js";
|
|
9
|
-
import { TypedServiceEventDispatcher } from "./service-events.js";
|
|
9
|
+
import { ServiceConnectionEventMap, TypedServiceEventDispatcher } from "./service-events.js";
|
|
10
10
|
export interface GattOperationCallback {
|
|
11
11
|
resolve: (result: DataView | void) => void;
|
|
12
12
|
reject: (error: DeviceError) => void;
|
|
@@ -19,6 +19,7 @@ export declare class BluetoothDeviceWrapper {
|
|
|
19
19
|
readonly device: BluetoothDevice;
|
|
20
20
|
private logging;
|
|
21
21
|
private dispatchTypedEvent;
|
|
22
|
+
private addedServiceListeners;
|
|
22
23
|
private duringExplicitConnectDisconnect;
|
|
23
24
|
private gattConnectPromise;
|
|
24
25
|
private disconnectPromise;
|
|
@@ -27,14 +28,16 @@ export declare class BluetoothDeviceWrapper {
|
|
|
27
28
|
private reconnectReadyPromise;
|
|
28
29
|
private accelerometerService;
|
|
29
30
|
boardVersion: BoardVersion | undefined;
|
|
30
|
-
|
|
31
|
+
serviceListenerState: {
|
|
31
32
|
accelerometerdatachanged: {
|
|
32
33
|
notifying: boolean;
|
|
33
|
-
service: (
|
|
34
|
+
service: (options?: {
|
|
35
|
+
listenerInit: boolean;
|
|
36
|
+
}) => Promise<AccelerometerService | undefined>;
|
|
34
37
|
};
|
|
35
38
|
};
|
|
36
39
|
private gattOperations;
|
|
37
|
-
constructor(device: BluetoothDevice, logging: Logging, dispatchTypedEvent: TypedServiceEventDispatcher);
|
|
40
|
+
constructor(device: BluetoothDevice, logging: Logging, dispatchTypedEvent: TypedServiceEventDispatcher, addedServiceListeners: Record<keyof ServiceConnectionEventMap, boolean>);
|
|
38
41
|
connect(): Promise<void>;
|
|
39
42
|
disconnect(): Promise<void>;
|
|
40
43
|
private disconnectInternal;
|
|
@@ -45,7 +48,9 @@ export declare class BluetoothDeviceWrapper {
|
|
|
45
48
|
private queueGattOperation;
|
|
46
49
|
private processGattOperationQueue;
|
|
47
50
|
private clearGattQueueOnDisconnect;
|
|
48
|
-
getAccelerometerService(
|
|
51
|
+
getAccelerometerService(options?: {
|
|
52
|
+
listenerInit: boolean;
|
|
53
|
+
}): Promise<AccelerometerService | undefined>;
|
|
49
54
|
private disposeServices;
|
|
50
55
|
}
|
|
51
|
-
export declare const createBluetoothDeviceWrapper: (device: BluetoothDevice, logging: Logging, dispatchTypedEvent: TypedServiceEventDispatcher) => Promise<BluetoothDeviceWrapper | undefined>;
|
|
56
|
+
export declare const createBluetoothDeviceWrapper: (device: BluetoothDevice, logging: Logging, dispatchTypedEvent: TypedServiceEventDispatcher, addedServiceListeners: Record<keyof ServiceConnectionEventMap, boolean>) => Promise<BluetoothDeviceWrapper | undefined>;
|
|
@@ -10,7 +10,10 @@ import { NullLogging } from "./logging.js";
|
|
|
10
10
|
const deviceIdToWrapper = new Map();
|
|
11
11
|
const connectTimeoutDuration = 10000;
|
|
12
12
|
function findPlatform() {
|
|
13
|
-
const navigator = window.navigator;
|
|
13
|
+
const navigator = typeof window !== "undefined" ? window.navigator : undefined;
|
|
14
|
+
if (!navigator) {
|
|
15
|
+
return "unknown";
|
|
16
|
+
}
|
|
14
17
|
const platform = navigator.userAgentData?.platform;
|
|
15
18
|
if (platform) {
|
|
16
19
|
return platform;
|
|
@@ -21,7 +24,7 @@ function findPlatform() {
|
|
|
21
24
|
const platform = findPlatform();
|
|
22
25
|
const isWindowsOS = platform && /^Win/.test(platform);
|
|
23
26
|
export class BluetoothDeviceWrapper {
|
|
24
|
-
constructor(device, logging = new NullLogging(), dispatchTypedEvent) {
|
|
27
|
+
constructor(device, logging = new NullLogging(), dispatchTypedEvent, addedServiceListeners) {
|
|
25
28
|
Object.defineProperty(this, "device", {
|
|
26
29
|
enumerable: true,
|
|
27
30
|
configurable: true,
|
|
@@ -40,6 +43,12 @@ export class BluetoothDeviceWrapper {
|
|
|
40
43
|
writable: true,
|
|
41
44
|
value: dispatchTypedEvent
|
|
42
45
|
});
|
|
46
|
+
Object.defineProperty(this, "addedServiceListeners", {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
configurable: true,
|
|
49
|
+
writable: true,
|
|
50
|
+
value: addedServiceListeners
|
|
51
|
+
});
|
|
43
52
|
// Used to avoid automatic reconnection during user triggered connect/disconnect
|
|
44
53
|
// or reconnection itself.
|
|
45
54
|
Object.defineProperty(this, "duringExplicitConnectDisconnect", {
|
|
@@ -99,7 +108,7 @@ export class BluetoothDeviceWrapper {
|
|
|
99
108
|
writable: true,
|
|
100
109
|
value: void 0
|
|
101
110
|
});
|
|
102
|
-
Object.defineProperty(this, "
|
|
111
|
+
Object.defineProperty(this, "serviceListenerState", {
|
|
103
112
|
enumerable: true,
|
|
104
113
|
configurable: true,
|
|
105
114
|
writable: true,
|
|
@@ -176,6 +185,9 @@ export class BluetoothDeviceWrapper {
|
|
|
176
185
|
}
|
|
177
186
|
});
|
|
178
187
|
device.addEventListener("gattserverdisconnected", this.handleDisconnectEvent);
|
|
188
|
+
for (const [key, value] of Object.entries(this.addedServiceListeners)) {
|
|
189
|
+
this.serviceListenerState[key].notifying = value;
|
|
190
|
+
}
|
|
179
191
|
}
|
|
180
192
|
async connect() {
|
|
181
193
|
this.logging.event({
|
|
@@ -249,9 +261,9 @@ export class BluetoothDeviceWrapper {
|
|
|
249
261
|
}
|
|
250
262
|
// Restart notifications for services and characteristics
|
|
251
263
|
// the user has listened to.
|
|
252
|
-
for (const serviceListener of Object.values(this.
|
|
264
|
+
for (const serviceListener of Object.values(this.serviceListenerState)) {
|
|
253
265
|
if (serviceListener.notifying) {
|
|
254
|
-
serviceListener.service.call(this);
|
|
266
|
+
serviceListener.service.call(this, { listenerInit: true });
|
|
255
267
|
}
|
|
256
268
|
}
|
|
257
269
|
this.logging.event({
|
|
@@ -345,10 +357,10 @@ export class BluetoothDeviceWrapper {
|
|
|
345
357
|
});
|
|
346
358
|
this.gattOperations = { busy: false, queue: [] };
|
|
347
359
|
}
|
|
348
|
-
async getAccelerometerService() {
|
|
360
|
+
async getAccelerometerService(options = { listenerInit: false }) {
|
|
349
361
|
if (!this.accelerometerService) {
|
|
350
362
|
const gattServer = this.assertGattServer();
|
|
351
|
-
this.accelerometerService = await AccelerometerService.createService(gattServer, this.dispatchTypedEvent, this.
|
|
363
|
+
this.accelerometerService = await AccelerometerService.createService(gattServer, this.dispatchTypedEvent, this.serviceListenerState.accelerometerdatachanged.notifying, this.queueGattOperation.bind(this), options?.listenerInit);
|
|
352
364
|
}
|
|
353
365
|
return this.accelerometerService;
|
|
354
366
|
}
|
|
@@ -357,12 +369,12 @@ export class BluetoothDeviceWrapper {
|
|
|
357
369
|
this.clearGattQueueOnDisconnect();
|
|
358
370
|
}
|
|
359
371
|
}
|
|
360
|
-
export const createBluetoothDeviceWrapper = async (device, logging, dispatchTypedEvent) => {
|
|
372
|
+
export const createBluetoothDeviceWrapper = async (device, logging, dispatchTypedEvent, addedServiceListeners) => {
|
|
361
373
|
try {
|
|
362
374
|
// Reuse our connection objects for the same device as they
|
|
363
375
|
// track the GATT connect promise that never resolves.
|
|
364
376
|
const bluetooth = deviceIdToWrapper.get(device.id) ??
|
|
365
|
-
new BluetoothDeviceWrapper(device, logging, dispatchTypedEvent);
|
|
377
|
+
new BluetoothDeviceWrapper(device, logging, dispatchTypedEvent, addedServiceListeners);
|
|
366
378
|
deviceIdToWrapper.set(device.id, bluetooth);
|
|
367
379
|
await bluetooth.connect();
|
|
368
380
|
return bluetooth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bluetooth-device-wrapper.js","sourceRoot":"","sources":["../lib/bluetooth-device-wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAgB,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAW,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"bluetooth-device-wrapper.js","sourceRoot":"","sources":["../lib/bluetooth-device-wrapper.ts"],"names":[],"mappings":"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"}
|
package/build/bluetooth.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export declare class MicrobitWebBluetoothConnection extends TypedEventTarget<Dev
|
|
|
26
26
|
connection: BluetoothDeviceWrapper | undefined;
|
|
27
27
|
private _addEventListener;
|
|
28
28
|
private _removeEventListener;
|
|
29
|
+
private addedServiceListeners;
|
|
29
30
|
constructor(options?: MicrobitWebBluetoothConnectionOptions);
|
|
30
31
|
private log;
|
|
31
32
|
initialize(): Promise<void>;
|
package/build/bluetooth.js
CHANGED
|
@@ -53,6 +53,14 @@ export class MicrobitWebBluetoothConnection extends TypedEventTarget {
|
|
|
53
53
|
writable: true,
|
|
54
54
|
value: this.removeEventListener
|
|
55
55
|
});
|
|
56
|
+
Object.defineProperty(this, "addedServiceListeners", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
configurable: true,
|
|
59
|
+
writable: true,
|
|
60
|
+
value: {
|
|
61
|
+
accelerometerdatachanged: false,
|
|
62
|
+
}
|
|
63
|
+
});
|
|
56
64
|
this.logging = options.logging || new NullLogging();
|
|
57
65
|
this.addEventListener = (type, ...args) => {
|
|
58
66
|
this._addEventListener(type, ...args);
|
|
@@ -144,7 +152,7 @@ export class MicrobitWebBluetoothConnection extends TypedEventTarget {
|
|
|
144
152
|
if (!device) {
|
|
145
153
|
return;
|
|
146
154
|
}
|
|
147
|
-
this.connection = await createBluetoothDeviceWrapper(device, this.logging, this.dispatchTypedEvent.bind(this));
|
|
155
|
+
this.connection = await createBluetoothDeviceWrapper(device, this.logging, this.dispatchTypedEvent.bind(this), this.addedServiceListeners);
|
|
148
156
|
}
|
|
149
157
|
// TODO: timeout unification?
|
|
150
158
|
// Connection happens inside createBluetoothDeviceWrapper.
|
|
@@ -212,19 +220,25 @@ export class MicrobitWebBluetoothConnection extends TypedEventTarget {
|
|
|
212
220
|
accelerometerService?.setPeriod(value);
|
|
213
221
|
}
|
|
214
222
|
async startAccelerometerNotifications() {
|
|
215
|
-
const accelerometerService = await this.connection?.getAccelerometerService();
|
|
223
|
+
const accelerometerService = await this.connection?.getAccelerometerService({ listenerInit: true });
|
|
216
224
|
accelerometerService?.startNotifications();
|
|
217
225
|
if (this.connection) {
|
|
218
|
-
this.connection.
|
|
226
|
+
this.connection.serviceListenerState.accelerometerdatachanged.notifying =
|
|
219
227
|
true;
|
|
220
228
|
}
|
|
229
|
+
else {
|
|
230
|
+
this.addedServiceListeners.accelerometerdatachanged = true;
|
|
231
|
+
}
|
|
221
232
|
}
|
|
222
233
|
async stopAccelerometerNotifications() {
|
|
223
234
|
const accelerometerService = await this.connection?.getAccelerometerService();
|
|
224
235
|
if (this.connection) {
|
|
225
|
-
this.connection.
|
|
236
|
+
this.connection.serviceListenerState.accelerometerdatachanged.notifying =
|
|
226
237
|
false;
|
|
227
238
|
}
|
|
239
|
+
else {
|
|
240
|
+
this.addedServiceListeners.accelerometerdatachanged = false;
|
|
241
|
+
}
|
|
228
242
|
accelerometerService?.stopNotifications();
|
|
229
243
|
}
|
|
230
244
|
async startNotifications(type) {
|
package/build/bluetooth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bluetooth.js","sourceRoot":"","sources":["../lib/bluetooth.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EAGnB,gBAAgB,EAChB,qBAAqB,EAGrB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAW,WAAW,EAAE,MAAM,cAAc,CAAC;AAMpD,MAAM,4BAA4B,GAAW,KAAK,CAAC;AAMnD;;GAEG;AACH,MAAM,OAAO,8BACX,SAAQ,gBAAsE;
|
|
1
|
+
{"version":3,"file":"bluetooth.js","sourceRoot":"","sources":["../lib/bluetooth.ts"],"names":[],"mappings":"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"}
|
package/build/device.d.ts
CHANGED
|
@@ -38,7 +38,11 @@ export type DeviceErrorCode =
|
|
|
38
38
|
/**
|
|
39
39
|
* Error occured during serial or bluetooth communication.
|
|
40
40
|
*/
|
|
41
|
-
| "background-comms-error"
|
|
41
|
+
| "background-comms-error"
|
|
42
|
+
/**
|
|
43
|
+
* Bluetooth service is missing on device.
|
|
44
|
+
*/
|
|
45
|
+
| "service-missing";
|
|
42
46
|
/**
|
|
43
47
|
* Error type used for all interactions with this module.
|
|
44
48
|
*
|
|
@@ -134,6 +138,10 @@ export declare class BeforeRequestDevice extends Event {
|
|
|
134
138
|
export declare class AfterRequestDevice extends Event {
|
|
135
139
|
constructor();
|
|
136
140
|
}
|
|
141
|
+
export declare class BackgroundErrorEvent extends Event {
|
|
142
|
+
readonly errorMessage: string;
|
|
143
|
+
constructor(errorMessage: string);
|
|
144
|
+
}
|
|
137
145
|
export declare class DeviceConnectionEventMap {
|
|
138
146
|
"status": ConnectionStatusEvent;
|
|
139
147
|
"serialdata": SerialDataEvent;
|
|
@@ -142,6 +150,7 @@ export declare class DeviceConnectionEventMap {
|
|
|
142
150
|
"flash": Event;
|
|
143
151
|
"beforerequestdevice": Event;
|
|
144
152
|
"afterrequestdevice": Event;
|
|
153
|
+
"backgrounderror": BackgroundErrorEvent;
|
|
145
154
|
}
|
|
146
155
|
export interface DeviceConnection extends TypedEventTarget<DeviceConnectionEventMap> {
|
|
147
156
|
status: ConnectionStatus;
|
package/build/device.js
CHANGED
|
@@ -104,6 +104,17 @@ export class AfterRequestDevice extends Event {
|
|
|
104
104
|
super("afterrequestdevice");
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
+
export class BackgroundErrorEvent extends Event {
|
|
108
|
+
constructor(errorMessage) {
|
|
109
|
+
super("backgrounderror");
|
|
110
|
+
Object.defineProperty(this, "errorMessage", {
|
|
111
|
+
enumerable: true,
|
|
112
|
+
configurable: true,
|
|
113
|
+
writable: true,
|
|
114
|
+
value: errorMessage
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
107
118
|
export class DeviceConnectionEventMap {
|
|
108
119
|
constructor() {
|
|
109
120
|
Object.defineProperty(this, "status", {
|
|
@@ -148,6 +159,12 @@ export class DeviceConnectionEventMap {
|
|
|
148
159
|
writable: true,
|
|
149
160
|
value: void 0
|
|
150
161
|
});
|
|
162
|
+
Object.defineProperty(this, "backgrounderror", {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
configurable: true,
|
|
165
|
+
writable: true,
|
|
166
|
+
value: void 0
|
|
167
|
+
});
|
|
151
168
|
}
|
|
152
169
|
}
|
|
153
170
|
//# sourceMappingURL=device.js.map
|
package/build/device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../lib/device.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../lib/device.ts"],"names":[],"mappings":"AA+CA;;;;;;;;GAQG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAEpC,YAAY,EAAE,IAAI,EAAE,OAAO,EAA+C;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QAFjB;;;;;WAAsB;QAGpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,gBAyBX;AAzBD,WAAY,gBAAgB;IAC1B;;;OAGG;IACH,iFAAiB,CAAA;IACjB;;OAEG;IACH,mDAA+B,CAAA;IAC/B;;;;;OAKG;IACH,sDAAkC,CAAA;IAClC;;OAEG;IACH,mDAA+B,CAAA;IAC/B;;OAEG;IACH,2CAAuB,CAAA;AACzB,CAAC,EAzBW,gBAAgB,KAAhB,gBAAgB,QAyB3B;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AA+B5C,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAA4B,MAAwB;QAClD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADN;;;;mBAAgB,MAAM;WAAkB;IAEpD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAA4B,IAAY;QACtC,KAAK,CAAC,YAAY,CAAC,CAAC;QADV;;;;mBAAgB,IAAI;WAAQ;IAExC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC;QACE,KAAK,CAAC,aAAa,CAAC,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAA4B,KAAc;QACxC,KAAK,CAAC,aAAa,CAAC,CAAC;QADX;;;;mBAAgB,KAAK;WAAS;IAE1C,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC;QACE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAA4B,YAAoB;QAC9C,KAAK,CAAC,iBAAiB,CAAC,CAAC;QADf;;;;mBAAgB,YAAY;WAAQ;IAEhD,CAAC;CACF;AAED,MAAM,OAAO,wBAAwB;IAArC;QACE,4BAAA,QAAQ;;;;;WAAwB;QAChC,4BAAA,YAAY;;;;;WAAkB;QAC9B,4BAAA,aAAa;;;;;WAAQ;QACrB,4BAAA,aAAa;;;;;WAAQ;QACrB,4BAAA,OAAO;;;;;WAAQ;QACf,4BAAA,qBAAqB;;;;;WAAQ;QAC7B,4BAAA,oBAAoB;;;;;WAAQ;QAC5B,4BAAA,iBAAiB;;;;;WAAuB;IAC1C,CAAC;CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { AccelerometerDataEvent } from "./accelerometer.js";
|
|
2
|
+
import { DeviceConnectionEventMap } from "./device.js";
|
|
2
3
|
export declare class ServiceConnectionEventMap {
|
|
3
4
|
"accelerometerdatachanged": AccelerometerDataEvent;
|
|
4
5
|
}
|
|
5
6
|
export type CharacteristicDataTarget = EventTarget & {
|
|
6
7
|
value: DataView;
|
|
7
8
|
};
|
|
8
|
-
export type TypedServiceEvent = keyof ServiceConnectionEventMap;
|
|
9
|
-
export type TypedServiceEventDispatcher = (_type: TypedServiceEvent, event: ServiceConnectionEventMap[TypedServiceEvent]) => boolean;
|
|
9
|
+
export type TypedServiceEvent = keyof (ServiceConnectionEventMap & DeviceConnectionEventMap);
|
|
10
|
+
export type TypedServiceEventDispatcher = (_type: TypedServiceEvent, event: (ServiceConnectionEventMap & DeviceConnectionEventMap)[TypedServiceEvent]) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-events.js","sourceRoot":"","sources":["../lib/service-events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service-events.js","sourceRoot":"","sources":["../lib/service-events.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,yBAAyB;IAAtC;QACE,4BAAA,0BAA0B;;;;;WAAyB;IACrD,CAAC;CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microbit/microbit-connection",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "./build/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@microbit/microbit-universal-hex": "^0.2.2",
|
|
28
28
|
"@types/web-bluetooth": "^0.0.20",
|
|
29
|
-
"dapjs": "
|
|
29
|
+
"dapjs": "github:microbit-matt-hillsdon/dapjs#v2.3.0-microbit.2",
|
|
30
30
|
"nrf-intel-hex": "^1.4.0"
|
|
31
31
|
}
|
|
32
32
|
}
|
package/vite.config.ts
CHANGED
|
@@ -22,7 +22,7 @@ export default defineConfig(({ mode }) => {
|
|
|
22
22
|
},
|
|
23
23
|
},
|
|
24
24
|
test: {
|
|
25
|
-
exclude: [...configDefaults.exclude, "**/e2e/**"],
|
|
25
|
+
exclude: [...configDefaults.exclude, "**/e2e/**", "build"],
|
|
26
26
|
environment: "jsdom",
|
|
27
27
|
setupFiles: "./lib/setupTests.ts",
|
|
28
28
|
mockReset: true,
|