@microbit/microbit-connection 0.9.0-apps.alpha.17 → 0.9.0-apps.alpha.19
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/cjs/async-util.d.ts +3 -1
- package/build/cjs/async-util.js +5 -1
- package/build/cjs/async-util.js.map +1 -1
- package/build/cjs/bluetooth/ble-error.d.ts +10 -0
- package/build/cjs/bluetooth/ble-error.js +47 -0
- package/build/cjs/bluetooth/ble-error.js.map +1 -0
- package/build/cjs/bluetooth/connection.d.ts +263 -3
- package/build/cjs/bluetooth/connection.js +78 -21
- package/build/cjs/bluetooth/connection.js.map +1 -1
- package/build/cjs/bluetooth/device-wrapper.d.ts +6 -0
- package/build/cjs/bluetooth/device-wrapper.js +30 -7
- package/build/cjs/bluetooth/device-wrapper.js.map +1 -1
- package/build/cjs/bluetooth/flashing/flashing-full.js +2 -1
- package/build/cjs/bluetooth/flashing/flashing-full.js.map +1 -1
- package/build/cjs/bluetooth/flashing/flashing-partial.js +2 -1
- package/build/cjs/bluetooth/flashing/flashing-partial.js.map +1 -1
- package/build/cjs/bluetooth/flashing/nordic-dfu.js +18 -6
- package/build/cjs/bluetooth/flashing/nordic-dfu.js.map +1 -1
- package/build/cjs/bluetooth/services/accelerometer-service.js +5 -4
- package/build/cjs/bluetooth/services/accelerometer-service.js.map +1 -1
- package/build/cjs/bluetooth/services/button-service.js +12 -3
- package/build/cjs/bluetooth/services/button-service.js.map +1 -1
- package/build/cjs/bluetooth/services/device-information-service.js +7 -12
- package/build/cjs/bluetooth/services/device-information-service.js.map +1 -1
- package/build/cjs/bluetooth/services/event-service.d.ts +48 -0
- package/build/cjs/bluetooth/services/event-service.js +273 -0
- package/build/cjs/bluetooth/services/event-service.js.map +1 -0
- package/build/cjs/bluetooth/services/event-service.test.d.ts +1 -0
- package/build/cjs/bluetooth/services/event-service.test.js +252 -0
- package/build/cjs/bluetooth/services/event-service.test.js.map +1 -0
- package/build/cjs/bluetooth/services/io-pin-service.d.ts +65 -0
- package/build/cjs/bluetooth/services/io-pin-service.js +173 -0
- package/build/cjs/bluetooth/services/io-pin-service.js.map +1 -0
- package/build/cjs/bluetooth/services/led-service.js +3 -0
- package/build/cjs/bluetooth/services/led-service.js.map +1 -1
- package/build/cjs/bluetooth/services/magnetometer-service.js +5 -4
- package/build/cjs/bluetooth/services/magnetometer-service.js.map +1 -1
- package/build/cjs/bluetooth/services/temperature-service.d.ts +14 -0
- package/build/cjs/bluetooth/services/temperature-service.js +80 -0
- package/build/cjs/bluetooth/services/temperature-service.js.map +1 -0
- package/build/cjs/bluetooth/services/uart-service.js +12 -3
- package/build/cjs/bluetooth/services/uart-service.js.map +1 -1
- package/build/cjs/device.d.ts +73 -58
- package/build/cjs/device.js +7 -2
- package/build/cjs/device.js.map +1 -1
- package/build/cjs/events.d.ts +1 -2
- package/build/cjs/events.js.map +1 -1
- package/build/cjs/index.d.ts +5 -5
- package/build/cjs/index.js +4 -3
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/microbit-events.d.ts +67 -0
- package/build/cjs/microbit-events.js +55 -0
- package/build/cjs/microbit-events.js.map +1 -0
- package/build/cjs/radio-bridge/connection.d.ts +18 -5
- package/build/cjs/radio-bridge/connection.js +30 -12
- package/build/cjs/radio-bridge/connection.js.map +1 -1
- package/build/cjs/service-events.d.ts +55 -6
- package/build/cjs/service-events.js.map +1 -1
- package/build/cjs/usb/arm-debug.d.ts +1 -1
- package/build/cjs/usb/arm-debug.js +3 -3
- package/build/cjs/usb/arm-debug.js.map +1 -1
- package/build/cjs/usb/cmsis-dap.js +1 -1
- package/build/cjs/usb/cmsis-dap.js.map +1 -1
- package/build/cjs/usb/connection.d.ts +18 -3
- package/build/cjs/usb/connection.js +17 -10
- package/build/cjs/usb/connection.js.map +1 -1
- package/build/cjs/usb/index.d.ts +1 -1
- package/build/cjs/usb/partial-flashing.d.ts +22 -4
- package/build/cjs/usb/partial-flashing.js +108 -18
- package/build/cjs/usb/partial-flashing.js.map +1 -1
- package/build/cjs/usb/serial-events.d.ts +0 -5
- package/build/cjs/usb/transport.js +4 -4
- package/build/cjs/usb/transport.js.map +1 -1
- package/build/esm/async-util.d.ts +3 -1
- package/build/esm/async-util.js +5 -1
- package/build/esm/async-util.js.map +1 -1
- package/build/esm/bluetooth/ble-error.d.ts +10 -0
- package/build/esm/bluetooth/ble-error.js +42 -0
- package/build/esm/bluetooth/ble-error.js.map +1 -0
- package/build/esm/bluetooth/connection.d.ts +263 -3
- package/build/esm/bluetooth/connection.js +79 -22
- package/build/esm/bluetooth/connection.js.map +1 -1
- package/build/esm/bluetooth/device-wrapper.d.ts +6 -0
- package/build/esm/bluetooth/device-wrapper.js +30 -7
- package/build/esm/bluetooth/device-wrapper.js.map +1 -1
- package/build/esm/bluetooth/flashing/flashing-full.js +2 -1
- package/build/esm/bluetooth/flashing/flashing-full.js.map +1 -1
- package/build/esm/bluetooth/flashing/flashing-partial.js +2 -1
- package/build/esm/bluetooth/flashing/flashing-partial.js.map +1 -1
- package/build/esm/bluetooth/flashing/nordic-dfu.js +18 -6
- package/build/esm/bluetooth/flashing/nordic-dfu.js.map +1 -1
- package/build/esm/bluetooth/services/accelerometer-service.js +5 -4
- package/build/esm/bluetooth/services/accelerometer-service.js.map +1 -1
- package/build/esm/bluetooth/services/button-service.js +12 -3
- package/build/esm/bluetooth/services/button-service.js.map +1 -1
- package/build/esm/bluetooth/services/device-information-service.js +7 -12
- package/build/esm/bluetooth/services/device-information-service.js.map +1 -1
- package/build/esm/bluetooth/services/event-service.d.ts +48 -0
- package/build/esm/bluetooth/services/event-service.js +269 -0
- package/build/esm/bluetooth/services/event-service.js.map +1 -0
- package/build/esm/bluetooth/services/event-service.test.d.ts +1 -0
- package/build/esm/bluetooth/services/event-service.test.js +250 -0
- package/build/esm/bluetooth/services/event-service.test.js.map +1 -0
- package/build/esm/bluetooth/services/io-pin-service.d.ts +65 -0
- package/build/esm/bluetooth/services/io-pin-service.js +169 -0
- package/build/esm/bluetooth/services/io-pin-service.js.map +1 -0
- package/build/esm/bluetooth/services/led-service.js +3 -0
- package/build/esm/bluetooth/services/led-service.js.map +1 -1
- package/build/esm/bluetooth/services/magnetometer-service.js +5 -4
- package/build/esm/bluetooth/services/magnetometer-service.js.map +1 -1
- package/build/esm/bluetooth/services/temperature-service.d.ts +14 -0
- package/build/esm/bluetooth/services/temperature-service.js +76 -0
- package/build/esm/bluetooth/services/temperature-service.js.map +1 -0
- package/build/esm/bluetooth/services/uart-service.js +12 -3
- package/build/esm/bluetooth/services/uart-service.js.map +1 -1
- package/build/esm/device.d.ts +73 -58
- package/build/esm/device.js +7 -2
- package/build/esm/device.js.map +1 -1
- package/build/esm/events.d.ts +1 -2
- package/build/esm/events.js.map +1 -1
- package/build/esm/index.d.ts +5 -5
- package/build/esm/index.js +2 -2
- package/build/esm/index.js.map +1 -1
- package/build/esm/microbit-events.d.ts +67 -0
- package/build/esm/microbit-events.js +52 -0
- package/build/esm/microbit-events.js.map +1 -0
- package/build/esm/radio-bridge/connection.d.ts +18 -5
- package/build/esm/radio-bridge/connection.js +31 -13
- package/build/esm/radio-bridge/connection.js.map +1 -1
- package/build/esm/service-events.d.ts +55 -6
- package/build/esm/service-events.js.map +1 -1
- package/build/esm/usb/arm-debug.d.ts +1 -1
- package/build/esm/usb/arm-debug.js +3 -3
- package/build/esm/usb/arm-debug.js.map +1 -1
- package/build/esm/usb/cmsis-dap.js +1 -1
- package/build/esm/usb/cmsis-dap.js.map +1 -1
- package/build/esm/usb/connection.d.ts +18 -3
- package/build/esm/usb/connection.js +18 -11
- package/build/esm/usb/connection.js.map +1 -1
- package/build/esm/usb/index.d.ts +1 -1
- package/build/esm/usb/partial-flashing.d.ts +22 -4
- package/build/esm/usb/partial-flashing.js +108 -18
- package/build/esm/usb/partial-flashing.js.map +1 -1
- package/build/esm/usb/serial-events.d.ts +0 -5
- package/build/esm/usb/transport.js +4 -4
- package/build/esm/usb/transport.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,109 @@
|
|
|
1
|
-
import { DeviceConnection, FlashDataSource, FlashOptions } from "../device.js";
|
|
1
|
+
import { BackgroundErrorData, ConnectionStatusChange, DeviceConnection, FlashDataSource, FlashOptions } from "../device.js";
|
|
2
2
|
import { Logging } from "../logging.js";
|
|
3
|
-
import { AccelerometerData, LedMatrix, MagnetometerData,
|
|
3
|
+
import { AccelerometerData, ButtonActionData, ButtonData, GestureData, LedMatrix, MagnetometerData, MicrobitEventData, PinData, PinValue, TemperatureData, UartData } from "../service-events.js";
|
|
4
4
|
import { DeviceBondState } from "./device-bond-state.js";
|
|
5
5
|
export interface MicrobitBluetoothConnectionOptions {
|
|
6
6
|
logging?: Logging;
|
|
7
7
|
deviceBondState?: DeviceBondState;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* A Bluetooth connection to a micro:bit device.
|
|
11
|
+
*
|
|
12
|
+
* Events and methods rely on specific BLE services being present in the
|
|
13
|
+
* micro:bit's firmware. Which services are available depends on the firmware
|
|
14
|
+
* build for C++ and for a MakeCode program depends on the service blocks added
|
|
15
|
+
* from the Bluetooth extension.
|
|
16
|
+
*
|
|
17
|
+
* The table below maps each event and method to the BLE service it requires.
|
|
18
|
+
* If a service is not present, the event will silently not fire (no error is
|
|
19
|
+
* raised) and methods that depend on it will throw.
|
|
20
|
+
*
|
|
21
|
+
* ### Accelerometer Service
|
|
22
|
+
* - `accelerometerdatachanged` event
|
|
23
|
+
* - {@link getAccelerometerData}, {@link getAccelerometerPeriod}, {@link setAccelerometerPeriod}
|
|
24
|
+
*
|
|
25
|
+
* ### Button Service
|
|
26
|
+
* - `buttonachanged`, `buttonbchanged` events
|
|
27
|
+
*
|
|
28
|
+
* ### Event Service
|
|
29
|
+
* - `gesturechanged` event — also requires the accelerometer hardware to be
|
|
30
|
+
* active; this happens automatically if the Accelerometer Service is present
|
|
31
|
+
* - `buttonaaction`, `buttonbaction`, `buttonabaction` events
|
|
32
|
+
* - `logoaction` event (V2 only)
|
|
33
|
+
* - `microbitevent` event
|
|
34
|
+
* - {@link subscribeToEvent}, {@link sendEvent}
|
|
35
|
+
*
|
|
36
|
+
* ### IO Pin Service
|
|
37
|
+
* - `pinchanged` event
|
|
38
|
+
* - {@link getAnalogPins}, {@link setAnalogPins}
|
|
39
|
+
* - {@link getInputPins}, {@link setInputPins}
|
|
40
|
+
* - {@link readPins}, {@link writePins}, {@link writePinPwm}
|
|
41
|
+
*
|
|
42
|
+
* ### LED Service
|
|
43
|
+
* - {@link setLedText}, {@link getLedScrollingDelay}, {@link setLedScrollingDelay}
|
|
44
|
+
* - {@link getLedMatrix}, {@link setLedMatrix}
|
|
45
|
+
*
|
|
46
|
+
* ### Magnetometer Service
|
|
47
|
+
* - `magnetometerdatachanged` event
|
|
48
|
+
* - {@link getMagnetometerData}, {@link getMagnetometerBearing}
|
|
49
|
+
* - {@link getMagnetometerPeriod}, {@link setMagnetometerPeriod}
|
|
50
|
+
* - {@link triggerMagnetometerCalibration}
|
|
51
|
+
*
|
|
52
|
+
* ### Temperature Service
|
|
53
|
+
* - `temperaturechanged` event
|
|
54
|
+
* - {@link getTemperature}, {@link getTemperaturePeriod}, {@link setTemperaturePeriod}
|
|
55
|
+
*
|
|
56
|
+
* ### UART Service
|
|
57
|
+
* - `uartdata` event
|
|
58
|
+
* - {@link uartWrite}
|
|
59
|
+
*/
|
|
60
|
+
export interface MicrobitBluetoothConnection extends DeviceConnection {
|
|
61
|
+
readonly type: "bluetooth";
|
|
62
|
+
addEventListener(type: "status", listener: (data: ConnectionStatusChange) => void): void;
|
|
63
|
+
addEventListener(type: "backgrounderror", listener: (data: BackgroundErrorData) => void): void;
|
|
64
|
+
addEventListener(type: "beforerequestdevice", listener: () => void): void;
|
|
65
|
+
addEventListener(type: "afterrequestdevice", listener: () => void): void;
|
|
66
|
+
addEventListener(type: "flash", listener: () => void): void;
|
|
67
|
+
/** Requires: Accelerometer Service. */
|
|
68
|
+
addEventListener(type: "accelerometerdatachanged", listener: (data: AccelerometerData) => void): void;
|
|
69
|
+
/** Requires: Button Service. */
|
|
70
|
+
addEventListener(type: "buttonachanged" | "buttonbchanged", listener: (data: ButtonData) => void): void;
|
|
71
|
+
/** Requires: Magnetometer Service. */
|
|
72
|
+
addEventListener(type: "magnetometerdatachanged", listener: (data: MagnetometerData) => void): void;
|
|
73
|
+
/** Requires: Temperature Service. */
|
|
74
|
+
addEventListener(type: "temperaturechanged", listener: (data: TemperatureData) => void): void;
|
|
75
|
+
/** Requires: IO Pin Service. */
|
|
76
|
+
addEventListener(type: "pinchanged", listener: (data: PinData) => void): void;
|
|
77
|
+
/** Requires: Event Service. The accelerometer hardware must also be active (automatic if the Accelerometer Service is present). */
|
|
78
|
+
addEventListener(type: "gesturechanged", listener: (data: GestureData) => void): void;
|
|
79
|
+
/** Requires: Event Service. */
|
|
80
|
+
addEventListener(type: "buttonaaction" | "buttonbaction" | "buttonabaction", listener: (data: ButtonActionData) => void): void;
|
|
81
|
+
/** Requires: Event Service. V2 only. */
|
|
82
|
+
addEventListener(type: "logoaction", listener: (data: ButtonActionData) => void): void;
|
|
83
|
+
/**
|
|
84
|
+
* Requires: Event Service. Receives raw micro:bit message bus events
|
|
85
|
+
* registered via {@link subscribeToEvent}. Higher-level events supported
|
|
86
|
+
* by the event service, like `gesturechanged` and button actions, are not
|
|
87
|
+
* included here unless you subscribe to them using {@link subscribeToEvent}.
|
|
88
|
+
*/
|
|
89
|
+
addEventListener(type: "microbitevent", listener: (data: MicrobitEventData) => void): void;
|
|
90
|
+
/** Requires: UART Service. */
|
|
91
|
+
addEventListener(type: "uartdata", listener: (data: UartData) => void): void;
|
|
92
|
+
removeEventListener(type: "status", listener: (data: ConnectionStatusChange) => void): void;
|
|
93
|
+
removeEventListener(type: "backgrounderror", listener: (data: BackgroundErrorData) => void): void;
|
|
94
|
+
removeEventListener(type: "beforerequestdevice", listener: () => void): void;
|
|
95
|
+
removeEventListener(type: "afterrequestdevice", listener: () => void): void;
|
|
96
|
+
removeEventListener(type: "flash", listener: () => void): void;
|
|
97
|
+
removeEventListener(type: "accelerometerdatachanged", listener: (data: AccelerometerData) => void): void;
|
|
98
|
+
removeEventListener(type: "buttonachanged" | "buttonbchanged", listener: (data: ButtonData) => void): void;
|
|
99
|
+
removeEventListener(type: "magnetometerdatachanged", listener: (data: MagnetometerData) => void): void;
|
|
100
|
+
removeEventListener(type: "temperaturechanged", listener: (data: TemperatureData) => void): void;
|
|
101
|
+
removeEventListener(type: "pinchanged", listener: (data: PinData) => void): void;
|
|
102
|
+
removeEventListener(type: "gesturechanged", listener: (data: GestureData) => void): void;
|
|
103
|
+
removeEventListener(type: "buttonaaction" | "buttonbaction" | "buttonabaction", listener: (data: ButtonActionData) => void): void;
|
|
104
|
+
removeEventListener(type: "logoaction", listener: (data: ButtonActionData) => void): void;
|
|
105
|
+
removeEventListener(type: "microbitevent", listener: (data: MicrobitEventData) => void): void;
|
|
106
|
+
removeEventListener(type: "uartdata", listener: (data: UartData) => void): void;
|
|
10
107
|
/**
|
|
11
108
|
* Sets micro:bit name filter for device requesting.
|
|
12
109
|
*
|
|
@@ -16,6 +113,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
16
113
|
/**
|
|
17
114
|
* Gets micro:bit accelerometer data.
|
|
18
115
|
*
|
|
116
|
+
* Requires: Accelerometer Service.
|
|
117
|
+
*
|
|
19
118
|
* @returns accelerometer data.
|
|
20
119
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
21
120
|
*/
|
|
@@ -23,6 +122,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
23
122
|
/**
|
|
24
123
|
* Gets micro:bit accelerometer period.
|
|
25
124
|
*
|
|
125
|
+
* Requires: Accelerometer Service.
|
|
126
|
+
*
|
|
26
127
|
* @returns accelerometer period.
|
|
27
128
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
28
129
|
*/
|
|
@@ -30,6 +131,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
30
131
|
/**
|
|
31
132
|
* Sets micro:bit accelerometer period.
|
|
32
133
|
*
|
|
134
|
+
* Requires: Accelerometer Service.
|
|
135
|
+
*
|
|
33
136
|
* @param value The accelerometer period.
|
|
34
137
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
35
138
|
*/
|
|
@@ -37,6 +140,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
37
140
|
/**
|
|
38
141
|
* Sets micro:bit LED text.
|
|
39
142
|
*
|
|
143
|
+
* Requires: LED Service.
|
|
144
|
+
*
|
|
40
145
|
* @param text The text displayed on micro:bit LED.
|
|
41
146
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
42
147
|
*/
|
|
@@ -44,6 +149,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
44
149
|
/**
|
|
45
150
|
* Gets micro:bit LED scrolling delay.
|
|
46
151
|
*
|
|
152
|
+
* Requires: LED Service.
|
|
153
|
+
*
|
|
47
154
|
* @returns LED scrolling delay in milliseconds.
|
|
48
155
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
49
156
|
*/
|
|
@@ -51,6 +158,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
51
158
|
/**
|
|
52
159
|
* Sets micro:bit LED scrolling delay.
|
|
53
160
|
*
|
|
161
|
+
* Requires: LED Service.
|
|
162
|
+
*
|
|
54
163
|
* @param delayInMillis LED scrolling delay in milliseconds.
|
|
55
164
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
56
165
|
*/
|
|
@@ -58,6 +167,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
58
167
|
/**
|
|
59
168
|
* Gets micro:bit LED matrix.
|
|
60
169
|
*
|
|
170
|
+
* Requires: LED Service.
|
|
171
|
+
*
|
|
61
172
|
* @returns a boolean matrix representing the micro:bit LED display.
|
|
62
173
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
63
174
|
*/
|
|
@@ -65,6 +176,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
65
176
|
/**
|
|
66
177
|
* Sets micro:bit LED matrix.
|
|
67
178
|
*
|
|
179
|
+
* Requires: LED Service.
|
|
180
|
+
*
|
|
68
181
|
* @param matrix an boolean matrix representing the micro:bit LED display.
|
|
69
182
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
70
183
|
*/
|
|
@@ -72,6 +185,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
72
185
|
/**
|
|
73
186
|
* Gets micro:bit magnetometer data.
|
|
74
187
|
*
|
|
188
|
+
* Requires: Magnetometer Service.
|
|
189
|
+
*
|
|
75
190
|
* @returns magnetometer data.
|
|
76
191
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
77
192
|
*/
|
|
@@ -79,6 +194,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
79
194
|
/**
|
|
80
195
|
* Gets micro:bit magnetometer bearing.
|
|
81
196
|
*
|
|
197
|
+
* Requires: Magnetometer Service.
|
|
198
|
+
*
|
|
82
199
|
* @returns magnetometer bearing.
|
|
83
200
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
84
201
|
*/
|
|
@@ -86,6 +203,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
86
203
|
/**
|
|
87
204
|
* Gets micro:bit magnetometer period.
|
|
88
205
|
*
|
|
206
|
+
* Requires: Magnetometer Service.
|
|
207
|
+
*
|
|
89
208
|
* @returns magnetometer period.
|
|
90
209
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
91
210
|
*/
|
|
@@ -93,6 +212,8 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
93
212
|
/**
|
|
94
213
|
* Sets micro:bit magnetometer period.
|
|
95
214
|
*
|
|
215
|
+
* Requires: Magnetometer Service.
|
|
216
|
+
*
|
|
96
217
|
* @param value magnetometer period.
|
|
97
218
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
98
219
|
*/
|
|
@@ -100,12 +221,151 @@ export interface MicrobitBluetoothConnection extends DeviceConnection<ServiceCon
|
|
|
100
221
|
/**
|
|
101
222
|
* Triggers micro:bit magnetometer calibration.
|
|
102
223
|
*
|
|
224
|
+
* Requires: Magnetometer Service.
|
|
225
|
+
*
|
|
103
226
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
104
227
|
*/
|
|
105
228
|
triggerMagnetometerCalibration(): Promise<void>;
|
|
229
|
+
/**
|
|
230
|
+
* Gets the micro:bit temperature in degrees Celsius.
|
|
231
|
+
*
|
|
232
|
+
* Requires: Temperature Service.
|
|
233
|
+
*
|
|
234
|
+
* @returns temperature in degrees Celsius.
|
|
235
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
236
|
+
*/
|
|
237
|
+
getTemperature(): Promise<number>;
|
|
238
|
+
/**
|
|
239
|
+
* Gets the micro:bit temperature sensor period.
|
|
240
|
+
*
|
|
241
|
+
* Requires: Temperature Service.
|
|
242
|
+
*
|
|
243
|
+
* @returns temperature period in milliseconds.
|
|
244
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
245
|
+
*/
|
|
246
|
+
getTemperaturePeriod(): Promise<number>;
|
|
247
|
+
/**
|
|
248
|
+
* Sets the micro:bit temperature sensor period.
|
|
249
|
+
*
|
|
250
|
+
* Requires: Temperature Service.
|
|
251
|
+
*
|
|
252
|
+
* @param value period in milliseconds.
|
|
253
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
254
|
+
*/
|
|
255
|
+
setTemperaturePeriod(value: number): Promise<void>;
|
|
256
|
+
/**
|
|
257
|
+
* Gets which pins are configured as analog.
|
|
258
|
+
* All other pins are digital (the default).
|
|
259
|
+
*
|
|
260
|
+
* Requires: IO Pin Service.
|
|
261
|
+
*
|
|
262
|
+
* @returns array of pin numbers (0-18) configured as analog.
|
|
263
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
264
|
+
*/
|
|
265
|
+
getAnalogPins(): Promise<number[]>;
|
|
266
|
+
/**
|
|
267
|
+
* Sets which pins are configured as analog.
|
|
268
|
+
* All other pins become digital (the default).
|
|
269
|
+
*
|
|
270
|
+
* Requires: IO Pin Service.
|
|
271
|
+
*
|
|
272
|
+
* @param pins array of pin numbers (0-18) to configure as analog.
|
|
273
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
274
|
+
*/
|
|
275
|
+
setAnalogPins(pins: number[]): Promise<void>;
|
|
276
|
+
/**
|
|
277
|
+
* Gets which pins are configured as inputs.
|
|
278
|
+
* Input pins are monitored and their values reported via notifications.
|
|
279
|
+
* All other pins are outputs (the default).
|
|
280
|
+
*
|
|
281
|
+
* Requires: IO Pin Service.
|
|
282
|
+
*
|
|
283
|
+
* @returns array of pin numbers (0-18) configured as inputs.
|
|
284
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
285
|
+
*/
|
|
286
|
+
getInputPins(): Promise<number[]>;
|
|
287
|
+
/**
|
|
288
|
+
* Sets which pins are configured as inputs.
|
|
289
|
+
* Input pins are monitored and their values reported via notifications.
|
|
290
|
+
* All other pins become outputs (the default).
|
|
291
|
+
*
|
|
292
|
+
* Note: configuring a pin as input overrides any existing pin mode
|
|
293
|
+
* (e.g. touch sensing used by MakeCode "on pin pressed" blocks).
|
|
294
|
+
* The two cannot be used on the same pin simultaneously.
|
|
295
|
+
*
|
|
296
|
+
* Requires: IO Pin Service.
|
|
297
|
+
*
|
|
298
|
+
* @param pins array of pin numbers (0-18) to configure as inputs.
|
|
299
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
300
|
+
*/
|
|
301
|
+
setInputPins(pins: number[]): Promise<void>;
|
|
302
|
+
/**
|
|
303
|
+
* Reads current values of input pins. Unlike the `pinchanged` event
|
|
304
|
+
* (which only includes pins whose values changed), this returns every
|
|
305
|
+
* pin configured as an input, up to a firmware limit of 10 pins
|
|
306
|
+
* (lowest-numbered first).
|
|
307
|
+
*
|
|
308
|
+
* Requires: IO Pin Service.
|
|
309
|
+
*
|
|
310
|
+
* @returns array of pin/value pairs.
|
|
311
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
312
|
+
*/
|
|
313
|
+
readPins(): Promise<PinValue[]>;
|
|
314
|
+
/**
|
|
315
|
+
* Writes pin data for output pins.
|
|
316
|
+
*
|
|
317
|
+
* Requires: IO Pin Service.
|
|
318
|
+
*
|
|
319
|
+
* @param data array of pin/value pairs.
|
|
320
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
321
|
+
*/
|
|
322
|
+
writePins(data: PinValue[]): Promise<void>;
|
|
323
|
+
/**
|
|
324
|
+
* Sets PWM output on a pin.
|
|
325
|
+
*
|
|
326
|
+
* Requires: IO Pin Service.
|
|
327
|
+
*
|
|
328
|
+
* @param pin Pin number (0-18).
|
|
329
|
+
* @param options PWM configuration.
|
|
330
|
+
* @param options.value Analog value (0-1024).
|
|
331
|
+
* @param options.period Period in microseconds.
|
|
332
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
333
|
+
*/
|
|
334
|
+
writePinPwm(pin: number, options: {
|
|
335
|
+
value: number;
|
|
336
|
+
period: number;
|
|
337
|
+
}): Promise<void>;
|
|
338
|
+
/**
|
|
339
|
+
* Register interest in a specific micro:bit message bus event.
|
|
340
|
+
* Tells the micro:bit to forward matching message bus traffic over BLE.
|
|
341
|
+
* Matching events are dispatched as `microbitevent`.
|
|
342
|
+
* Use 0 as the value to match all events from a source.
|
|
343
|
+
*
|
|
344
|
+
* For common message bus events, consider the higher-level alternatives:
|
|
345
|
+
* `gesturechanged`, `buttonaaction`, `buttonbaction`, `buttonabaction`.
|
|
346
|
+
*
|
|
347
|
+
* Requires: Event Service.
|
|
348
|
+
*
|
|
349
|
+
* @param source Event source ID.
|
|
350
|
+
* @param value Event value to match, or 0 for any.
|
|
351
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
352
|
+
*/
|
|
353
|
+
subscribeToEvent(source: number, value: number): Promise<void>;
|
|
354
|
+
/**
|
|
355
|
+
* Send an event to the micro:bit's message bus.
|
|
356
|
+
*
|
|
357
|
+
* Requires: Event Service.
|
|
358
|
+
*
|
|
359
|
+
* @param source Event source ID.
|
|
360
|
+
* @param value Event value.
|
|
361
|
+
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
362
|
+
*/
|
|
363
|
+
sendEvent(source: number, value: number): Promise<void>;
|
|
106
364
|
/**
|
|
107
365
|
* Write UART messages.
|
|
108
366
|
*
|
|
367
|
+
* Requires: UART Service.
|
|
368
|
+
*
|
|
109
369
|
* @param data UART message.
|
|
110
370
|
* @throws {DeviceError} with code `not-connected` if there is no connection.
|
|
111
371
|
*/
|
|
@@ -6,17 +6,18 @@
|
|
|
6
6
|
import { BleClient } from "@capacitor-community/bluetooth-le";
|
|
7
7
|
import { Capacitor } from "@capacitor/core";
|
|
8
8
|
import MemoryMap from "nrf-intel-hex";
|
|
9
|
-
import {
|
|
10
|
-
import { profile } from "./profile.js";
|
|
11
|
-
import { ConnectionStatus, DeviceError, FlashDataError, assertConnected, ProgressStage, } from "../device.js";
|
|
9
|
+
import { ConnectionStatus, DeviceError, FlashDataError, ProgressStage, assertConnected, } from "../device.js";
|
|
12
10
|
import { TypedEventTarget } from "../events.js";
|
|
13
11
|
import { ConsoleLogging } from "../logging.js";
|
|
12
|
+
import { BluetoothDeviceWrapper, isAndroid, scanningTimeoutInMs, } from "./device-wrapper.js";
|
|
14
13
|
import { fullFlash } from "./flashing/flashing-full.js";
|
|
15
14
|
import partialFlash, { PartialFlashResult, } from "./flashing/flashing-partial.js";
|
|
15
|
+
import { profile } from "./profile.js";
|
|
16
|
+
import { TimeoutError } from "../async-util.js";
|
|
16
17
|
import { throwIfUnavailable } from "../availability.js";
|
|
17
18
|
import { truncateHexAfterEof } from "../hex-util.js";
|
|
19
|
+
import { withBleErrorMapping } from "./ble-error.js";
|
|
18
20
|
import { DefaultDeviceBondState, } from "./device-bond-state.js";
|
|
19
|
-
import { TimeoutError } from "../async-util.js";
|
|
20
21
|
let bleClientInitialized = false;
|
|
21
22
|
/**
|
|
22
23
|
* A Bluetooth connection factory.
|
|
@@ -28,6 +29,12 @@ export const createBluetoothConnection = (options) => new MicrobitBluetoothConne
|
|
|
28
29
|
class MicrobitBluetoothConnectionImpl extends TypedEventTarget {
|
|
29
30
|
constructor(options = {}) {
|
|
30
31
|
super();
|
|
32
|
+
Object.defineProperty(this, "type", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
writable: true,
|
|
36
|
+
value: "bluetooth"
|
|
37
|
+
});
|
|
31
38
|
Object.defineProperty(this, "status", {
|
|
32
39
|
enumerable: true,
|
|
33
40
|
configurable: true,
|
|
@@ -186,12 +193,14 @@ class MicrobitBluetoothConnectionImpl extends TypedEventTarget {
|
|
|
186
193
|
const device = await this.requestDevice(options?.signal);
|
|
187
194
|
this.device = new BluetoothDeviceWrapper(device, this.logging, this.deviceBondState, this.dispatchEvent.bind(this), () => this.getActiveEvents(), {
|
|
188
195
|
onConnecting: () => this.setStatus(ConnectionStatus.Connecting),
|
|
189
|
-
onSuccess: () =>
|
|
196
|
+
onSuccess: () => {
|
|
197
|
+
this.cachedBoardVersion = this.device.boardVersion;
|
|
198
|
+
this.setStatus(ConnectionStatus.Connected);
|
|
199
|
+
},
|
|
190
200
|
onDisconnect: () => this.setStatus(ConnectionStatus.Disconnected),
|
|
191
201
|
});
|
|
192
202
|
}
|
|
193
203
|
await this.device.connect(options);
|
|
194
|
-
this.cachedBoardVersion = this.device.boardVersion;
|
|
195
204
|
}
|
|
196
205
|
async disconnect() {
|
|
197
206
|
try {
|
|
@@ -269,59 +278,107 @@ class MicrobitBluetoothConnectionImpl extends TypedEventTarget {
|
|
|
269
278
|
}
|
|
270
279
|
async getAccelerometerData() {
|
|
271
280
|
assertConnected(this.device);
|
|
272
|
-
return this.device.accelerometer.getData();
|
|
281
|
+
return withBleErrorMapping(() => this.device.accelerometer.getData());
|
|
273
282
|
}
|
|
274
283
|
async getAccelerometerPeriod() {
|
|
275
284
|
assertConnected(this.device);
|
|
276
|
-
return this.device.accelerometer.getPeriod();
|
|
285
|
+
return withBleErrorMapping(() => this.device.accelerometer.getPeriod());
|
|
277
286
|
}
|
|
278
287
|
async setAccelerometerPeriod(value) {
|
|
279
288
|
assertConnected(this.device);
|
|
280
|
-
return this.device.accelerometer.setPeriod(value);
|
|
289
|
+
return withBleErrorMapping(() => this.device.accelerometer.setPeriod(value));
|
|
281
290
|
}
|
|
282
291
|
async setLedText(text) {
|
|
283
292
|
assertConnected(this.device);
|
|
284
|
-
return this.device.led.setText(text);
|
|
293
|
+
return withBleErrorMapping(() => this.device.led.setText(text));
|
|
285
294
|
}
|
|
286
295
|
async getLedScrollingDelay() {
|
|
287
296
|
assertConnected(this.device);
|
|
288
|
-
return this.device.led.getScrollingDelay();
|
|
297
|
+
return withBleErrorMapping(() => this.device.led.getScrollingDelay());
|
|
289
298
|
}
|
|
290
299
|
async setLedScrollingDelay(delayInMillis) {
|
|
291
300
|
assertConnected(this.device);
|
|
292
|
-
|
|
301
|
+
return withBleErrorMapping(() => this.device.led.setScrollingDelay(delayInMillis));
|
|
293
302
|
}
|
|
294
303
|
async getLedMatrix() {
|
|
295
304
|
assertConnected(this.device);
|
|
296
|
-
return
|
|
305
|
+
return withBleErrorMapping(() => this.device.led.getLedMatrix());
|
|
297
306
|
}
|
|
298
307
|
async setLedMatrix(matrix) {
|
|
299
308
|
assertConnected(this.device);
|
|
300
|
-
|
|
309
|
+
return withBleErrorMapping(() => this.device.led.setLedMatrix(matrix));
|
|
301
310
|
}
|
|
302
311
|
async getMagnetometerData() {
|
|
303
312
|
assertConnected(this.device);
|
|
304
|
-
return this.device.magnetometer.getData();
|
|
313
|
+
return withBleErrorMapping(() => this.device.magnetometer.getData());
|
|
305
314
|
}
|
|
306
315
|
async getMagnetometerPeriod() {
|
|
307
316
|
assertConnected(this.device);
|
|
308
|
-
return this.device.magnetometer.getPeriod();
|
|
317
|
+
return withBleErrorMapping(() => this.device.magnetometer.getPeriod());
|
|
309
318
|
}
|
|
310
319
|
async setMagnetometerPeriod(value) {
|
|
311
320
|
assertConnected(this.device);
|
|
312
|
-
return this.device.magnetometer.setPeriod(value);
|
|
321
|
+
return withBleErrorMapping(() => this.device.magnetometer.setPeriod(value));
|
|
313
322
|
}
|
|
314
323
|
async getMagnetometerBearing() {
|
|
315
324
|
assertConnected(this.device);
|
|
316
|
-
return this.device.magnetometer.getBearing();
|
|
325
|
+
return withBleErrorMapping(() => this.device.magnetometer.getBearing());
|
|
317
326
|
}
|
|
318
327
|
async triggerMagnetometerCalibration() {
|
|
319
328
|
assertConnected(this.device);
|
|
320
|
-
|
|
329
|
+
return withBleErrorMapping(() => this.device.magnetometer.triggerCalibration());
|
|
330
|
+
}
|
|
331
|
+
async getTemperature() {
|
|
332
|
+
assertConnected(this.device);
|
|
333
|
+
return withBleErrorMapping(() => this.device.temperature.getData());
|
|
334
|
+
}
|
|
335
|
+
async getTemperaturePeriod() {
|
|
336
|
+
assertConnected(this.device);
|
|
337
|
+
return withBleErrorMapping(() => this.device.temperature.getPeriod());
|
|
338
|
+
}
|
|
339
|
+
async setTemperaturePeriod(value) {
|
|
340
|
+
assertConnected(this.device);
|
|
341
|
+
return withBleErrorMapping(() => this.device.temperature.setPeriod(value));
|
|
342
|
+
}
|
|
343
|
+
async getAnalogPins() {
|
|
344
|
+
assertConnected(this.device);
|
|
345
|
+
return withBleErrorMapping(() => this.device.ioPin.getAnalogPins());
|
|
346
|
+
}
|
|
347
|
+
async setAnalogPins(pins) {
|
|
348
|
+
assertConnected(this.device);
|
|
349
|
+
return withBleErrorMapping(() => this.device.ioPin.setAnalogPins(pins));
|
|
350
|
+
}
|
|
351
|
+
async getInputPins() {
|
|
352
|
+
assertConnected(this.device);
|
|
353
|
+
return withBleErrorMapping(() => this.device.ioPin.getInputPins());
|
|
354
|
+
}
|
|
355
|
+
async setInputPins(pins) {
|
|
356
|
+
assertConnected(this.device);
|
|
357
|
+
return withBleErrorMapping(() => this.device.ioPin.setInputPins(pins));
|
|
358
|
+
}
|
|
359
|
+
async readPins() {
|
|
360
|
+
assertConnected(this.device);
|
|
361
|
+
return withBleErrorMapping(() => this.device.ioPin.readPins());
|
|
362
|
+
}
|
|
363
|
+
async writePins(data) {
|
|
364
|
+
assertConnected(this.device);
|
|
365
|
+
return withBleErrorMapping(() => this.device.ioPin.writePins(data));
|
|
366
|
+
}
|
|
367
|
+
async writePinPwm(pin, options) {
|
|
368
|
+
assertConnected(this.device);
|
|
369
|
+
return withBleErrorMapping(() => this.device.ioPin.setPwm(pin, options.value, options.period));
|
|
370
|
+
}
|
|
371
|
+
async subscribeToEvent(source, value) {
|
|
372
|
+
assertConnected(this.device);
|
|
373
|
+
return withBleErrorMapping(() => this.device.events.subscribeToEvent(source, value));
|
|
374
|
+
}
|
|
375
|
+
async sendEvent(source, value) {
|
|
376
|
+
assertConnected(this.device);
|
|
377
|
+
return withBleErrorMapping(() => this.device.events.sendEvent(source, value));
|
|
321
378
|
}
|
|
322
379
|
async uartWrite(data) {
|
|
323
380
|
assertConnected(this.device);
|
|
324
|
-
|
|
381
|
+
return withBleErrorMapping(() => this.device.uart.writeData(data));
|
|
325
382
|
}
|
|
326
383
|
/**
|
|
327
384
|
* Flash the micro:bit.
|
|
@@ -347,7 +404,7 @@ class MicrobitBluetoothConnectionImpl extends TypedEventTarget {
|
|
|
347
404
|
const boardVersion = connection.boardVersion;
|
|
348
405
|
if (!boardVersion) {
|
|
349
406
|
throw new DeviceError({
|
|
350
|
-
code: "
|
|
407
|
+
code: "connection-error",
|
|
351
408
|
message: "No board version found",
|
|
352
409
|
});
|
|
353
410
|
}
|
|
@@ -357,7 +414,7 @@ class MicrobitBluetoothConnectionImpl extends TypedEventTarget {
|
|
|
357
414
|
}
|
|
358
415
|
if (!this.bleDevice) {
|
|
359
416
|
throw new DeviceError({
|
|
360
|
-
code: "
|
|
417
|
+
code: "connection-error",
|
|
361
418
|
message: "No device",
|
|
362
419
|
});
|
|
363
420
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/bluetooth/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/bluetooth/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,9 @@ import { LedService } from "./services/led-service.js";
|
|
|
12
12
|
import { Logging, LoggingEvent } from "../logging.js";
|
|
13
13
|
import { MagnetometerService } from "./services/magnetometer-service.js";
|
|
14
14
|
import { ServiceConnectionEventMap, TypedServiceEvent, TypedServiceEventDispatcher } from "../service-events.js";
|
|
15
|
+
import { EventService } from "./services/event-service.js";
|
|
16
|
+
import { TemperatureService } from "./services/temperature-service.js";
|
|
17
|
+
import { IoPinService } from "./services/io-pin-service.js";
|
|
15
18
|
import { UARTService } from "./services/uart-service.js";
|
|
16
19
|
import { DeviceBondState } from "./device-bond-state.js";
|
|
17
20
|
/**
|
|
@@ -45,8 +48,11 @@ export declare class BluetoothDeviceWrapper implements Logging {
|
|
|
45
48
|
accelerometer: AccelerometerService;
|
|
46
49
|
buttons: ButtonService;
|
|
47
50
|
deviceInformation: DeviceInformationService;
|
|
51
|
+
events: EventService;
|
|
52
|
+
ioPin: IoPinService;
|
|
48
53
|
led: LedService;
|
|
49
54
|
magnetometer: MagnetometerService;
|
|
55
|
+
temperature: TemperatureService;
|
|
50
56
|
uart: UARTService;
|
|
51
57
|
/**
|
|
52
58
|
* Only defined after connection.
|