@microbit/microbit-connection 0.9.0-apps.alpha.12 → 0.9.0-apps.alpha.14

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.
@@ -7,7 +7,7 @@ import { BleDevice, TimeoutOptions } from "@capacitor-community/bluetooth-le";
7
7
  import { AccelerometerService } from "./accelerometer-service.js";
8
8
  import { ButtonService } from "./button-service.js";
9
9
  import { DeviceInformationService } from "./device-information-service.js";
10
- import { BoardVersion } from "./device.js";
10
+ import { BoardVersion, ConnectOptions } from "./device.js";
11
11
  import { LedService } from "./led-service.js";
12
12
  import { Logging, LoggingEvent } from "./logging.js";
13
13
  import { MagnetometerService } from "./magnetometer-service.js";
@@ -25,8 +25,7 @@ export interface Service {
25
25
  }
26
26
  interface ConnectCallbacks {
27
27
  onConnecting: () => void;
28
- onReconnecting: () => void;
29
- onFail: () => void;
28
+ onDisconnect: () => void;
30
29
  onSuccess: () => void;
31
30
  }
32
31
  export declare class BluetoothDeviceWrapper implements Logging {
@@ -34,9 +33,7 @@ export declare class BluetoothDeviceWrapper implements Logging {
34
33
  private logging;
35
34
  private currentEvents;
36
35
  private callbacks;
37
- private duringExplicitConnectDisconnect;
38
36
  connected: boolean;
39
- private isReconnect;
40
37
  private serviceIds;
41
38
  accelerometer: AccelerometerService;
42
39
  buttons: ButtonService;
@@ -52,12 +49,11 @@ export declare class BluetoothDeviceWrapper implements Logging {
52
49
  private waitingForDisconnectEventCallbacks;
53
50
  private internalNotificationListeners;
54
51
  constructor(device: BleDevice, logging: Logging, dispatchTypedEvent: TypedServiceEventDispatcher, currentEvents: () => Array<keyof ServiceConnectionEventMap>, callbacks: ConnectCallbacks);
55
- connect(): Promise<void>;
52
+ connect(options?: ConnectOptions): Promise<void>;
56
53
  private connectInternal;
57
54
  disconnect(): Promise<void>;
58
55
  private disconnectInternal;
59
- reconnect(): Promise<void>;
60
- handleDisconnectEvent: () => Promise<void>;
56
+ handleDisconnectEvent: () => void;
61
57
  getBoardVersion(): Promise<BoardVersion>;
62
58
  startNotifications(type: TypedServiceEvent): Promise<void>;
63
59
  stopNotifications(type: TypedServiceEvent): Promise<void>;
@@ -70,26 +70,12 @@ class BluetoothDeviceWrapper {
70
70
  writable: true,
71
71
  value: callbacks
72
72
  });
73
- // Used to avoid automatic reconnection during user triggered connect/disconnect
74
- // or reconnection itself.
75
- Object.defineProperty(this, "duringExplicitConnectDisconnect", {
76
- enumerable: true,
77
- configurable: true,
78
- writable: true,
79
- value: 0
80
- });
81
73
  Object.defineProperty(this, "connected", {
82
74
  enumerable: true,
83
75
  configurable: true,
84
76
  writable: true,
85
77
  value: false
86
78
  });
87
- Object.defineProperty(this, "isReconnect", {
88
- enumerable: true,
89
- configurable: true,
90
- writable: true,
91
- value: false
92
- });
93
79
  // Only updated after the full connection flow completes not during bond handling.
94
80
  Object.defineProperty(this, "serviceIds", {
95
81
  enumerable: true,
@@ -164,22 +150,11 @@ class BluetoothDeviceWrapper {
164
150
  enumerable: true,
165
151
  configurable: true,
166
152
  writable: true,
167
- value: async () => {
153
+ value: () => {
168
154
  this.waitingForDisconnectEventCallbacks.forEach((cb) => cb());
169
155
  this.waitingForDisconnectEventCallbacks.length = 0;
170
156
  this.connected = false;
171
- try {
172
- if (!this.duringExplicitConnectDisconnect) {
173
- this.logging.log("Bluetooth disconnected... automatically trying reconnect");
174
- await this.reconnect();
175
- }
176
- else {
177
- this.logging.log("Bluetooth disconnect ignored during explicit disconnect");
178
- }
179
- }
180
- catch (e) {
181
- this.logging.error("Bluetooth connect triggered by disconnect listener failed", e);
182
- }
157
+ this.callbacks.onDisconnect();
183
158
  }
184
159
  });
185
160
  this.accelerometer = new accelerometer_service_js_1.AccelerometerService(device.deviceId, dispatchTypedEvent);
@@ -196,25 +171,21 @@ class BluetoothDeviceWrapper {
196
171
  this.uart,
197
172
  ];
198
173
  }
199
- async connect() {
174
+ async connect(options) {
175
+ const progress = options?.progress ?? (() => { });
200
176
  this.logging.event({
201
- type: this.isReconnect ? "Reconnect" : "Connect",
177
+ type: "Connect",
202
178
  message: "Bluetooth connect start",
203
179
  });
204
- if (this.isReconnect) {
205
- this.callbacks.onReconnecting();
206
- }
207
- else {
208
- this.callbacks.onConnecting();
209
- }
210
- this.duringExplicitConnectDisconnect++;
180
+ this.callbacks.onConnecting();
211
181
  try {
212
182
  if (core_1.Capacitor.isNativePlatform()) {
213
- await this.connectHandlingBond();
183
+ await this.connectHandlingBond(progress);
214
184
  // We need this on Android for reconnecting after DFU.
215
185
  await bluetooth_le_1.BleClient.discoverServices(this.device.deviceId);
216
186
  }
217
187
  else {
188
+ progress(device_js_1.ProgressStage.Connecting);
218
189
  await this.connectInternal();
219
190
  }
220
191
  await this.getBoardVersion();
@@ -224,7 +195,7 @@ class BluetoothDeviceWrapper {
224
195
  this.logging.log(`Starting notifications for current events ${events}`);
225
196
  events.forEach((e) => this.startNotifications(e));
226
197
  this.logging.event({
227
- type: this.isReconnect ? "Reconnect" : "Connect",
198
+ type: "Connect",
228
199
  message: "Bluetooth connect success",
229
200
  });
230
201
  this.callbacks.onSuccess();
@@ -232,11 +203,11 @@ class BluetoothDeviceWrapper {
232
203
  catch (e) {
233
204
  this.logging.error("Bluetooth connect error", e);
234
205
  this.logging.event({
235
- type: this.isReconnect ? "Reconnect" : "Connect",
206
+ type: "Connect",
236
207
  message: "Bluetooth connect failed",
237
208
  });
238
209
  await this.disconnectInternal(false);
239
- this.callbacks.onFail();
210
+ this.callbacks.onDisconnect();
240
211
  if (e instanceof device_js_1.DeviceError) {
241
212
  throw e;
242
213
  }
@@ -246,16 +217,20 @@ class BluetoothDeviceWrapper {
246
217
  message: e instanceof Error ? e.message : String(e),
247
218
  });
248
219
  }
220
+ if (
221
+ // Error thrown in iOS only.
222
+ e instanceof Error &&
223
+ e.message === "Peer removed pairing information") {
224
+ throw new device_js_1.DeviceError({
225
+ code: "pairing-information-lost",
226
+ message: e.message,
227
+ });
228
+ }
249
229
  throw new device_js_1.DeviceError({
250
230
  code: "bluetooth-connection-failed",
251
231
  message: e instanceof Error ? e.message : String(e),
252
232
  });
253
233
  }
254
- finally {
255
- this.duringExplicitConnectDisconnect--;
256
- // Reset isReconnect for next time
257
- this.isReconnect = false;
258
- }
259
234
  }
260
235
  async connectInternal() {
261
236
  this.waitingForDisconnectEventCallbacks.length = 0;
@@ -269,7 +244,6 @@ class BluetoothDeviceWrapper {
269
244
  }
270
245
  async disconnectInternal(userTriggered) {
271
246
  this.logging.log(`Bluetooth disconnect ${userTriggered ? "(user triggered)" : "(programmatic)"}`);
272
- this.duringExplicitConnectDisconnect++;
273
247
  try {
274
248
  if (this.connected) {
275
249
  await bluetooth_le_1.BleClient.disconnect(this.device.deviceId);
@@ -279,14 +253,6 @@ class BluetoothDeviceWrapper {
279
253
  this.logging.error("Bluetooth GATT disconnect error (ignored)", e);
280
254
  // We might have already lost the connection.
281
255
  }
282
- finally {
283
- this.duringExplicitConnectDisconnect--;
284
- }
285
- }
286
- async reconnect() {
287
- this.logging.log("Bluetooth reconnect");
288
- this.isReconnect = true;
289
- await this.connect();
290
256
  }
291
257
  async getBoardVersion() {
292
258
  // We read this when we connect and it won't change.
@@ -418,7 +384,8 @@ class BluetoothDeviceWrapper {
418
384
  * Bonds with device and handles the post-bond device state only returning
419
385
  * when we can reattempt a connection with the device.
420
386
  */
421
- async connectHandlingBond() {
387
+ async connectHandlingBond(progress) {
388
+ progress(device_js_1.ProgressStage.CheckingBond);
422
389
  const startTime = Date.now();
423
390
  const maybeJustBonded = await this.bondConnectDeviceInternal();
424
391
  if (maybeJustBonded) {
@@ -449,10 +416,12 @@ class BluetoothDeviceWrapper {
449
416
  await this.connectInternal();
450
417
  // TODO: check this is needed, potentially inline into connect if always needed
451
418
  await (0, async_util_js_1.delay)(500);
419
+ progress(device_js_1.ProgressStage.ResettingDevice);
452
420
  this.log("Resetting to pairing mode");
453
421
  const pf = new partial_flashing_service_js_1.PartialFlashingService(this);
454
422
  await pf.resetToMode(partial_flashing_service_js_1.MicroBitMode.Pairing);
455
423
  await this.waitForDisconnect(10_000);
424
+ progress(device_js_1.ProgressStage.Connecting);
456
425
  await this.connectInternal();
457
426
  this.log(`Connection ready; took ${Date.now() - startTime}`);
458
427
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bluetooth-device-wrapper.js","sourceRoot":"","sources":["../../lib/bluetooth-device-wrapper.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,oEAI2C;AAC3C,0CAA4C;AAC5C,yEAAkE;AAClE,mDAMyB;AACzB,2DAAoD;AACpD,mFAA2E;AAC3E,2CAAwD;AACxD,qDAA8C;AAC9C,6CAAqE;AACrE,uEAAgE;AAChE,+EAGuC;AAMvC,uDAAgD;AAEnC,QAAA,kBAAkB,GAAG,MAAM,CAAC;AAC5B,QAAA,kBAAkB,GAAG,MAAM,CAAC;AAC5B,QAAA,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,gBAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC;AAAxD,QAAA,SAAS,aAA+C;AAgBrE,qEAAqE;AACrE,uEAAuE;AACvE,4CAA4C;AAC5C,EAAE;AACF,mEAAmE;AACnE,iEAAiE;AACjE,oEAAoE;AACpE,iEAAiE;AACjE,oEAAoE;AACpE,2DAA2D;AAC3D,EAAE;AACF,oCAAoC;AACpC,+DAA+D;AAC/D,EAAE;AACF,qEAAqE;AACrE,cAAc;AACd,EAAE;AACF,8EAA8E;AAC9E,EAAE;AACF,iFAAiF;AACjF,kDAAkD;AAElD,MAAa,sBAAsB;IA+BjC,YACkB,MAAiB,EACzB,UAAmB,IAAI,2BAAc,EAAE,EAC/C,kBAA+C,EACvC,aAA2D,EAC3D,SAA2B;QAJnC;;;;mBAAgB,MAAM;WAAW;QACjC;;;;mBAAQ,OAAO;WAAgC;QAE/C;;;;mBAAQ,aAAa;WAA8C;QACnE;;;;mBAAQ,SAAS;WAAkB;QAnCrC,gFAAgF;QAChF,0BAA0B;QAClB;;;;mBAA0C,CAAC;WAAC;QAEpD;;;;mBAAY,KAAK;WAAC;QACV;;;;mBAAc,KAAK;WAAC;QAE5B,kFAAkF;QAC1E;;;;mBAA0B,IAAI,GAAG,EAAE;WAAC;QAE5C;;;;;WAAoC;QACpC;;;;;WAAuB;QACvB;;;;;WAA4C;QAC5C;;;;;WAAgB;QAChB;;;;;WAAkC;QAClC;;;;;WAAkB;QAElB;;WAEG;QACH;;;;;WAAuC;QAE/B;;;;;WAAoB;QAEpB;;;;mBAAwD,EAAE;WAAC;QAC3D;;;;mBAAgC,IAAI,GAAG,EAG5C;WAAC;QAgIJ;;;;mBAAwB,KAAK,IAAmB,EAAE;gBAChD,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEnD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC;wBAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,0DAA0D,CAC3D,CAAC;wBACF,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzB,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,yDAAyD,CAC1D,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,2DAA2D,EAC3D,CAAC,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;WAAC;QA7IA,IAAI,CAAC,aAAa,GAAG,IAAI,+CAAoB,CAC3C,MAAM,CAAC,QAAQ,EACf,kBAAkB,CACnB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACtE,IAAI,CAAC,iBAAiB,GAAG,IAAI,wDAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,GAAG,IAAI,2BAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,6CAAmB,CACzC,MAAM,CAAC,QAAQ,EACf,kBAAkB,CACnB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,6BAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,GAAG;YACR,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,IAAI;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAChD,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,IAAI,gBAAS,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjC,sDAAsD;gBACtD,MAAM,wBAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/B,CAAC;YACD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,wBAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6CAA6C,MAAM,EAAE,CAAC,CAAC;YACxE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAsB,CAAC,CAAC,CAAC;YAEvE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAChD,OAAO,EAAE,2BAA2B;aACrC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAChD,OAAO,EAAE,0BAA0B;aACpC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAExB,IAAI,CAAC,YAAY,uBAAW,EAAE,CAAC;gBAC7B,MAAM,CAAC,CAAC;YACV,CAAC;YACD,IAAI,CAAC,YAAY,4BAAY,EAAE,CAAC;gBAC9B,MAAM,IAAI,uBAAW,CAAC;oBACpB,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBACpD,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,uBAAW,CAAC;gBACpB,IAAI,EAAE,6BAA6B;gBACnC,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACvC,kCAAkC;YAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,MAAM,wBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE;YACxE,OAAO,EAAE,0BAAkB;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,aAAsB;QACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,wBAAwB,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAChF,CAAC;QACF,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,wBAAS,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;YACnE,6CAA6C;QAC/C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IA0BD,KAAK,CAAC,eAAe;QACnB,oDAAoD;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAuB;QAC9C,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAuB;QAC7C,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAEO,mBAAmB,CAAC,IAAuB;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACtE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,SAAiB,EACjB,gBAAwB,EACxB,OAAwB;QAExB,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,wBAAwB,CACjC,wBAAS,CAAC,kBAAkB,CAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,SAAS,EACT,gBAAgB,EAChB,CAAC,KAAe,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,mCAAmC;YACnC,IAAI,CAAC,6BAA6B;iBAC/B,GAAG,CAAC,GAAG,CAAC;gBACT,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,CAAC,EACD,OAAO,CACR,EACD,EAAE,UAAU,EAAE,qBAAqB,EAAE,CACtC,CAAC;IACJ,CAAC;IAED,SAAS,CACP,SAAiB,EACjB,gBAAwB,EACxB,QAAoC;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,WAAW,CACT,SAAiB,EACjB,gBAAwB,EACxB,QAAoC;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACjE,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,SAAiB,EACjB,gBAAwB;QAExB,MAAM,wBAAS,CAAC,iBAAiB,CAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,SAAS,EACT,gBAAgB,CACjB,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACjE,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,gBAAwB,EACxB,KAAe,EACf,cAAsB,EACtB,sBAAkD,GAAG,EAAE,CAAC,IAAI;QAE5D,IAAI,oBAA+D,CAAC;QACpE,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,EAAE;YAC9D,oBAAoB,GAAG,CAAC,KAAiB,EAAE,EAAE;gBAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9D,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,wBAAS,CAAC,oBAAoB,CAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,SAAS,EACT,gBAAgB,EAChB,KAAK,CACN,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,EAAE;gBAC9D,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,yBAAyB;aACtC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,oBAAoB,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,mCAAmC,OAAO,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;gBACnC,IAAA,iCAAiB,EAAC,OAAO,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,4BAAY,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,YAAY,+BAAe,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAC5B,OAAmB,EACnB,UAGI,EAAE;QAEN,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,+BAAe,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC;QAClD,MAAM,wBAAwB,GAAG,IAAI,CAAC,sBAAsB,CAAI,UAAU,CAAC,CAAC;QAC5E,OAAO,MAAM,OAAO,CAAC,IAAI,CAAI;YAC3B,OAAO;YACP,wBAAwB;YACxB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAiB,EAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAI,UAAkB;QAClD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAA,uCAAuB,EACnD,uBAAuB,UAAU,EAAE,CACpC,CAAC;QACF,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,KAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,OAAe;QACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,CAAW;QAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAEO,kBAAkB,CACxB,SAAiB,EACjB,gBAAwB;QAExB,OAAO,GAAG,SAAS,IAAI,gBAAgB,EAAE,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,eAAe,EAAE,CAAC;YACpB,uEAAuE;YACvE,sEAAsE;YACtE,oEAAoE;YACpE,IAAI,CAAC,GAAG,CAAC,IAAA,iBAAS,GAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAE1D,0EAA0E;YAC1E,wEAAwE;YACxE,QAAQ;YACR,0EAA0E;YAC1E,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,4BAAY,EAAE,CAAC;oBAC9B,IAAI,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;oBACpE,IAAI,CAAC,IAAA,iBAAS,GAAE,EAAE,CAAC;wBACjB,gEAAgE;wBAChE,+DAA+D;wBAC/D,OAAO;oBACT,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;YAED,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,+EAA+E;YAC/E,MAAM,IAAA,qBAAK,EAAC,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACtC,MAAM,EAAE,GAAG,IAAI,oDAAsB,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,EAAE,CAAC,WAAW,CAAC,0CAAY,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,IAAA,iBAAS,GAAE,EAAE,CAAC;YAChB,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,uFAAuF;YACvF,IAAI,CAAC,CAAC,MAAM,wBAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC1C,MAAM,wBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,0BAAkB,EAAE,CAAC,CAAC;gBACtE,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,wEAAwE;YACxE,0EAA0E;YAC1E,oEAAoE;YACpE,sBAAsB;YACtB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,IAAI,oDAAsB,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,0BAAkB,EAAE,CAAC,CAAC;YAC7D,iEAAiE;YACjE,MAAM,EAAE,CAAC,iBAAiB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA7bD,wDA6bC"}
1
+ {"version":3,"file":"bluetooth-device-wrapper.js","sourceRoot":"","sources":["../../lib/bluetooth-device-wrapper.ts"],"names":[],"mappings":"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"}
@@ -177,21 +177,16 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
177
177
  // because on Android/iOS that's the appropriate time to ask for permissions.
178
178
  progress(device_js_1.ProgressStage.Initializing);
179
179
  (0, availability_js_1.throwIfUnavailable)(await this.checkAvailability());
180
- if (!this.connection) {
180
+ if (!this.device || !this.connection) {
181
181
  progress(device_js_1.ProgressStage.FindingDevice);
182
- const device = await this.requestDevice();
182
+ const device = await this.requestDevice(options?.signal);
183
183
  this.connection = new bluetooth_device_wrapper_js_1.BluetoothDeviceWrapper(device, this.logging, this.dispatchTypedEvent.bind(this), () => this.getActiveEvents(), {
184
184
  onConnecting: () => this.setStatus(device_js_1.ConnectionStatus.CONNECTING),
185
- onReconnecting: () => this.setStatus(device_js_1.ConnectionStatus.RECONNECTING),
186
185
  onSuccess: () => this.setStatus(device_js_1.ConnectionStatus.CONNECTED),
187
- onFail: () => {
188
- this.setStatus(device_js_1.ConnectionStatus.DISCONNECTED);
189
- this.connection = undefined;
190
- },
186
+ onDisconnect: () => this.setStatus(device_js_1.ConnectionStatus.DISCONNECTED),
191
187
  });
192
188
  }
193
- progress(device_js_1.ProgressStage.Connecting);
194
- await this.connection.connect();
189
+ await this.connection.connect(options);
195
190
  }
196
191
  async disconnect() {
197
192
  try {
@@ -206,7 +201,6 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
206
201
  });
207
202
  }
208
203
  finally {
209
- this.connection = undefined;
210
204
  this.setStatus(device_js_1.ConnectionStatus.DISCONNECTED);
211
205
  this.logging.event({
212
206
  type: "Bluetooth-info",
@@ -236,7 +230,7 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
236
230
  setNameFilter(name) {
237
231
  this.nameFilter = name;
238
232
  }
239
- async requestDevice() {
233
+ async requestDevice(signal) {
240
234
  // TODO: is this possible to reinstate?
241
235
  // See https://github.com/bsiever/microbit-pxt-blehid/issues/31
242
236
  // namePrefix: this.nameFilter
@@ -257,7 +251,7 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
257
251
  this.dispatchTypedEvent("beforerequestdevice", new device_js_1.BeforeRequestDevice());
258
252
  try {
259
253
  this.device = core_1.Capacitor.isNativePlatform()
260
- ? await this.requestDeviceNative(namePrefix)
254
+ ? await this.requestDeviceNative(namePrefix, signal)
261
255
  : await this.requestDeviceWeb(namePrefix);
262
256
  if (!this.device) {
263
257
  this.setStatus(device_js_1.ConnectionStatus.NO_AUTHORIZED_DEVICE);
@@ -328,7 +322,7 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
328
322
  // We'll disconnect/reconnect multiple times due to device resets, but reporting this is unhelpful.
329
323
  this.deferredUpdatesPreviousStatus = this.status;
330
324
  if (this.status !== device_js_1.ConnectionStatus.CONNECTED) {
331
- await this.connect({ progress });
325
+ await this.connect({ progress, signal: options.signal });
332
326
  }
333
327
  const connection = this.connection;
334
328
  try {
@@ -408,8 +402,12 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
408
402
  * Finds device with specified name prefix.
409
403
  *
410
404
  * @returns device or undefined if none can be found.
405
+ * @throws DeviceError with code "aborted" if signal is aborted.
411
406
  */
412
- async requestDeviceNative(namePrefix) {
407
+ async requestDeviceNative(namePrefix, signal) {
408
+ if (signal?.aborted) {
409
+ throw new device_js_1.DeviceError({ code: "aborted", message: "Connection aborted" });
410
+ }
413
411
  // Check for existing bonded devices.
414
412
  const bonded = await this.checkBondedDevices((device) => {
415
413
  const name = device.name;
@@ -420,6 +418,7 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
420
418
  }
421
419
  this.log(`Scanning for device - ${namePrefix}`);
422
420
  let found = false;
421
+ let aborted = false;
423
422
  const scanPromise = new Promise((resolve) =>
424
423
  // This only resolves when we stop the scan.
425
424
  void bluetooth_le_1.BleClient.requestLEScan({}, async (result) => {
@@ -434,14 +433,22 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
434
433
  resolve(result.device);
435
434
  }
436
435
  }));
436
+ const abortPromise = new Promise((_, reject) => {
437
+ signal?.addEventListener("abort", async () => {
438
+ aborted = true;
439
+ await bluetooth_le_1.BleClient.stopLEScan();
440
+ this.log("Abort scanning for devices");
441
+ reject(new device_js_1.DeviceError({ code: "aborted", message: "Connection aborted" }));
442
+ }, { once: true });
443
+ });
437
444
  const scanTimeoutPromise = new Promise((resolve) => setTimeout(async () => {
438
- if (!found) {
445
+ if (!found && !aborted) {
439
446
  await bluetooth_le_1.BleClient.stopLEScan();
440
447
  this.log("Timeout scanning for device");
441
448
  resolve(undefined);
442
449
  }
443
450
  }, bluetooth_device_wrapper_js_1.scanningTimeoutInMs));
444
- return await Promise.race([scanPromise, scanTimeoutPromise]);
451
+ return await Promise.race([scanPromise, scanTimeoutPromise, abortPromise]);
445
452
  }
446
453
  async checkBondedDevices(predicate) {
447
454
  if (!(0, bluetooth_device_wrapper_js_1.isAndroid)()) {
@@ -1 +1 @@
1
- {"version":3,"file":"bluetooth.js","sourceRoot":"","sources":["../../lib/bluetooth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bluetooth.js","sourceRoot":"","sources":["../../lib/bluetooth.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,14 @@ export type ConnectionAvailabilityStatus = "available" | "unsupported" | "disabl
15
15
  * New members may be added over time.
16
16
  */
17
17
  export type DeviceErrorCode =
18
+ /**
19
+ * Operation was aborted via an AbortSignal.
20
+ */
21
+ "aborted"
18
22
  /**
19
23
  * Device not selected, e.g. because the user cancelled the dialog.
20
24
  */
21
- "no-device-selected"
25
+ | "no-device-selected"
22
26
  /**
23
27
  * Device not found, perhaps because it doesn't have new enough firmware (for V1).
24
28
  */
@@ -51,6 +55,10 @@ export type DeviceErrorCode =
51
55
  * Failed to establish Bluetooth connection.
52
56
  */
53
57
  | "bluetooth-connection-failed"
58
+ /**
59
+ * Pairing information lost on micro:bit.
60
+ */
61
+ | "pairing-information-lost"
54
62
  /**
55
63
  * Partial flash operation failed.
56
64
  */
@@ -84,10 +92,33 @@ export type DeviceErrorCode =
84
92
  */
85
93
  | "location-disabled";
86
94
  export declare enum ProgressStage {
95
+ /**
96
+ * Checking permissions and availability before connecting.
97
+ */
87
98
  Initializing = "Initializing",
99
+ /**
100
+ * Finding device.
101
+ */
88
102
  FindingDevice = "FindingDevice",
103
+ /**
104
+ * Checking that a bond is established. Only applicable on Native platforms.
105
+ */
106
+ CheckingBond = "CheckingBond",
107
+ /**
108
+ * Resetting device in preparation for flashing. Only applicable on Native platforms.
109
+ */
110
+ ResettingDevice = "ResettingDevice",
111
+ /**
112
+ * Connecting for flashing.
113
+ */
89
114
  Connecting = "Connecting",
115
+ /**
116
+ * Partial flashing.
117
+ */
90
118
  PartialFlashing = "PartialFlashing",
119
+ /**
120
+ * Full flashing.
121
+ */
91
122
  FullFlashing = "FullFlashing"
92
123
  }
93
124
  /**
@@ -95,7 +126,8 @@ export declare enum ProgressStage {
95
126
  *
96
127
  * @param stage - The current stage of the operation
97
128
  * @param progress - Optional progress value (0-1) for PartialFlashing and FullFlashing stages.
98
- * Initializing, FindingDevice, and Connecting stages are called once
129
+ * Initializing, FindingDevice, CheckingBond (only for native platforms),
130
+ * ResettingDevice (only for native platforms), and Connecting stages are called once
99
131
  * without progress values to indicate stage entry.
100
132
  *
101
133
  * @example
@@ -150,11 +182,6 @@ export declare enum ConnectionStatus {
150
182
  * Connecting.
151
183
  */
152
184
  CONNECTING = "CONNECTING",
153
- /**
154
- * Reconnecting. When there is unexpected disruption in the connection,
155
- * a reconnection is attempted.
156
- */
157
- RECONNECTING = "RECONNECTING",
158
185
  /**
159
186
  * Paused due to tab visibility. The connection was temporarily suspended
160
187
  * because the browser tab became hidden. Reconnection will be attempted
@@ -167,6 +194,16 @@ export interface ConnectOptions {
167
194
  * Optional progress callback for tracking connection stages.
168
195
  */
169
196
  progress?: ProgressCallback;
197
+ /**
198
+ * Optional AbortSignal to abort the connection attempt.
199
+ * When aborted, the connect promise will reject with a DeviceError
200
+ * with code "aborted".
201
+ *
202
+ * Note: Currently only aborts during the FindingDevice stage on native
203
+ * platforms. Web platform device selection (browser picker) cannot be
204
+ * aborted programmatically.
205
+ */
206
+ signal?: AbortSignal;
170
207
  }
171
208
  export interface FlashOptions {
172
209
  /**
@@ -186,6 +223,16 @@ export interface FlashOptions {
186
223
  * Smallest possible progress increment to limit callback rate.
187
224
  */
188
225
  minimumProgressIncrement?: number;
226
+ /**
227
+ * Optional AbortSignal to abort the flash operation.
228
+ * When aborted, the flash promise will reject with a DeviceError
229
+ * with code "aborted".
230
+ *
231
+ * Note: Currently only aborts during the FindingDevice stage on native
232
+ * platforms. Once a device is found and flashing begins, the operation
233
+ * cannot be aborted.
234
+ */
235
+ signal?: AbortSignal;
189
236
  }
190
237
  export declare class FlashDataError extends Error {
191
238
  }
@@ -235,7 +282,7 @@ export interface DeviceConnection<M extends ValueIsEvent<M>> extends TypedEventT
235
282
  /**
236
283
  * Connects to a currently paired device or requests pairing.
237
284
  *
238
- * @param options Optional connection options including progress callback.
285
+ * @param options Optional connection options including progress callback and abort signal.
239
286
  * @throws {DeviceError} On connection failure. The error.code property indicates the failure type.
240
287
  */
241
288
  connect(options?: ConnectOptions): Promise<void>;
@@ -3,10 +3,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeviceConnectionEventMap = exports.BackgroundErrorEvent = exports.AfterRequestDevice = exports.BeforeRequestDevice = exports.ConnectionStatusEvent = exports.FlashDataError = exports.ConnectionStatus = exports.DeviceError = exports.ProgressStage = void 0;
4
4
  var ProgressStage;
5
5
  (function (ProgressStage) {
6
+ /**
7
+ * Checking permissions and availability before connecting.
8
+ */
6
9
  ProgressStage["Initializing"] = "Initializing";
10
+ /**
11
+ * Finding device.
12
+ */
7
13
  ProgressStage["FindingDevice"] = "FindingDevice";
14
+ /**
15
+ * Checking that a bond is established. Only applicable on Native platforms.
16
+ */
17
+ ProgressStage["CheckingBond"] = "CheckingBond";
18
+ /**
19
+ * Resetting device in preparation for flashing. Only applicable on Native platforms.
20
+ */
21
+ ProgressStage["ResettingDevice"] = "ResettingDevice";
22
+ /**
23
+ * Connecting for flashing.
24
+ */
8
25
  ProgressStage["Connecting"] = "Connecting";
26
+ /**
27
+ * Partial flashing.
28
+ */
9
29
  ProgressStage["PartialFlashing"] = "PartialFlashing";
30
+ /**
31
+ * Full flashing.
32
+ */
10
33
  ProgressStage["FullFlashing"] = "FullFlashing";
11
34
  })(ProgressStage || (exports.ProgressStage = ProgressStage = {}));
12
35
  /**
@@ -58,11 +81,6 @@ var ConnectionStatus;
58
81
  * Connecting.
59
82
  */
60
83
  ConnectionStatus["CONNECTING"] = "CONNECTING";
61
- /**
62
- * Reconnecting. When there is unexpected disruption in the connection,
63
- * a reconnection is attempted.
64
- */
65
- ConnectionStatus["RECONNECTING"] = "RECONNECTING";
66
84
  /**
67
85
  * Paused due to tab visibility. The connection was temporarily suspended
68
86
  * because the browser tab became hidden. Reconnection will be attempted
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../lib/device.ts"],"names":[],"mappings":";;;AA6FA,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,8CAA6B,CAAA;IAC7B,gDAA+B,CAAA;IAC/B,0CAAyB,CAAA;IACzB,oDAAmC,CAAA;IACnC,8CAA6B,CAAA;AAC/B,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB;AAwBD;;;;;;;;GAQG;AACH,MAAa,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;AAND,kCAMC;AAED;;GAEG;AACH,IAAY,gBAkCX;AAlCD,WAAY,gBAAgB;IAC1B;;;;;;;;OAQG;IACH,iEAA6C,CAAA;IAC7C;;OAEG;IACH,iDAA6B,CAAA;IAC7B;;OAEG;IACH,2CAAuB,CAAA;IACvB;;OAEG;IACH,6CAAyB,CAAA;IACzB;;;OAGG;IACH,iDAA6B,CAAA;IAC7B;;;;OAIG;IACH,qCAAiB,CAAA;AACnB,CAAC,EAlCW,gBAAgB,gCAAhB,gBAAgB,QAkC3B;AA6BD,MAAa,cAAe,SAAQ,KAAK;CAAG;AAA5C,wCAA4C;AAQ5C,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YACkB,MAAwB,EACxB,cAAgC;QAEhD,KAAK,CAAC,QAAQ,CAAC,CAAC;QAHhB;;;;mBAAgB,MAAM;WAAkB;QACxC;;;;mBAAgB,cAAc;WAAkB;IAGlD,CAAC;CACF;AAPD,sDAOC;AAED,MAAa,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/B,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAC3C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YACkB,YAAoB,EACpB,KAAe;QAE/B,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAHzB;;;;mBAAgB,YAAY;WAAQ;QACpC;;;;mBAAgB,KAAK;WAAU;IAGjC,CAAC;CACF;AAPD,oDAOC;AAED,MAAa,wBAAwB;IAArC;QACE,4BAAA,QAAQ;;;;;WAAwB;QAChC,4BAAA,iBAAiB;;;;;WAAuB;QACxC,4BAAA,qBAAqB;;;;;WAAQ;QAC7B,4BAAA,oBAAoB;;;;;WAAQ;IAC9B,CAAC;CAAA;AALD,4DAKC"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../lib/device.ts"],"names":[],"mappings":";;;AAqGA,IAAY,aA6BX;AA7BD,WAAY,aAAa;IACvB;;OAEG;IACH,8CAA6B,CAAA;IAC7B;;OAEG;IACH,gDAA+B,CAAA;IAC/B;;OAEG;IACH,8CAA6B,CAAA;IAC7B;;OAEG;IACH,oDAAmC,CAAA;IACnC;;OAEG;IACH,0CAAyB,CAAA;IACzB;;OAEG;IACH,oDAAmC,CAAA;IACnC;;OAEG;IACH,8CAA6B,CAAA;AAC/B,CAAC,EA7BW,aAAa,6BAAb,aAAa,QA6BxB;AAyBD;;;;;;;;GAQG;AACH,MAAa,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;AAND,kCAMC;AAED;;GAEG;AACH,IAAY,gBA6BX;AA7BD,WAAY,gBAAgB;IAC1B;;;;;;;;OAQG;IACH,iEAA6C,CAAA;IAC7C;;OAEG;IACH,iDAA6B,CAAA;IAC7B;;OAEG;IACH,2CAAuB,CAAA;IACvB;;OAEG;IACH,6CAAyB,CAAA;IACzB;;;;OAIG;IACH,qCAAiB,CAAA;AACnB,CAAC,EA7BW,gBAAgB,gCAAhB,gBAAgB,QA6B3B;AAiDD,MAAa,cAAe,SAAQ,KAAK;CAAG;AAA5C,wCAA4C;AAQ5C,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YACkB,MAAwB,EACxB,cAAgC;QAEhD,KAAK,CAAC,QAAQ,CAAC,CAAC;QAHhB;;;;mBAAgB,MAAM;WAAkB;QACxC;;;;mBAAgB,cAAc;WAAkB;IAGlD,CAAC;CACF;AAPD,sDAOC;AAED,MAAa,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/B,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAC3C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YACkB,YAAoB,EACpB,KAAe;QAE/B,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAHzB;;;;mBAAgB,YAAY;WAAQ;QACpC;;;;mBAAgB,KAAK;WAAU;IAGjC,CAAC;CACF;AAPD,oDAOC;AAED,MAAa,wBAAwB;IAArC;QACE,4BAAA,QAAQ;;;;;WAAwB;QAChC,4BAAA,iBAAiB;;;;;WAAuB;QACxC,4BAAA,qBAAqB;;;;;WAAQ;QAC7B,4BAAA,oBAAoB;;;;;WAAQ;IAC9B,CAAC;CAAA;AALD,4DAKC"}