@microbit/microbit-connection 0.0.0-alpha.9 → 0.0.0-tab.change.177
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 +3 -3
- package/build/accelerometer-service.js +3 -19
- package/build/accelerometer-service.js.map +1 -1
- package/build/bluetooth-device-wrapper.d.ts +16 -14
- package/build/bluetooth-device-wrapper.js +67 -66
- package/build/bluetooth-device-wrapper.js.map +1 -1
- package/build/bluetooth.d.ts +8 -3
- package/build/bluetooth.js +44 -32
- package/build/bluetooth.js.map +1 -1
- package/build/button-service.d.ts +2 -2
- package/build/button-service.js.map +1 -1
- package/build/device.d.ts +30 -16
- package/build/device.js +10 -1
- package/build/device.js.map +1 -1
- package/build/events.d.ts +11 -1
- package/build/events.js +86 -1
- package/build/events.js.map +1 -1
- package/build/led-service.d.ts +20 -0
- package/build/led-service.js +116 -0
- package/build/led-service.js.map +1 -0
- package/build/led.d.ts +6 -0
- package/build/led.js +2 -0
- package/build/led.js.map +1 -0
- package/build/promise-queue.d.ts +27 -0
- package/build/promise-queue.js +74 -0
- package/build/promise-queue.js.map +1 -0
- package/build/usb-device-wrapper.d.ts +1 -0
- package/build/usb-device-wrapper.js +26 -3
- package/build/usb-device-wrapper.js.map +1 -1
- package/build/usb-radio-bridge.d.ts +5 -1
- package/build/usb-radio-bridge.js +123 -44
- package/build/usb-radio-bridge.js.map +1 -1
- package/build/usb.d.ts +8 -14
- package/build/usb.js +42 -114
- package/build/usb.js.map +1 -1
- package/package.json +4 -3
- package/vite.config.ts +9 -7
- package/build/bluetooth-utils.d.ts +0 -5
- package/build/bluetooth-utils.js +0 -14
- package/build/bluetooth-utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-service.js","sourceRoot":"","sources":["../lib/button-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAe,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOhE,MAAM,OAAO,aAAa;IACxB,YACU,qBAAwD,EACxD,qBAAwD,EACxD,kBAA+C;QAFvD;;;;mBAAQ,qBAAqB;WAAmC;QAChE;;;;mBAAQ,qBAAqB;WAAmC;QAChE;;;;mBAAQ,kBAAkB;WAA6B;QAEvD,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAU,EAAE,CAAC;YACjE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,gBAAgB,CACjD,4BAA4B,EAC5B,CAAC,KAAY,EAAE,EAAE;gBACf,MAAM,MAAM,GAAG,KAAK,CAAC,MAAkC,CAAC;gBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,UAAqC,EACrC,UAAuC,EACvC,
|
|
1
|
+
{"version":3,"file":"button-service.js","sourceRoot":"","sources":["../lib/button-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAe,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOhE,MAAM,OAAO,aAAa;IACxB,YACU,qBAAwD,EACxD,qBAAwD,EACxD,kBAA+C;QAFvD;;;;mBAAQ,qBAAqB;WAAmC;QAChE;;;;mBAAQ,qBAAqB;WAAmC;QAChE;;;;mBAAQ,kBAAkB;WAA6B;QAEvD,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAU,EAAE,CAAC;YACjE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,gBAAgB,CACjD,4BAA4B,EAC5B,CAAC,KAAY,EAAE,EAAE;gBACf,MAAM,MAAM,GAAG,KAAK,CAAC,MAAkC,CAAC;gBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,UAAqC,EACrC,UAAuC,EACvC,kBAA+D,EAC/D,YAAqB;QAErB,IAAI,aAAyC,CAAC;QAC9C,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,CAAC,iBAAiB,EAAE,IAAI,oBAAoB,CAAC,GAAa,CAAC,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,WAAW,CAAC;oBACpB,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,GAAa;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,qBAAqB,GAAG,MAAM,aAAa,CAAC,iBAAiB,CACjE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC;QACF,MAAM,qBAAqB,GAAG,MAAM,aAAa,CAAC,iBAAiB,CACjE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC;QACF,OAAO,IAAI,aAAa,CACtB,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,CACX,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,QAAkB;QAC9C,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAuB;QAC9C,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAuB;QAC7C,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/D,CAAC;IAEO,sBAAsB,CAAC,IAAuB;QACpD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;YACpC,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/build/device.d.ts
CHANGED
|
@@ -81,11 +81,38 @@ export declare enum ConnectionStatus {
|
|
|
81
81
|
/**
|
|
82
82
|
* Authorized device available but we haven't connected to it.
|
|
83
83
|
*/
|
|
84
|
-
|
|
84
|
+
DISCONNECTED = "DISCONNECTED",
|
|
85
85
|
/**
|
|
86
86
|
* Connected.
|
|
87
87
|
*/
|
|
88
|
-
CONNECTED = "CONNECTED"
|
|
88
|
+
CONNECTED = "CONNECTED",
|
|
89
|
+
/**
|
|
90
|
+
* Connecting.
|
|
91
|
+
*/
|
|
92
|
+
CONNECTING = "CONNECTING",
|
|
93
|
+
/**
|
|
94
|
+
* Reconnecting. When there is unexpected disruption in the connection,
|
|
95
|
+
* a reconnection is attempted.
|
|
96
|
+
*/
|
|
97
|
+
RECONNECTING = "RECONNECTING"
|
|
98
|
+
}
|
|
99
|
+
export interface FlashOptions {
|
|
100
|
+
/**
|
|
101
|
+
* True to use a partial flash where possible, false to force a full flash.
|
|
102
|
+
*/
|
|
103
|
+
partial: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* A progress callback. Called with undefined when the process is complete or has failed.
|
|
106
|
+
*
|
|
107
|
+
* Requesting a partial flash doesn't guarantee one is performed. Partial flashes are avoided
|
|
108
|
+
* if too many blocks have changed and failed partial flashes are retried as full flashes.
|
|
109
|
+
* The partial parameter reports the flash type currently in progress.
|
|
110
|
+
*/
|
|
111
|
+
progress: (percentage: number | undefined, partial: boolean) => void;
|
|
112
|
+
/**
|
|
113
|
+
* Smallest possible progress increment to limit callback rate.
|
|
114
|
+
*/
|
|
115
|
+
minimumProgressIncrement?: number;
|
|
89
116
|
}
|
|
90
117
|
export declare class FlashDataError extends Error {
|
|
91
118
|
}
|
|
@@ -158,20 +185,7 @@ export interface DeviceConnection extends TypedEventTarget<DeviceConnectionEvent
|
|
|
158
185
|
* @param dataSource The data to use.
|
|
159
186
|
* @param options Flash options and progress callback.
|
|
160
187
|
*/
|
|
161
|
-
flash?(dataSource: FlashDataSource, options: {
|
|
162
|
-
/**
|
|
163
|
-
* True to use a partial flash where possible, false to force a full flash.
|
|
164
|
-
*/
|
|
165
|
-
partial: boolean;
|
|
166
|
-
/**
|
|
167
|
-
* A progress callback. Called with undefined when the process is complete or has failed.
|
|
168
|
-
*
|
|
169
|
-
* Requesting a partial flash doesn't guarantee one is performed. Partial flashes are avoided
|
|
170
|
-
* if too many blocks have changed and failed partial flashes are retried as full flashes.
|
|
171
|
-
* The partial parameter reports the flash type currently in progress.
|
|
172
|
-
*/
|
|
173
|
-
progress: (percentage: number | undefined, partial: boolean) => void;
|
|
174
|
-
}): Promise<void>;
|
|
188
|
+
flash?(dataSource: FlashDataSource, options: {}): Promise<void>;
|
|
175
189
|
/**
|
|
176
190
|
* Disconnect from the device.
|
|
177
191
|
*/
|
package/build/device.js
CHANGED
|
@@ -43,11 +43,20 @@ export var ConnectionStatus;
|
|
|
43
43
|
/**
|
|
44
44
|
* Authorized device available but we haven't connected to it.
|
|
45
45
|
*/
|
|
46
|
-
ConnectionStatus["
|
|
46
|
+
ConnectionStatus["DISCONNECTED"] = "DISCONNECTED";
|
|
47
47
|
/**
|
|
48
48
|
* Connected.
|
|
49
49
|
*/
|
|
50
50
|
ConnectionStatus["CONNECTED"] = "CONNECTED";
|
|
51
|
+
/**
|
|
52
|
+
* Connecting.
|
|
53
|
+
*/
|
|
54
|
+
ConnectionStatus["CONNECTING"] = "CONNECTING";
|
|
55
|
+
/**
|
|
56
|
+
* Reconnecting. When there is unexpected disruption in the connection,
|
|
57
|
+
* a reconnection is attempted.
|
|
58
|
+
*/
|
|
59
|
+
ConnectionStatus["RECONNECTING"] = "RECONNECTING";
|
|
51
60
|
})(ConnectionStatus || (ConnectionStatus = {}));
|
|
52
61
|
export class FlashDataError extends Error {
|
|
53
62
|
}
|
package/build/device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../lib/device.ts"],"names":[],"mappings":"AA8CA;;;;;;;;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,
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../lib/device.ts"],"names":[],"mappings":"AA8CA;;;;;;;;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,gBAkCX;AAlCD,WAAY,gBAAgB;IAC1B;;;OAGG;IACH,2DAAuC,CAAA;IACvC;;OAEG;IACH,mDAA+B,CAAA;IAC/B;;;;;OAKG;IACH,iEAA6C,CAAA;IAC7C;;OAEG;IACH,iDAA6B,CAAA;IAC7B;;OAEG;IACH,2CAAuB,CAAA;IACvB;;OAEG;IACH,6CAAyB,CAAA;IACzB;;;OAGG;IACH,iDAA6B,CAAA;AAC/B,CAAC,EAlCW,gBAAgB,KAAhB,gBAAgB,QAkC3B;AAqBD,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAQ5C,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"}
|
package/build/events.d.ts
CHANGED
|
@@ -90,7 +90,17 @@ export interface TypedEventTarget<M extends ValueIsEvent<M>> {
|
|
|
90
90
|
*/
|
|
91
91
|
dispatchEvent: (event: Event) => boolean;
|
|
92
92
|
}
|
|
93
|
-
export declare class
|
|
93
|
+
export declare class TrackingEventTarget extends EventTarget {
|
|
94
|
+
private activeEventTracking;
|
|
95
|
+
addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;
|
|
96
|
+
removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;
|
|
97
|
+
dispatchEvent(event: Event): boolean;
|
|
98
|
+
private filterRegistrations;
|
|
99
|
+
protected eventActivated(type: string): void;
|
|
100
|
+
protected eventDeactivated(type: string): void;
|
|
101
|
+
protected getActiveEvents(): string[];
|
|
102
|
+
}
|
|
103
|
+
export declare class TypedEventTarget<M extends ValueIsEvent<M>> extends TrackingEventTarget {
|
|
94
104
|
/**
|
|
95
105
|
* Dispatches a synthetic event event to target and returns true if either
|
|
96
106
|
* event's cancelable attribute value is false or its preventDefault() method
|
package/build/events.js
CHANGED
|
@@ -5,8 +5,65 @@
|
|
|
5
5
|
*
|
|
6
6
|
* https://github.com/DerZade/typescript-event-target/blob/master/src/TypedEventTarget.ts
|
|
7
7
|
*/
|
|
8
|
+
// We've added this in to keep track of what events are active.
|
|
9
|
+
// Having done this it's questionable whether it's worth the reimplementation
|
|
10
|
+
// just to use an EventTarget API.
|
|
11
|
+
export class TrackingEventTarget extends EventTarget {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
Object.defineProperty(this, "activeEventTracking", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true,
|
|
18
|
+
value: new Map()
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
addEventListener(type, callback, options) {
|
|
22
|
+
if (callback !== null) {
|
|
23
|
+
const registrations = this.activeEventTracking.get(type) ?? [];
|
|
24
|
+
const wasEmpty = registrations.length === 0;
|
|
25
|
+
const registration = new Registration(callback, options ?? false);
|
|
26
|
+
if (!registrations.find((r) => r.eq(registration))) {
|
|
27
|
+
registrations.push(registration);
|
|
28
|
+
this.activeEventTracking.set(type, registrations);
|
|
29
|
+
if (wasEmpty) {
|
|
30
|
+
this.eventActivated(type);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
super.addEventListener(type, callback, options);
|
|
35
|
+
}
|
|
36
|
+
removeEventListener(type, callback, options) {
|
|
37
|
+
if (callback !== null) {
|
|
38
|
+
const registration = new Registration(callback, options ?? false);
|
|
39
|
+
this.filterRegistrations(type, (r) => !r.eq(registration));
|
|
40
|
+
}
|
|
41
|
+
super.removeEventListener(type, callback, options);
|
|
42
|
+
}
|
|
43
|
+
dispatchEvent(event) {
|
|
44
|
+
const result = super.dispatchEvent(event);
|
|
45
|
+
this.filterRegistrations(event.type, (r) => !r.isOnce());
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
filterRegistrations(type, predicate) {
|
|
49
|
+
let registrations = this.activeEventTracking.get(type) ?? [];
|
|
50
|
+
registrations = registrations.filter(predicate);
|
|
51
|
+
if (registrations.length === 0) {
|
|
52
|
+
this.activeEventTracking.delete(type);
|
|
53
|
+
this.eventDeactivated(type);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.activeEventTracking.set(type, registrations);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
eventActivated(type) { }
|
|
60
|
+
eventDeactivated(type) { }
|
|
61
|
+
getActiveEvents() {
|
|
62
|
+
return [...this.activeEventTracking.keys()];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
8
65
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
|
|
9
|
-
export class TypedEventTarget extends
|
|
66
|
+
export class TypedEventTarget extends TrackingEventTarget {
|
|
10
67
|
/**
|
|
11
68
|
* Dispatches a synthetic event event to target and returns true if either
|
|
12
69
|
* event's cancelable attribute value is false or its preventDefault() method
|
|
@@ -16,4 +73,32 @@ export class TypedEventTarget extends EventTarget {
|
|
|
16
73
|
return super.dispatchEvent(event);
|
|
17
74
|
}
|
|
18
75
|
}
|
|
76
|
+
class Registration {
|
|
77
|
+
constructor(callback, options) {
|
|
78
|
+
Object.defineProperty(this, "callback", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
configurable: true,
|
|
81
|
+
writable: true,
|
|
82
|
+
value: callback
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(this, "options", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
configurable: true,
|
|
87
|
+
writable: true,
|
|
88
|
+
value: options
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
isOnce() {
|
|
92
|
+
return typeof this.options === "object" && this.options.once === true;
|
|
93
|
+
}
|
|
94
|
+
eq(other) {
|
|
95
|
+
return (other.callback === this.callback &&
|
|
96
|
+
eqUseCapture(this.options, other.options));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const eqUseCapture = (left, right) => {
|
|
100
|
+
const leftValue = typeof left === "boolean" ? left : left.capture ?? false;
|
|
101
|
+
const rightValue = typeof right === "boolean" ? right : right.capture ?? false;
|
|
102
|
+
return leftValue === rightValue;
|
|
103
|
+
};
|
|
19
104
|
//# sourceMappingURL=events.js.map
|
package/build/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../lib/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../lib/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Service } from "./bluetooth-device-wrapper.js";
|
|
2
|
+
import { LedMatrix } from "./led.js";
|
|
3
|
+
import { TypedServiceEvent, TypedServiceEventDispatcher } from "./service-events.js";
|
|
4
|
+
export declare class LedService implements Service {
|
|
5
|
+
private matrixStateCharacteristic;
|
|
6
|
+
private scrollingDelayCharacteristic;
|
|
7
|
+
private textCharactertistic;
|
|
8
|
+
private queueGattOperation;
|
|
9
|
+
constructor(matrixStateCharacteristic: BluetoothRemoteGATTCharacteristic, scrollingDelayCharacteristic: BluetoothRemoteGATTCharacteristic, textCharactertistic: BluetoothRemoteGATTCharacteristic, queueGattOperation: <R>(action: () => Promise<R>) => Promise<R>);
|
|
10
|
+
static createService(gattServer: BluetoothRemoteGATTServer, dispatcher: TypedServiceEventDispatcher, queueGattOperation: <R>(action: () => Promise<R>) => Promise<R>, listenerInit: boolean): Promise<LedService | undefined>;
|
|
11
|
+
getLedMatrix(): Promise<LedMatrix>;
|
|
12
|
+
setLedMatrix(value: LedMatrix): Promise<void>;
|
|
13
|
+
private dataViewToLedMatrix;
|
|
14
|
+
private ledMatrixToDataView;
|
|
15
|
+
setText(text: string): Promise<void>;
|
|
16
|
+
setScrollingDelay(value: number): Promise<void>;
|
|
17
|
+
getScrollingDelay(): Promise<number>;
|
|
18
|
+
startNotifications(type: TypedServiceEvent): Promise<void>;
|
|
19
|
+
stopNotifications(type: TypedServiceEvent): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { profile } from "./bluetooth-profile.js";
|
|
2
|
+
import { BackgroundErrorEvent, DeviceError } from "./device.js";
|
|
3
|
+
const createLedMatrix = () => {
|
|
4
|
+
return [
|
|
5
|
+
[false, false, false, false, false],
|
|
6
|
+
[false, false, false, false, false],
|
|
7
|
+
[false, false, false, false, false],
|
|
8
|
+
[false, false, false, false, false],
|
|
9
|
+
[false, false, false, false, false],
|
|
10
|
+
];
|
|
11
|
+
};
|
|
12
|
+
export class LedService {
|
|
13
|
+
constructor(matrixStateCharacteristic, scrollingDelayCharacteristic, textCharactertistic, queueGattOperation) {
|
|
14
|
+
Object.defineProperty(this, "matrixStateCharacteristic", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true,
|
|
18
|
+
value: matrixStateCharacteristic
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(this, "scrollingDelayCharacteristic", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
configurable: true,
|
|
23
|
+
writable: true,
|
|
24
|
+
value: scrollingDelayCharacteristic
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(this, "textCharactertistic", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true,
|
|
30
|
+
value: textCharactertistic
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(this, "queueGattOperation", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
writable: true,
|
|
36
|
+
value: queueGattOperation
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
static async createService(gattServer, dispatcher, queueGattOperation, listenerInit) {
|
|
40
|
+
let ledService;
|
|
41
|
+
try {
|
|
42
|
+
ledService = await gattServer.getPrimaryService(profile.led.id);
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
if (listenerInit) {
|
|
46
|
+
dispatcher("backgrounderror", new BackgroundErrorEvent(err));
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
throw new DeviceError({
|
|
51
|
+
code: "service-missing",
|
|
52
|
+
message: err,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const matrixStateCharacteristic = await ledService.getCharacteristic(profile.led.characteristics.matrixState.id);
|
|
57
|
+
const scrollingDelayCharacteristic = await ledService.getCharacteristic(profile.led.characteristics.scrollingDelay.id);
|
|
58
|
+
const textCharacteristic = await ledService.getCharacteristic(profile.led.characteristics.text.id);
|
|
59
|
+
return new LedService(matrixStateCharacteristic, scrollingDelayCharacteristic, textCharacteristic, queueGattOperation);
|
|
60
|
+
}
|
|
61
|
+
async getLedMatrix() {
|
|
62
|
+
const dataView = await this.queueGattOperation(() => this.matrixStateCharacteristic.readValue());
|
|
63
|
+
return this.dataViewToLedMatrix(dataView);
|
|
64
|
+
}
|
|
65
|
+
async setLedMatrix(value) {
|
|
66
|
+
const dataView = this.ledMatrixToDataView(value);
|
|
67
|
+
return this.queueGattOperation(() => this.matrixStateCharacteristic.writeValue(dataView));
|
|
68
|
+
}
|
|
69
|
+
dataViewToLedMatrix(dataView) {
|
|
70
|
+
if (dataView.byteLength !== 5) {
|
|
71
|
+
throw new Error("Unexpected LED matrix byte length");
|
|
72
|
+
}
|
|
73
|
+
const matrix = createLedMatrix();
|
|
74
|
+
for (let row = 0; row < 5; ++row) {
|
|
75
|
+
const rowByte = dataView.getUint8(row);
|
|
76
|
+
for (let column = 0; column < 5; ++column) {
|
|
77
|
+
const columnMask = 0x1 << (4 - column);
|
|
78
|
+
matrix[row][column] = (rowByte & columnMask) != 0;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return matrix;
|
|
82
|
+
}
|
|
83
|
+
ledMatrixToDataView(matrix) {
|
|
84
|
+
const dataView = new DataView(new ArrayBuffer(5));
|
|
85
|
+
for (let row = 0; row < 5; ++row) {
|
|
86
|
+
let rowByte = 0;
|
|
87
|
+
for (let column = 0; column < 5; ++column) {
|
|
88
|
+
const columnMask = 0x1 << (4 - column);
|
|
89
|
+
if (matrix[row][column]) {
|
|
90
|
+
rowByte |= columnMask;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
dataView.setUint8(row, rowByte);
|
|
94
|
+
}
|
|
95
|
+
return dataView;
|
|
96
|
+
}
|
|
97
|
+
async setText(text) {
|
|
98
|
+
const bytes = new TextEncoder().encode(text);
|
|
99
|
+
if (bytes.length > 20) {
|
|
100
|
+
throw new Error("Text must be <= 20 bytes when encoded as UTF-8");
|
|
101
|
+
}
|
|
102
|
+
return this.queueGattOperation(() => this.textCharactertistic.writeValue(bytes));
|
|
103
|
+
}
|
|
104
|
+
async setScrollingDelay(value) {
|
|
105
|
+
const dataView = new DataView(new ArrayBuffer(2));
|
|
106
|
+
dataView.setUint16(0, value, true);
|
|
107
|
+
return this.queueGattOperation(() => this.scrollingDelayCharacteristic.writeValue(dataView));
|
|
108
|
+
}
|
|
109
|
+
async getScrollingDelay() {
|
|
110
|
+
const dataView = await this.queueGattOperation(() => this.scrollingDelayCharacteristic.readValue());
|
|
111
|
+
return dataView.getUint16(0, true);
|
|
112
|
+
}
|
|
113
|
+
async startNotifications(type) { }
|
|
114
|
+
async stopNotifications(type) { }
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=led-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"led-service.js","sourceRoot":"","sources":["../lib/led-service.ts"],"names":[],"mappings":"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"}
|
package/build/led.d.ts
ADDED
package/build/led.js
ADDED
package/build/led.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"led.js","sourceRoot":"","sources":["../lib/led.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
interface Options {
|
|
2
|
+
/**
|
|
3
|
+
* If we should clear the queue return a function to create errors to reject all promises.
|
|
4
|
+
* Otherwise return undefined. Called before processing each entry.
|
|
5
|
+
*/
|
|
6
|
+
abortCheck?: () => (() => Error) | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare class PromiseQueue {
|
|
9
|
+
private busy;
|
|
10
|
+
private entries;
|
|
11
|
+
private abortCheck;
|
|
12
|
+
constructor(options?: Options);
|
|
13
|
+
/**
|
|
14
|
+
* Queue an action.
|
|
15
|
+
*
|
|
16
|
+
* @param action Async action to perform.
|
|
17
|
+
* @returns A promise that resolves when all prior added actions and this action have been performed.
|
|
18
|
+
*/
|
|
19
|
+
add<T>(action: () => Promise<T>): Promise<T>;
|
|
20
|
+
private processQueue;
|
|
21
|
+
/**
|
|
22
|
+
* Skips any queued actions that aren't in progress and rejects their
|
|
23
|
+
* promises with errors created with the supplied function.
|
|
24
|
+
*/
|
|
25
|
+
clear(rejection: () => Error): void;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export class PromiseQueue {
|
|
2
|
+
constructor(options = {}) {
|
|
3
|
+
Object.defineProperty(this, "busy", {
|
|
4
|
+
enumerable: true,
|
|
5
|
+
configurable: true,
|
|
6
|
+
writable: true,
|
|
7
|
+
value: false
|
|
8
|
+
});
|
|
9
|
+
Object.defineProperty(this, "entries", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
configurable: true,
|
|
12
|
+
writable: true,
|
|
13
|
+
value: []
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(this, "abortCheck", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
configurable: true,
|
|
18
|
+
writable: true,
|
|
19
|
+
value: void 0
|
|
20
|
+
});
|
|
21
|
+
this.abortCheck = options.abortCheck ?? (() => undefined);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Queue an action.
|
|
25
|
+
*
|
|
26
|
+
* @param action Async action to perform.
|
|
27
|
+
* @returns A promise that resolves when all prior added actions and this action have been performed.
|
|
28
|
+
*/
|
|
29
|
+
add(action) {
|
|
30
|
+
return new Promise((resolve, reject) => {
|
|
31
|
+
const entry = {
|
|
32
|
+
resolve,
|
|
33
|
+
reject,
|
|
34
|
+
action,
|
|
35
|
+
};
|
|
36
|
+
this.entries.push(entry);
|
|
37
|
+
if (!this.busy) {
|
|
38
|
+
void this.processQueue();
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
async processQueue() {
|
|
43
|
+
const rejection = this.abortCheck();
|
|
44
|
+
if (rejection) {
|
|
45
|
+
this.clear(rejection);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const entry = this.entries.shift();
|
|
49
|
+
if (!entry) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.busy = true;
|
|
53
|
+
try {
|
|
54
|
+
entry.resolve(await entry.action());
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
entry.reject(e);
|
|
58
|
+
}
|
|
59
|
+
this.busy = false;
|
|
60
|
+
return this.processQueue();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Skips any queued actions that aren't in progress and rejects their
|
|
64
|
+
* promises with errors created with the supplied function.
|
|
65
|
+
*/
|
|
66
|
+
clear(rejection) {
|
|
67
|
+
const entries = this.entries;
|
|
68
|
+
this.entries = [];
|
|
69
|
+
entries.forEach((e) => {
|
|
70
|
+
e.reject(rejection());
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=promise-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise-queue.js","sourceRoot":"","sources":["../lib/promise-queue.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,YAAY;IAKvB,YAAY,UAAmB,EAAE;QAJzB;;;;mBAAgB,KAAK;WAAC;QACtB;;;;mBAA6B,EAAE;WAAC;QAChC;;;;;WAA4C;QAGlD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAI,MAAwB;QACpC,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,KAAK,GAAkB;gBAC3B,OAAO;gBACP,MAAM;gBACN,MAAM;aACP,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACH,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAsB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -32,6 +32,7 @@ export declare class DAPWrapper {
|
|
|
32
32
|
get deviceId(): number | undefined;
|
|
33
33
|
get boardSerialInfo(): BoardSerialInfo;
|
|
34
34
|
reconnectAsync(): Promise<void>;
|
|
35
|
+
readMem32WaitOnError(register: number): Promise<number>;
|
|
35
36
|
startSerial(listener: (data: string) => void): Promise<void>;
|
|
36
37
|
stopSerial(listener: (data: string) => void): void;
|
|
37
38
|
disconnectAsync(): Promise<void>;
|
|
@@ -133,10 +133,33 @@ export class DAPWrapper {
|
|
|
133
133
|
this.boardSerialInfo.hic,
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
|
-
this._pageSize = await this.cortexM.readMem32(FICR.CODEPAGESIZE);
|
|
137
|
-
this._numPages = await this.cortexM.readMem32(FICR.CODESIZE);
|
|
138
136
|
// https://support.microbit.org/support/solutions/articles/19000067679-how-to-find-the-name-of-your-micro-bit
|
|
139
|
-
|
|
137
|
+
// We wait on errors as immediately after flash the micro:bit won't be ready to respond
|
|
138
|
+
this._deviceId = await this.readMem32WaitOnError(FICR.DEVICE_ID_1);
|
|
139
|
+
this._pageSize = await this.readMem32WaitOnError(FICR.CODEPAGESIZE);
|
|
140
|
+
this._numPages = await this.readMem32WaitOnError(FICR.CODESIZE);
|
|
141
|
+
}
|
|
142
|
+
async readMem32WaitOnError(register) {
|
|
143
|
+
let retries = 0;
|
|
144
|
+
let lastError;
|
|
145
|
+
while (retries < 20) {
|
|
146
|
+
try {
|
|
147
|
+
return await this.cortexM.readMem32(register);
|
|
148
|
+
}
|
|
149
|
+
catch (e) {
|
|
150
|
+
if (e instanceof Error) {
|
|
151
|
+
lastError = e;
|
|
152
|
+
if (/^Transfer/.test(e.message)) {
|
|
153
|
+
retries++;
|
|
154
|
+
await new Promise((resolve) => setTimeout(resolve, 20));
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
throw e;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
throw lastError;
|
|
140
163
|
}
|
|
141
164
|
async startSerial(listener) {
|
|
142
165
|
const currentBaud = await this.daplink.getSerialBaudrate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usb-device-wrapper.js","sourceRoot":"","sources":["../lib/usb-device-wrapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usb-device-wrapper.js","sourceRoot":"","sources":["../lib/usb-device-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,10 @@ export declare class MicrobitRadioBridgeConnection extends TypedEventTarget<Devi
|
|
|
22
22
|
private logging;
|
|
23
23
|
private serialSession;
|
|
24
24
|
private remoteDeviceId;
|
|
25
|
-
private
|
|
25
|
+
private disconnectPromise;
|
|
26
|
+
private serialSessionOpen;
|
|
27
|
+
private ignoreDelegateStatus;
|
|
28
|
+
private delegateStatusListener;
|
|
26
29
|
constructor(delegate: MicrobitWebUSBConnection, options?: MicrobitRadioBridgeConnectionOptions);
|
|
27
30
|
getBoardVersion(): BoardVersion | undefined;
|
|
28
31
|
serialWrite(data: string): Promise<void>;
|
|
@@ -32,6 +35,7 @@ export declare class MicrobitRadioBridgeConnection extends TypedEventTarget<Devi
|
|
|
32
35
|
setRemoteDeviceId(remoteDeviceId: number): void;
|
|
33
36
|
connect(): Promise<ConnectionStatus>;
|
|
34
37
|
disconnect(): Promise<void>;
|
|
38
|
+
private log;
|
|
35
39
|
private setStatus;
|
|
36
40
|
private statusFromDelegate;
|
|
37
41
|
}
|