@microbit/microbit-connection 0.9.0-apps.alpha.16 → 0.9.0-apps.alpha.18
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 +137 -0
- package/build/cjs/{bluetooth.js → bluetooth/connection.js} +158 -106
- package/build/cjs/bluetooth/connection.js.map +1 -0
- package/build/cjs/{bluetooth.test.js → bluetooth/connection.test.js} +9 -9
- package/build/cjs/bluetooth/connection.test.js.map +1 -0
- package/build/cjs/bluetooth/device-bond-state.js.map +1 -0
- package/build/cjs/{bluetooth-device-wrapper.d.ts → bluetooth/device-wrapper.d.ts} +11 -11
- package/build/cjs/{bluetooth-device-wrapper.js → bluetooth/device-wrapper.js} +38 -42
- package/build/cjs/bluetooth/device-wrapper.js.map +1 -0
- package/build/cjs/{flashing → bluetooth/flashing}/flashing-full.d.ts +2 -2
- package/build/cjs/{flashing → bluetooth/flashing}/flashing-full.js +6 -5
- package/build/cjs/bluetooth/flashing/flashing-full.js.map +1 -0
- package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.d.ts +1 -1
- package/build/cjs/bluetooth/flashing/flashing-makecode.js.map +1 -0
- package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.test.js +3 -3
- package/build/cjs/bluetooth/flashing/flashing-makecode.test.js.map +1 -0
- package/build/cjs/{flashing → bluetooth/flashing}/flashing-partial.d.ts +2 -2
- package/build/cjs/{flashing → bluetooth/flashing}/flashing-partial.js +7 -6
- package/build/cjs/bluetooth/flashing/flashing-partial.js.map +1 -0
- package/build/cjs/bluetooth/flashing/flashing-v1.js.map +1 -0
- package/build/cjs/{flashing → bluetooth/flashing}/nordic-dfu.d.ts +2 -2
- package/build/cjs/{flashing → bluetooth/flashing}/nordic-dfu.js +15 -11
- package/build/cjs/bluetooth/flashing/nordic-dfu.js.map +1 -0
- package/build/cjs/bluetooth/flashing/zip.js.map +1 -0
- package/build/cjs/bluetooth/flashing/zip.test.js.map +1 -0
- package/build/cjs/bluetooth/index.d.ts +5 -0
- package/build/cjs/bluetooth/index.js +9 -0
- package/build/cjs/bluetooth/index.js.map +1 -0
- package/build/cjs/{bluetooth-profile.js → bluetooth/profile.js} +1 -1
- package/build/cjs/bluetooth/profile.js.map +1 -0
- package/build/cjs/{accelerometer-service.d.ts → bluetooth/services/accelerometer-service.d.ts} +2 -3
- package/build/cjs/{accelerometer-service.js → bluetooth/services/accelerometer-service.js} +17 -12
- package/build/cjs/bluetooth/services/accelerometer-service.js.map +1 -0
- package/build/{esm → cjs/bluetooth/services}/button-service.d.ts +2 -3
- package/build/cjs/{button-service.js → bluetooth/services/button-service.js} +24 -14
- package/build/cjs/bluetooth/services/button-service.js.map +1 -0
- package/build/{esm → cjs/bluetooth/services}/device-information-service.d.ts +1 -1
- package/build/cjs/bluetooth/services/device-information-service.js +29 -0
- package/build/cjs/bluetooth/services/device-information-service.js.map +1 -0
- package/build/cjs/{dfu-service.js → bluetooth/services/dfu-service.js} +2 -2
- package/build/cjs/bluetooth/services/dfu-service.js.map +1 -0
- package/build/{esm → cjs/bluetooth/services}/led-service.d.ts +2 -3
- package/build/cjs/{led-service.js → bluetooth/services/led-service.js} +10 -7
- package/build/cjs/bluetooth/services/led-service.js.map +1 -0
- package/build/cjs/{magnetometer-service.d.ts → bluetooth/services/magnetometer-service.d.ts} +2 -3
- package/build/cjs/{magnetometer-service.js → bluetooth/services/magnetometer-service.js} +19 -14
- package/build/cjs/bluetooth/services/magnetometer-service.js.map +1 -0
- package/build/{esm → cjs/bluetooth/services}/partial-flashing-service.d.ts +1 -1
- package/build/cjs/{partial-flashing-service.js → bluetooth/services/partial-flashing-service.js} +8 -8
- package/build/cjs/bluetooth/services/partial-flashing-service.js.map +1 -0
- package/build/cjs/{uart-service.d.ts → bluetooth/services/uart-service.d.ts} +2 -2
- package/build/cjs/{uart-service.js → bluetooth/services/uart-service.js} +21 -9
- package/build/cjs/bluetooth/services/uart-service.js.map +1 -0
- package/build/cjs/board-id.d.ts +1 -1
- package/build/cjs/board-id.js.map +1 -1
- package/build/cjs/device.d.ts +145 -123
- package/build/cjs/device.js +47 -128
- package/build/cjs/device.js.map +1 -1
- package/build/cjs/events.d.ts +8 -108
- package/build/cjs/events.js +27 -88
- package/build/cjs/events.js.map +1 -1
- package/build/cjs/events.test.js +54 -48
- package/build/cjs/events.test.js.map +1 -1
- package/build/cjs/hex-util.d.ts +1 -0
- package/build/cjs/hex-util.js +15 -0
- package/build/cjs/hex-util.js.map +1 -0
- package/build/cjs/index.d.ts +7 -17
- package/build/cjs/index.js +6 -28
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/radio-bridge/connection.d.ts +52 -0
- package/build/cjs/{usb-radio-bridge.js → radio-bridge/connection.js} +69 -37
- package/build/cjs/radio-bridge/connection.js.map +1 -0
- package/build/cjs/radio-bridge/index.d.ts +4 -0
- package/build/cjs/radio-bridge/index.js +9 -0
- package/build/cjs/radio-bridge/index.js.map +1 -0
- package/build/cjs/{usb-serial-protocol.js → radio-bridge/serial-protocol.js} +1 -1
- package/build/cjs/radio-bridge/serial-protocol.js.map +1 -0
- package/build/cjs/service-events.d.ts +43 -14
- package/build/cjs/service-events.js +6 -36
- package/build/cjs/service-events.js.map +1 -1
- package/build/{esm/hex-flash-data-source.d.ts → cjs/universal-hex/flash-data-source.d.ts} +1 -2
- package/build/cjs/{hex-flash-data-source.js → universal-hex/flash-data-source.js} +7 -15
- package/build/cjs/universal-hex/flash-data-source.js.map +1 -0
- package/build/cjs/universal-hex/index.d.ts +4 -0
- package/build/cjs/universal-hex/index.js +9 -0
- package/build/cjs/universal-hex/index.js.map +1 -0
- package/build/cjs/usb/arm-debug.d.ts +137 -0
- package/build/cjs/usb/arm-debug.js +414 -0
- package/build/cjs/usb/arm-debug.js.map +1 -0
- package/build/cjs/usb/arm-debug.test.js +333 -0
- package/build/cjs/usb/arm-debug.test.js.map +1 -0
- package/build/{esm → cjs/usb}/board-serial-info.d.ts +2 -1
- package/build/cjs/{board-serial-info.js → usb/board-serial-info.js} +10 -7
- package/build/cjs/usb/board-serial-info.js.map +1 -0
- package/build/cjs/{board-serial-info.test.js → usb/board-serial-info.test.js} +2 -4
- package/build/cjs/usb/board-serial-info.test.js.map +1 -0
- package/build/cjs/usb/cdc-saturation.d.ts +36 -0
- package/build/cjs/usb/cdc-saturation.js +151 -0
- package/build/cjs/usb/cdc-saturation.js.map +1 -0
- package/build/cjs/usb/cmsis-dap.d.ts +113 -0
- package/build/cjs/usb/cmsis-dap.js +349 -0
- package/build/cjs/usb/cmsis-dap.js.map +1 -0
- package/build/cjs/usb/cmsis-dap.test.js +350 -0
- package/build/cjs/usb/cmsis-dap.test.js.map +1 -0
- package/build/cjs/usb/connection.d.ts +96 -0
- package/build/cjs/{usb.js → usb/connection.js} +257 -173
- package/build/cjs/usb/connection.js.map +1 -0
- package/build/cjs/{usb.test.js → usb/connection.test.js} +52 -42
- package/build/cjs/usb/connection.test.js.map +1 -0
- package/build/cjs/usb/cortex-m.d.ts +72 -0
- package/build/cjs/usb/cortex-m.js +165 -0
- package/build/cjs/usb/cortex-m.js.map +1 -0
- package/build/cjs/usb/cortex-m.test.js +217 -0
- package/build/cjs/usb/cortex-m.test.js.map +1 -0
- package/build/cjs/usb/daplink.d.ts +69 -0
- package/build/cjs/usb/daplink.js +238 -0
- package/build/cjs/usb/daplink.js.map +1 -0
- package/build/cjs/usb/daplink.test.js +290 -0
- package/build/cjs/usb/daplink.test.js.map +1 -0
- package/build/cjs/usb/device-wrapper.d.ts +34 -0
- package/build/cjs/usb/device-wrapper.js +102 -0
- package/build/cjs/usb/device-wrapper.js.map +1 -0
- package/build/cjs/usb/index.d.ts +5 -0
- package/build/cjs/usb/index.js +10 -0
- package/build/cjs/usb/index.js.map +1 -0
- package/build/{esm/usb-partial-flashing-utils.d.ts → cjs/usb/partial-flashing-utils.d.ts} +6 -9
- package/build/cjs/{usb-partial-flashing-utils.js → usb/partial-flashing-utils.js} +6 -49
- package/build/cjs/usb/partial-flashing-utils.js.map +1 -0
- package/build/{esm/usb-partial-flashing.d.ts → cjs/usb/partial-flashing.d.ts} +37 -11
- package/build/cjs/{usb-partial-flashing.js → usb/partial-flashing.js} +170 -135
- package/build/cjs/usb/partial-flashing.js.map +1 -0
- package/build/cjs/usb/promise-queue.js.map +1 -0
- package/build/cjs/usb/promise-queue.test.js.map +1 -0
- package/build/cjs/usb/serial-events.d.ts +16 -0
- package/build/cjs/{led.js → usb/serial-events.js} +1 -1
- package/build/cjs/usb/serial-events.js.map +1 -0
- package/build/cjs/usb/transport.d.ts +42 -0
- package/build/cjs/usb/transport.js +155 -0
- package/build/cjs/usb/transport.js.map +1 -0
- 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 +137 -0
- package/build/esm/{bluetooth.js → bluetooth/connection.js} +152 -100
- package/build/esm/bluetooth/connection.js.map +1 -0
- package/build/esm/{bluetooth.test.js → bluetooth/connection.test.js} +9 -9
- package/build/esm/bluetooth/connection.test.js.map +1 -0
- package/build/esm/bluetooth/device-bond-state.js.map +1 -0
- package/build/esm/{bluetooth-device-wrapper.d.ts → bluetooth/device-wrapper.d.ts} +11 -11
- package/build/esm/{bluetooth-device-wrapper.js → bluetooth/device-wrapper.js} +35 -39
- package/build/esm/bluetooth/device-wrapper.js.map +1 -0
- package/build/esm/{flashing → bluetooth/flashing}/flashing-full.d.ts +2 -2
- package/build/esm/{flashing → bluetooth/flashing}/flashing-full.js +6 -5
- package/build/esm/bluetooth/flashing/flashing-full.js.map +1 -0
- package/build/esm/{flashing → bluetooth/flashing}/flashing-makecode.d.ts +1 -1
- package/build/esm/bluetooth/flashing/flashing-makecode.js.map +1 -0
- package/build/esm/{flashing → bluetooth/flashing}/flashing-makecode.test.js +2 -2
- package/build/esm/bluetooth/flashing/flashing-makecode.test.js.map +1 -0
- package/build/esm/{flashing → bluetooth/flashing}/flashing-partial.d.ts +2 -2
- package/build/esm/{flashing → bluetooth/flashing}/flashing-partial.js +6 -5
- package/build/esm/bluetooth/flashing/flashing-partial.js.map +1 -0
- package/build/esm/bluetooth/flashing/flashing-v1.js.map +1 -0
- package/build/esm/{flashing → bluetooth/flashing}/nordic-dfu.d.ts +2 -2
- package/build/esm/{flashing → bluetooth/flashing}/nordic-dfu.js +15 -11
- package/build/esm/bluetooth/flashing/nordic-dfu.js.map +1 -0
- package/build/esm/bluetooth/flashing/zip.js.map +1 -0
- package/build/esm/bluetooth/flashing/zip.test.d.ts +1 -0
- package/build/esm/bluetooth/flashing/zip.test.js.map +1 -0
- package/build/esm/bluetooth/index.d.ts +5 -0
- package/build/esm/bluetooth/index.js +5 -0
- package/build/esm/bluetooth/index.js.map +1 -0
- package/build/esm/{bluetooth-profile.js → bluetooth/profile.js} +1 -1
- package/build/{cjs/bluetooth-profile.js.map → esm/bluetooth/profile.js.map} +1 -1
- package/build/esm/{accelerometer-service.d.ts → bluetooth/services/accelerometer-service.d.ts} +2 -3
- package/build/esm/{accelerometer-service.js → bluetooth/services/accelerometer-service.js} +11 -6
- package/build/esm/bluetooth/services/accelerometer-service.js.map +1 -0
- package/build/{cjs → esm/bluetooth/services}/button-service.d.ts +2 -3
- package/build/esm/{button-service.js → bluetooth/services/button-service.js} +20 -10
- package/build/esm/bluetooth/services/button-service.js.map +1 -0
- package/build/{cjs → esm/bluetooth/services}/device-information-service.d.ts +1 -1
- package/build/esm/bluetooth/services/device-information-service.js +25 -0
- package/build/esm/bluetooth/services/device-information-service.js.map +1 -0
- package/build/esm/{dfu-service.js → bluetooth/services/dfu-service.js} +1 -1
- package/build/esm/bluetooth/services/dfu-service.js.map +1 -0
- package/build/{cjs → esm/bluetooth/services}/led-service.d.ts +2 -3
- package/build/esm/{led-service.js → bluetooth/services/led-service.js} +4 -1
- package/build/esm/bluetooth/services/led-service.js.map +1 -0
- package/build/esm/{magnetometer-service.d.ts → bluetooth/services/magnetometer-service.d.ts} +2 -3
- package/build/esm/{magnetometer-service.js → bluetooth/services/magnetometer-service.js} +11 -6
- package/build/esm/bluetooth/services/magnetometer-service.js.map +1 -0
- package/build/{cjs → esm/bluetooth/services}/partial-flashing-service.d.ts +1 -1
- package/build/esm/{partial-flashing-service.js → bluetooth/services/partial-flashing-service.js} +4 -4
- package/build/esm/bluetooth/services/partial-flashing-service.js.map +1 -0
- package/build/esm/{uart-service.d.ts → bluetooth/services/uart-service.d.ts} +2 -2
- package/build/esm/{uart-service.js → bluetooth/services/uart-service.js} +18 -6
- package/build/esm/bluetooth/services/uart-service.js.map +1 -0
- package/build/esm/board-id.d.ts +1 -1
- package/build/esm/board-id.js.map +1 -1
- package/build/esm/device.d.ts +145 -123
- package/build/esm/device.js +45 -122
- package/build/esm/device.js.map +1 -1
- package/build/esm/events.d.ts +8 -108
- package/build/esm/events.js +26 -86
- package/build/esm/events.js.map +1 -1
- package/build/esm/events.test.js +55 -49
- package/build/esm/events.test.js.map +1 -1
- package/build/esm/hex-util.d.ts +1 -0
- package/build/esm/hex-util.js +11 -0
- package/build/esm/hex-util.js.map +1 -0
- package/build/esm/index.d.ts +7 -17
- package/build/esm/index.js +6 -11
- package/build/esm/index.js.map +1 -1
- package/build/esm/radio-bridge/connection.d.ts +52 -0
- package/build/esm/{usb-radio-bridge.js → radio-bridge/connection.js} +69 -37
- package/build/esm/radio-bridge/connection.js.map +1 -0
- package/build/esm/radio-bridge/index.d.ts +4 -0
- package/build/esm/radio-bridge/index.js +5 -0
- package/build/esm/radio-bridge/index.js.map +1 -0
- package/build/esm/{usb-serial-protocol.js → radio-bridge/serial-protocol.js} +1 -1
- package/build/esm/radio-bridge/serial-protocol.js.map +1 -0
- package/build/esm/service-events.d.ts +43 -14
- package/build/esm/service-events.js +5 -34
- package/build/esm/service-events.js.map +1 -1
- package/build/{cjs/hex-flash-data-source.d.ts → esm/universal-hex/flash-data-source.d.ts} +1 -2
- package/build/esm/{hex-flash-data-source.js → universal-hex/flash-data-source.js} +6 -13
- package/build/esm/universal-hex/flash-data-source.js.map +1 -0
- package/build/esm/universal-hex/index.d.ts +4 -0
- package/build/esm/universal-hex/index.js +5 -0
- package/build/esm/universal-hex/index.js.map +1 -0
- package/build/esm/usb/arm-debug.d.ts +137 -0
- package/build/esm/usb/arm-debug.js +409 -0
- package/build/esm/usb/arm-debug.js.map +1 -0
- package/build/esm/usb/arm-debug.test.d.ts +1 -0
- package/build/esm/usb/arm-debug.test.js +331 -0
- package/build/esm/usb/arm-debug.test.js.map +1 -0
- package/build/{cjs → esm/usb}/board-serial-info.d.ts +2 -1
- package/build/esm/{board-serial-info.js → usb/board-serial-info.js} +10 -7
- package/build/esm/usb/board-serial-info.js.map +1 -0
- package/build/esm/usb/board-serial-info.test.d.ts +1 -0
- package/build/esm/{board-serial-info.test.js → usb/board-serial-info.test.js} +2 -4
- package/build/esm/usb/board-serial-info.test.js.map +1 -0
- package/build/esm/usb/cdc-saturation.d.ts +36 -0
- package/build/esm/usb/cdc-saturation.js +148 -0
- package/build/esm/usb/cdc-saturation.js.map +1 -0
- package/build/esm/usb/cmsis-dap.d.ts +113 -0
- package/build/esm/usb/cmsis-dap.js +342 -0
- package/build/esm/usb/cmsis-dap.js.map +1 -0
- package/build/esm/usb/cmsis-dap.test.d.ts +1 -0
- package/build/esm/usb/cmsis-dap.test.js +348 -0
- package/build/esm/usb/cmsis-dap.test.js.map +1 -0
- package/build/esm/usb/connection.d.ts +96 -0
- package/build/esm/{usb.js → usb/connection.js} +253 -168
- package/build/esm/usb/connection.js.map +1 -0
- package/build/esm/usb/connection.test.d.ts +1 -0
- package/build/esm/{usb.test.js → usb/connection.test.js} +47 -37
- package/build/esm/usb/connection.test.js.map +1 -0
- package/build/esm/usb/cortex-m.d.ts +72 -0
- package/build/esm/usb/cortex-m.js +161 -0
- package/build/esm/usb/cortex-m.js.map +1 -0
- package/build/esm/usb/cortex-m.test.d.ts +1 -0
- package/build/esm/usb/cortex-m.test.js +215 -0
- package/build/esm/usb/cortex-m.test.js.map +1 -0
- package/build/esm/usb/daplink.d.ts +69 -0
- package/build/esm/usb/daplink.js +231 -0
- package/build/esm/usb/daplink.js.map +1 -0
- package/build/esm/usb/daplink.test.d.ts +1 -0
- package/build/esm/usb/daplink.test.js +288 -0
- package/build/esm/usb/daplink.test.js.map +1 -0
- package/build/esm/usb/device-wrapper.d.ts +34 -0
- package/build/esm/usb/device-wrapper.js +98 -0
- package/build/esm/usb/device-wrapper.js.map +1 -0
- package/build/esm/usb/index.d.ts +5 -0
- package/build/esm/usb/index.js +5 -0
- package/build/esm/usb/index.js.map +1 -0
- package/build/{cjs/usb-partial-flashing-utils.d.ts → esm/usb/partial-flashing-utils.d.ts} +6 -9
- package/build/esm/{usb-partial-flashing-utils.js → usb/partial-flashing-utils.js} +4 -44
- package/build/esm/usb/partial-flashing-utils.js.map +1 -0
- package/build/{cjs/usb-partial-flashing.d.ts → esm/usb/partial-flashing.d.ts} +37 -11
- package/build/esm/{usb-partial-flashing.js → usb/partial-flashing.js} +169 -111
- package/build/esm/usb/partial-flashing.js.map +1 -0
- package/build/esm/usb/promise-queue.js.map +1 -0
- package/build/esm/usb/promise-queue.test.d.ts +1 -0
- package/build/esm/usb/promise-queue.test.js.map +1 -0
- package/build/esm/usb/serial-events.d.ts +16 -0
- package/build/esm/usb/serial-events.js +2 -0
- package/build/esm/usb/serial-events.js.map +1 -0
- package/build/esm/usb/transport.d.ts +42 -0
- package/build/esm/usb/transport.js +151 -0
- package/build/esm/usb/transport.js.map +1 -0
- package/package.json +43 -2
- package/build/cjs/accelerometer-service.js.map +0 -1
- package/build/cjs/accelerometer.d.ts +0 -9
- package/build/cjs/accelerometer.js +0 -16
- package/build/cjs/accelerometer.js.map +0 -1
- package/build/cjs/bluetooth-device-wrapper.js.map +0 -1
- package/build/cjs/bluetooth.d.ts +0 -114
- package/build/cjs/bluetooth.js.map +0 -1
- package/build/cjs/bluetooth.test.js.map +0 -1
- package/build/cjs/board-serial-info.js.map +0 -1
- package/build/cjs/board-serial-info.test.js.map +0 -1
- package/build/cjs/button-service.js.map +0 -1
- package/build/cjs/buttons.d.ts +0 -10
- package/build/cjs/buttons.js +0 -22
- package/build/cjs/buttons.js.map +0 -1
- package/build/cjs/constants.d.ts +0 -48
- package/build/cjs/constants.js +0 -73
- package/build/cjs/constants.js.map +0 -1
- package/build/cjs/device-bond-state.js.map +0 -1
- package/build/cjs/device-information-service.js +0 -34
- package/build/cjs/device-information-service.js.map +0 -1
- package/build/cjs/dfu-service.js.map +0 -1
- package/build/cjs/flashing/flashing-full.js.map +0 -1
- package/build/cjs/flashing/flashing-makecode.js.map +0 -1
- package/build/cjs/flashing/flashing-makecode.test.js.map +0 -1
- package/build/cjs/flashing/flashing-partial.js.map +0 -1
- package/build/cjs/flashing/flashing-v1.js.map +0 -1
- package/build/cjs/flashing/nordic-dfu.js.map +0 -1
- package/build/cjs/flashing/zip.js.map +0 -1
- package/build/cjs/flashing/zip.test.js.map +0 -1
- package/build/cjs/hex-flash-data-source.js.map +0 -1
- package/build/cjs/led-service.js.map +0 -1
- package/build/cjs/led.d.ts +0 -6
- package/build/cjs/led.js.map +0 -1
- package/build/cjs/magnetometer-service.js.map +0 -1
- package/build/cjs/magnetometer.d.ts +0 -9
- package/build/cjs/magnetometer.js +0 -16
- package/build/cjs/magnetometer.js.map +0 -1
- package/build/cjs/partial-flashing-service.js.map +0 -1
- package/build/cjs/promise-queue.js.map +0 -1
- package/build/cjs/promise-queue.test.js.map +0 -1
- package/build/cjs/serial-events.d.ts +0 -20
- package/build/cjs/serial-events.js +0 -69
- package/build/cjs/serial-events.js.map +0 -1
- package/build/cjs/uart-service.js.map +0 -1
- package/build/cjs/uart.d.ts +0 -4
- package/build/cjs/uart.js +0 -16
- package/build/cjs/uart.js.map +0 -1
- package/build/cjs/usb-device-wrapper.d.ts +0 -47
- package/build/cjs/usb-device-wrapper.js +0 -437
- package/build/cjs/usb-device-wrapper.js.map +0 -1
- package/build/cjs/usb-partial-flashing-utils.js.map +0 -1
- package/build/cjs/usb-partial-flashing.js.map +0 -1
- package/build/cjs/usb-radio-bridge.d.ts +0 -24
- package/build/cjs/usb-radio-bridge.js.map +0 -1
- package/build/cjs/usb-serial-protocol.js.map +0 -1
- package/build/cjs/usb.d.ts +0 -66
- package/build/cjs/usb.js.map +0 -1
- package/build/cjs/usb.test.js.map +0 -1
- package/build/esm/accelerometer-service.js.map +0 -1
- package/build/esm/accelerometer.d.ts +0 -9
- package/build/esm/accelerometer.js +0 -12
- package/build/esm/accelerometer.js.map +0 -1
- package/build/esm/bluetooth-device-wrapper.js.map +0 -1
- package/build/esm/bluetooth-profile.js.map +0 -1
- package/build/esm/bluetooth.d.ts +0 -114
- package/build/esm/bluetooth.js.map +0 -1
- package/build/esm/bluetooth.test.js.map +0 -1
- package/build/esm/board-serial-info.js.map +0 -1
- package/build/esm/board-serial-info.test.js.map +0 -1
- package/build/esm/button-service.js.map +0 -1
- package/build/esm/buttons.d.ts +0 -10
- package/build/esm/buttons.js +0 -18
- package/build/esm/buttons.js.map +0 -1
- package/build/esm/constants.d.ts +0 -48
- package/build/esm/constants.js +0 -70
- package/build/esm/constants.js.map +0 -1
- package/build/esm/device-bond-state.js.map +0 -1
- package/build/esm/device-information-service.js +0 -30
- package/build/esm/device-information-service.js.map +0 -1
- package/build/esm/dfu-service.js.map +0 -1
- package/build/esm/flashing/flashing-full.js.map +0 -1
- package/build/esm/flashing/flashing-makecode.js.map +0 -1
- package/build/esm/flashing/flashing-makecode.test.js.map +0 -1
- package/build/esm/flashing/flashing-partial.js.map +0 -1
- package/build/esm/flashing/flashing-v1.js.map +0 -1
- package/build/esm/flashing/nordic-dfu.js.map +0 -1
- package/build/esm/flashing/zip.js.map +0 -1
- package/build/esm/flashing/zip.test.js.map +0 -1
- package/build/esm/hex-flash-data-source.js.map +0 -1
- package/build/esm/led-service.js.map +0 -1
- package/build/esm/led.d.ts +0 -6
- package/build/esm/led.js +0 -2
- package/build/esm/led.js.map +0 -1
- package/build/esm/magnetometer-service.js.map +0 -1
- package/build/esm/magnetometer.d.ts +0 -9
- package/build/esm/magnetometer.js +0 -12
- package/build/esm/magnetometer.js.map +0 -1
- package/build/esm/partial-flashing-service.js.map +0 -1
- package/build/esm/promise-queue.js.map +0 -1
- package/build/esm/promise-queue.test.js.map +0 -1
- package/build/esm/serial-events.d.ts +0 -20
- package/build/esm/serial-events.js +0 -61
- package/build/esm/serial-events.js.map +0 -1
- package/build/esm/uart-service.js.map +0 -1
- package/build/esm/uart.d.ts +0 -4
- package/build/esm/uart.js +0 -12
- package/build/esm/uart.js.map +0 -1
- package/build/esm/usb-device-wrapper.d.ts +0 -47
- package/build/esm/usb-device-wrapper.js +0 -410
- package/build/esm/usb-device-wrapper.js.map +0 -1
- package/build/esm/usb-partial-flashing-utils.js.map +0 -1
- package/build/esm/usb-partial-flashing.js.map +0 -1
- package/build/esm/usb-radio-bridge.d.ts +0 -24
- package/build/esm/usb-radio-bridge.js.map +0 -1
- package/build/esm/usb-serial-protocol.js.map +0 -1
- package/build/esm/usb.d.ts +0 -66
- package/build/esm/usb.js.map +0 -1
- package/build/esm/usb.test.js.map +0 -1
- /package/build/cjs/{bluetooth.test.d.ts → bluetooth/connection.test.d.ts} +0 -0
- /package/build/cjs/{device-bond-state.d.ts → bluetooth/device-bond-state.d.ts} +0 -0
- /package/build/cjs/{device-bond-state.js → bluetooth/device-bond-state.js} +0 -0
- /package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.js +0 -0
- /package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.test.d.ts +0 -0
- /package/build/cjs/{flashing → bluetooth/flashing}/flashing-v1.d.ts +0 -0
- /package/build/cjs/{flashing → bluetooth/flashing}/flashing-v1.js +0 -0
- /package/build/cjs/{flashing → bluetooth/flashing}/zip.d.ts +0 -0
- /package/build/cjs/{flashing → bluetooth/flashing}/zip.js +0 -0
- /package/build/cjs/{flashing → bluetooth/flashing}/zip.test.d.ts +0 -0
- /package/build/cjs/{flashing → bluetooth/flashing}/zip.test.js +0 -0
- /package/build/cjs/{bluetooth-profile.d.ts → bluetooth/profile.d.ts} +0 -0
- /package/build/cjs/{dfu-service.d.ts → bluetooth/services/dfu-service.d.ts} +0 -0
- /package/build/cjs/{usb-serial-protocol.d.ts → radio-bridge/serial-protocol.d.ts} +0 -0
- /package/build/cjs/{board-serial-info.test.d.ts → usb/arm-debug.test.d.ts} +0 -0
- /package/build/{esm → cjs/usb}/board-serial-info.test.d.ts +0 -0
- /package/build/cjs/{promise-queue.test.d.ts → usb/cmsis-dap.test.d.ts} +0 -0
- /package/build/cjs/{usb.test.d.ts → usb/connection.test.d.ts} +0 -0
- /package/build/{esm/bluetooth.test.d.ts → cjs/usb/cortex-m.test.d.ts} +0 -0
- /package/build/{esm/flashing/flashing-makecode.test.d.ts → cjs/usb/daplink.test.d.ts} +0 -0
- /package/build/cjs/{promise-queue.d.ts → usb/promise-queue.d.ts} +0 -0
- /package/build/cjs/{promise-queue.js → usb/promise-queue.js} +0 -0
- /package/build/{esm → cjs/usb}/promise-queue.test.d.ts +0 -0
- /package/build/cjs/{promise-queue.test.js → usb/promise-queue.test.js} +0 -0
- /package/build/esm/{flashing/zip.test.d.ts → bluetooth/connection.test.d.ts} +0 -0
- /package/build/esm/{device-bond-state.d.ts → bluetooth/device-bond-state.d.ts} +0 -0
- /package/build/esm/{device-bond-state.js → bluetooth/device-bond-state.js} +0 -0
- /package/build/esm/{flashing → bluetooth/flashing}/flashing-makecode.js +0 -0
- /package/build/esm/{usb.test.d.ts → bluetooth/flashing/flashing-makecode.test.d.ts} +0 -0
- /package/build/esm/{flashing → bluetooth/flashing}/flashing-v1.d.ts +0 -0
- /package/build/esm/{flashing → bluetooth/flashing}/flashing-v1.js +0 -0
- /package/build/esm/{flashing → bluetooth/flashing}/zip.d.ts +0 -0
- /package/build/esm/{flashing → bluetooth/flashing}/zip.js +0 -0
- /package/build/esm/{flashing → bluetooth/flashing}/zip.test.js +0 -0
- /package/build/esm/{bluetooth-profile.d.ts → bluetooth/profile.d.ts} +0 -0
- /package/build/esm/{dfu-service.d.ts → bluetooth/services/dfu-service.d.ts} +0 -0
- /package/build/esm/{usb-serial-protocol.d.ts → radio-bridge/serial-protocol.d.ts} +0 -0
- /package/build/esm/{promise-queue.d.ts → usb/promise-queue.d.ts} +0 -0
- /package/build/esm/{promise-queue.js → usb/promise-queue.js} +0 -0
- /package/build/esm/{promise-queue.test.js → usb/promise-queue.test.js} +0 -0
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
29
|
+
exports.createBluetoothConnection = void 0;
|
|
30
30
|
/**
|
|
31
31
|
* (c) 2021, Micro:bit Educational Foundation and contributors
|
|
32
32
|
*
|
|
@@ -35,40 +35,47 @@ exports.createWebBluetoothConnection = void 0;
|
|
|
35
35
|
const bluetooth_le_1 = require("@capacitor-community/bluetooth-le");
|
|
36
36
|
const core_1 = require("@capacitor/core");
|
|
37
37
|
const nrf_intel_hex_1 = __importDefault(require("nrf-intel-hex"));
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const device_js_1 = require("
|
|
41
|
-
const events_js_1 = require("
|
|
42
|
-
const logging_js_1 = require("
|
|
38
|
+
const device_wrapper_js_1 = require("./device-wrapper.js");
|
|
39
|
+
const profile_js_1 = require("./profile.js");
|
|
40
|
+
const device_js_1 = require("../device.js");
|
|
41
|
+
const events_js_1 = require("../events.js");
|
|
42
|
+
const logging_js_1 = require("../logging.js");
|
|
43
43
|
const flashing_full_js_1 = require("./flashing/flashing-full.js");
|
|
44
44
|
const flashing_partial_js_1 = __importStar(require("./flashing/flashing-partial.js"));
|
|
45
|
-
const availability_js_1 = require("
|
|
46
|
-
const
|
|
45
|
+
const availability_js_1 = require("../availability.js");
|
|
46
|
+
const hex_util_js_1 = require("../hex-util.js");
|
|
47
47
|
const device_bond_state_js_1 = require("./device-bond-state.js");
|
|
48
|
-
const async_util_js_1 = require("
|
|
48
|
+
const async_util_js_1 = require("../async-util.js");
|
|
49
|
+
const ble_error_js_1 = require("./ble-error.js");
|
|
49
50
|
let bleClientInitialized = false;
|
|
50
51
|
/**
|
|
51
52
|
* A Bluetooth connection factory.
|
|
52
53
|
*/
|
|
53
|
-
const
|
|
54
|
-
exports.
|
|
54
|
+
const createBluetoothConnection = (options) => new MicrobitBluetoothConnectionImpl(options);
|
|
55
|
+
exports.createBluetoothConnection = createBluetoothConnection;
|
|
55
56
|
/**
|
|
56
57
|
* A Bluetooth connection to a micro:bit device.
|
|
57
58
|
*/
|
|
58
|
-
class
|
|
59
|
+
class MicrobitBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
59
60
|
constructor(options = {}) {
|
|
60
61
|
super();
|
|
62
|
+
Object.defineProperty(this, "type", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
configurable: true,
|
|
65
|
+
writable: true,
|
|
66
|
+
value: "bluetooth"
|
|
67
|
+
});
|
|
61
68
|
Object.defineProperty(this, "status", {
|
|
62
69
|
enumerable: true,
|
|
63
70
|
configurable: true,
|
|
64
71
|
writable: true,
|
|
65
|
-
value: device_js_1.ConnectionStatus.
|
|
72
|
+
value: device_js_1.ConnectionStatus.NoAuthorizedDevice
|
|
66
73
|
});
|
|
67
74
|
/**
|
|
68
|
-
* The
|
|
75
|
+
* The BLE device we last connected to.
|
|
69
76
|
* Cleared if it is disconnected.
|
|
70
77
|
*/
|
|
71
|
-
Object.defineProperty(this, "
|
|
78
|
+
Object.defineProperty(this, "bleDevice", {
|
|
72
79
|
enumerable: true,
|
|
73
80
|
configurable: true,
|
|
74
81
|
writable: true,
|
|
@@ -86,7 +93,19 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
86
93
|
writable: true,
|
|
87
94
|
value: void 0
|
|
88
95
|
});
|
|
89
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Device-specific state. Created on connect, cleared on disconnect.
|
|
98
|
+
*/
|
|
99
|
+
Object.defineProperty(this, "device", {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
configurable: true,
|
|
102
|
+
writable: true,
|
|
103
|
+
value: void 0
|
|
104
|
+
});
|
|
105
|
+
/**
|
|
106
|
+
* Cached device property that persists across reconnections until clearDevice.
|
|
107
|
+
*/
|
|
108
|
+
Object.defineProperty(this, "cachedBoardVersion", {
|
|
90
109
|
enumerable: true,
|
|
91
110
|
configurable: true,
|
|
92
111
|
writable: true,
|
|
@@ -115,10 +134,10 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
115
134
|
options.deviceBondState || new device_bond_state_js_1.DefaultDeviceBondState();
|
|
116
135
|
}
|
|
117
136
|
eventActivated(type) {
|
|
118
|
-
this.
|
|
137
|
+
this.device?.startNotifications(type);
|
|
119
138
|
}
|
|
120
139
|
eventDeactivated(type) {
|
|
121
|
-
this.
|
|
140
|
+
this.device?.stopNotifications(type);
|
|
122
141
|
}
|
|
123
142
|
log(v) {
|
|
124
143
|
this.logging.log(v);
|
|
@@ -151,7 +170,7 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
151
170
|
// On Android, check if location services are enabled. This is only
|
|
152
171
|
// required on Android < 12 (API < 31), but isLocationEnabled() returns
|
|
153
172
|
// true on newer Android, so we can always check it.
|
|
154
|
-
if ((0,
|
|
173
|
+
if ((0, device_wrapper_js_1.isAndroid)()) {
|
|
155
174
|
const isLocationEnabled = await bluetooth_le_1.BleClient.isLocationEnabled();
|
|
156
175
|
if (!isLocationEnabled) {
|
|
157
176
|
return "location-disabled";
|
|
@@ -186,7 +205,8 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
186
205
|
}
|
|
187
206
|
}
|
|
188
207
|
getBoardVersion() {
|
|
189
|
-
|
|
208
|
+
(0, device_js_1.assertConnected)(this.cachedBoardVersion);
|
|
209
|
+
return this.cachedBoardVersion;
|
|
190
210
|
}
|
|
191
211
|
async connect(options) {
|
|
192
212
|
const progress = options?.progress ?? (() => { });
|
|
@@ -198,21 +218,24 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
198
218
|
// disconnect before attempting to connect.
|
|
199
219
|
this.waitForPostFlashDisconnectPromise &&
|
|
200
220
|
(await this.waitForPostFlashDisconnectPromise);
|
|
201
|
-
if (!this.
|
|
221
|
+
if (!this.bleDevice || !this.device) {
|
|
202
222
|
progress(device_js_1.ProgressStage.FindingDevice);
|
|
203
223
|
const device = await this.requestDevice(options?.signal);
|
|
204
|
-
this.
|
|
205
|
-
onConnecting: () => this.setStatus(device_js_1.ConnectionStatus.
|
|
206
|
-
onSuccess: () =>
|
|
207
|
-
|
|
224
|
+
this.device = new device_wrapper_js_1.BluetoothDeviceWrapper(device, this.logging, this.deviceBondState, this.dispatchEvent.bind(this), () => this.getActiveEvents(), {
|
|
225
|
+
onConnecting: () => this.setStatus(device_js_1.ConnectionStatus.Connecting),
|
|
226
|
+
onSuccess: () => {
|
|
227
|
+
this.cachedBoardVersion = this.device.boardVersion;
|
|
228
|
+
this.setStatus(device_js_1.ConnectionStatus.Connected);
|
|
229
|
+
},
|
|
230
|
+
onDisconnect: () => this.setStatus(device_js_1.ConnectionStatus.Disconnected),
|
|
208
231
|
});
|
|
209
232
|
}
|
|
210
|
-
await this.
|
|
233
|
+
await this.device.connect(options);
|
|
211
234
|
}
|
|
212
235
|
async disconnect() {
|
|
213
236
|
try {
|
|
214
|
-
if (this.
|
|
215
|
-
await this.
|
|
237
|
+
if (this.device) {
|
|
238
|
+
await this.device.disconnect();
|
|
216
239
|
}
|
|
217
240
|
}
|
|
218
241
|
catch (e) {
|
|
@@ -222,7 +245,7 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
222
245
|
});
|
|
223
246
|
}
|
|
224
247
|
finally {
|
|
225
|
-
this.setStatus(device_js_1.ConnectionStatus.
|
|
248
|
+
this.setStatus(device_js_1.ConnectionStatus.Disconnected);
|
|
226
249
|
this.logging.event({
|
|
227
250
|
type: "Bluetooth-info",
|
|
228
251
|
message: "disconnected",
|
|
@@ -234,105 +257,118 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
234
257
|
this.status = newStatus;
|
|
235
258
|
this.log("Bluetooth connection status " + newStatus);
|
|
236
259
|
if (this.deferredUpdatesPreviousStatus === undefined) {
|
|
237
|
-
this.
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
if (this.connection) {
|
|
242
|
-
// TODO
|
|
260
|
+
this.dispatchEvent("status", {
|
|
261
|
+
status: newStatus,
|
|
262
|
+
previousStatus,
|
|
263
|
+
});
|
|
243
264
|
}
|
|
244
|
-
return Promise.resolve();
|
|
245
265
|
}
|
|
246
266
|
async clearDevice() {
|
|
247
267
|
await this.disconnect();
|
|
248
|
-
this.
|
|
249
|
-
this.
|
|
268
|
+
this.bleDevice = undefined;
|
|
269
|
+
this.cachedBoardVersion = undefined;
|
|
270
|
+
this.setStatus(device_js_1.ConnectionStatus.NoAuthorizedDevice);
|
|
250
271
|
}
|
|
251
272
|
setNameFilter(name) {
|
|
252
273
|
this.nameFilter = name;
|
|
253
274
|
}
|
|
254
275
|
async requestDevice(signal) {
|
|
255
|
-
//
|
|
276
|
+
// Support both the default "BBC micro:bit" name and the shorter "uBit"
|
|
277
|
+
// name used by some MakeCode extensions (e.g. bsiever/microbit-pxt-blehid).
|
|
256
278
|
// See https://github.com/bsiever/microbit-pxt-blehid/issues/31
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
const namePrefix = this.nameFilter
|
|
261
|
-
? `BBC micro:bit [${this.nameFilter}]`
|
|
262
|
-
: "BBC micro:bit";
|
|
279
|
+
const namePrefixes = this.nameFilter
|
|
280
|
+
? [`BBC micro:bit [${this.nameFilter}]`, `uBit [${this.nameFilter}]`]
|
|
281
|
+
: ["BBC micro:bit", "uBit"];
|
|
263
282
|
// If we have a cached device, check if it still matches the current filter.
|
|
264
283
|
// If not, clear it so we find a new device.
|
|
265
|
-
if (this.
|
|
266
|
-
if (this.
|
|
267
|
-
return this.
|
|
284
|
+
if (this.bleDevice) {
|
|
285
|
+
if (namePrefixes.some((p) => this.bleDevice.name?.startsWith(p))) {
|
|
286
|
+
return this.bleDevice;
|
|
268
287
|
}
|
|
269
|
-
this.log(`Cached device "${this.
|
|
288
|
+
this.log(`Cached device "${this.bleDevice.name}" doesn't match filters "${namePrefixes.join(", ")}", clearing`);
|
|
270
289
|
await this.clearDevice();
|
|
271
290
|
}
|
|
272
|
-
this.
|
|
291
|
+
this.dispatchEvent("beforerequestdevice");
|
|
273
292
|
try {
|
|
274
|
-
this.
|
|
275
|
-
? await this.requestDeviceNative(
|
|
276
|
-
: await this.requestDeviceWeb(
|
|
277
|
-
if (!this.
|
|
278
|
-
this.setStatus(device_js_1.ConnectionStatus.
|
|
293
|
+
this.bleDevice = core_1.Capacitor.isNativePlatform()
|
|
294
|
+
? await this.requestDeviceNative(namePrefixes, signal)
|
|
295
|
+
: await this.requestDeviceWeb(namePrefixes);
|
|
296
|
+
if (!this.bleDevice) {
|
|
297
|
+
this.setStatus(device_js_1.ConnectionStatus.NoAuthorizedDevice);
|
|
279
298
|
throw new device_js_1.DeviceError({
|
|
280
299
|
code: "no-device-selected",
|
|
281
300
|
message: "No device selected",
|
|
282
301
|
});
|
|
283
302
|
}
|
|
284
|
-
return this.
|
|
303
|
+
return this.bleDevice;
|
|
285
304
|
}
|
|
286
305
|
finally {
|
|
287
|
-
this.
|
|
306
|
+
this.dispatchEvent("afterrequestdevice");
|
|
288
307
|
}
|
|
289
308
|
}
|
|
290
309
|
async getAccelerometerData() {
|
|
291
|
-
|
|
310
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
311
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.accelerometer.getData());
|
|
292
312
|
}
|
|
293
313
|
async getAccelerometerPeriod() {
|
|
294
|
-
|
|
314
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
315
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.accelerometer.getPeriod());
|
|
295
316
|
}
|
|
296
317
|
async setAccelerometerPeriod(value) {
|
|
297
|
-
|
|
318
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
319
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.accelerometer.setPeriod(value));
|
|
298
320
|
}
|
|
299
321
|
async setLedText(text) {
|
|
300
|
-
|
|
322
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
323
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.led.setText(text));
|
|
301
324
|
}
|
|
302
325
|
async getLedScrollingDelay() {
|
|
303
|
-
|
|
326
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
327
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.led.getScrollingDelay());
|
|
304
328
|
}
|
|
305
329
|
async setLedScrollingDelay(delayInMillis) {
|
|
306
|
-
|
|
330
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
331
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.led.setScrollingDelay(delayInMillis));
|
|
307
332
|
}
|
|
308
333
|
async getLedMatrix() {
|
|
309
|
-
|
|
334
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
335
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.led.getLedMatrix());
|
|
310
336
|
}
|
|
311
337
|
async setLedMatrix(matrix) {
|
|
312
|
-
|
|
338
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
339
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.led.setLedMatrix(matrix));
|
|
313
340
|
}
|
|
314
341
|
async getMagnetometerData() {
|
|
315
|
-
|
|
342
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
343
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.magnetometer.getData());
|
|
316
344
|
}
|
|
317
345
|
async getMagnetometerPeriod() {
|
|
318
|
-
|
|
346
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
347
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.magnetometer.getPeriod());
|
|
319
348
|
}
|
|
320
349
|
async setMagnetometerPeriod(value) {
|
|
321
|
-
|
|
350
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
351
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.magnetometer.setPeriod(value));
|
|
322
352
|
}
|
|
323
353
|
async getMagnetometerBearing() {
|
|
324
|
-
|
|
354
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
355
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.magnetometer.getBearing());
|
|
325
356
|
}
|
|
326
357
|
async triggerMagnetometerCalibration() {
|
|
327
|
-
|
|
358
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
359
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.magnetometer.triggerCalibration());
|
|
328
360
|
}
|
|
329
361
|
async uartWrite(data) {
|
|
330
|
-
|
|
362
|
+
(0, device_js_1.assertConnected)(this.device);
|
|
363
|
+
return (0, ble_error_js_1.withBleErrorMapping)(() => this.device.uart.writeData(data));
|
|
331
364
|
}
|
|
332
365
|
/**
|
|
333
366
|
* Flash the micro:bit.
|
|
334
367
|
*
|
|
335
|
-
*
|
|
368
|
+
* Always leaves the connection in {@link ConnectionStatus.Disconnected} state.
|
|
369
|
+
* Bluetooth connects directly to the application processor, which reboots
|
|
370
|
+
* after flashing, so the connection is necessarily lost. Call {@link connect}
|
|
371
|
+
* again after flashing to reconnect.
|
|
336
372
|
*
|
|
337
373
|
* @param dataSource The data to use.
|
|
338
374
|
* @param options Flash options and progress callback.
|
|
@@ -342,15 +378,15 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
342
378
|
try {
|
|
343
379
|
// We'll disconnect/reconnect multiple times due to device resets, but reporting this is unhelpful.
|
|
344
380
|
this.deferredUpdatesPreviousStatus = this.status;
|
|
345
|
-
if (this.status !== device_js_1.ConnectionStatus.
|
|
381
|
+
if (this.status !== device_js_1.ConnectionStatus.Connected) {
|
|
346
382
|
await this.connect({ progress, signal: options.signal });
|
|
347
383
|
}
|
|
348
|
-
const connection = this.
|
|
384
|
+
const connection = this.device;
|
|
349
385
|
try {
|
|
350
386
|
const boardVersion = connection.boardVersion;
|
|
351
387
|
if (!boardVersion) {
|
|
352
388
|
throw new device_js_1.DeviceError({
|
|
353
|
-
code: "
|
|
389
|
+
code: "connection-error",
|
|
354
390
|
message: "No board version found",
|
|
355
391
|
});
|
|
356
392
|
}
|
|
@@ -358,9 +394,9 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
358
394
|
if (!memoryMap) {
|
|
359
395
|
throw new device_js_1.FlashDataError("Could not convert hex to memory map");
|
|
360
396
|
}
|
|
361
|
-
if (!this.
|
|
397
|
+
if (!this.bleDevice) {
|
|
362
398
|
throw new device_js_1.DeviceError({
|
|
363
|
-
code: "
|
|
399
|
+
code: "connection-error",
|
|
364
400
|
message: "No device",
|
|
365
401
|
});
|
|
366
402
|
}
|
|
@@ -369,7 +405,8 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
369
405
|
if (partialFlashResult === flashing_partial_js_1.PartialFlashResult.AttemptFullFlash) {
|
|
370
406
|
await (0, flashing_full_js_1.fullFlash)(connection, boardVersion, memoryMap, progress);
|
|
371
407
|
}
|
|
372
|
-
|
|
408
|
+
this.dispatchEvent("flash");
|
|
409
|
+
if (partialFlashResult === flashing_partial_js_1.PartialFlashResult.AlreadyUpToDate ||
|
|
373
410
|
partialFlashResult === flashing_partial_js_1.PartialFlashResult.Success) {
|
|
374
411
|
this.waitForPostFlashDisconnectPromise = (async () => {
|
|
375
412
|
try {
|
|
@@ -393,7 +430,7 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
393
430
|
}
|
|
394
431
|
}
|
|
395
432
|
})();
|
|
396
|
-
this.setStatus(device_js_1.ConnectionStatus.
|
|
433
|
+
this.setStatus(device_js_1.ConnectionStatus.Disconnected);
|
|
397
434
|
}
|
|
398
435
|
}
|
|
399
436
|
catch (e) {
|
|
@@ -409,7 +446,10 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
409
446
|
finally {
|
|
410
447
|
const previousStatus = this.deferredUpdatesPreviousStatus;
|
|
411
448
|
this.deferredUpdatesPreviousStatus = undefined;
|
|
412
|
-
this.
|
|
449
|
+
this.dispatchEvent("status", {
|
|
450
|
+
status: this.status,
|
|
451
|
+
previousStatus,
|
|
452
|
+
});
|
|
413
453
|
}
|
|
414
454
|
}
|
|
415
455
|
/**
|
|
@@ -417,22 +457,33 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
417
457
|
*
|
|
418
458
|
* @returns device or undefined if user cancels.
|
|
419
459
|
*/
|
|
420
|
-
async requestDeviceWeb(
|
|
460
|
+
async requestDeviceWeb(namePrefixes) {
|
|
461
|
+
const optionalServices = [
|
|
462
|
+
profile_js_1.profile.accelerometer.id,
|
|
463
|
+
profile_js_1.profile.button.id,
|
|
464
|
+
profile_js_1.profile.deviceInformation.id,
|
|
465
|
+
profile_js_1.profile.dfuControl.id,
|
|
466
|
+
profile_js_1.profile.event.id,
|
|
467
|
+
profile_js_1.profile.ioPin.id,
|
|
468
|
+
profile_js_1.profile.led.id,
|
|
469
|
+
profile_js_1.profile.magnetometer.id,
|
|
470
|
+
profile_js_1.profile.temperature.id,
|
|
471
|
+
profile_js_1.profile.uart.id,
|
|
472
|
+
];
|
|
473
|
+
// Temporarily patch navigator.bluetooth.requestDevice to support multiple
|
|
474
|
+
// name prefix filters. The capacitor-ble plugin only supports a single
|
|
475
|
+
// namePrefix, but the Web Bluetooth API supports a filters array.
|
|
476
|
+
// By patching at this level the plugin's internal deviceMap is populated
|
|
477
|
+
// naturally when its own requestDevice completes.
|
|
478
|
+
const orig = navigator.bluetooth.requestDevice.bind(navigator.bluetooth);
|
|
421
479
|
try {
|
|
480
|
+
navigator.bluetooth.requestDevice = (options) => orig({
|
|
481
|
+
...options,
|
|
482
|
+
filters: namePrefixes.map((namePrefix) => ({ namePrefix })),
|
|
483
|
+
});
|
|
422
484
|
return await bluetooth_le_1.BleClient.requestDevice({
|
|
423
|
-
namePrefix,
|
|
424
|
-
optionalServices
|
|
425
|
-
bluetooth_profile_js_1.profile.accelerometer.id,
|
|
426
|
-
bluetooth_profile_js_1.profile.button.id,
|
|
427
|
-
bluetooth_profile_js_1.profile.deviceInformation.id,
|
|
428
|
-
bluetooth_profile_js_1.profile.dfuControl.id,
|
|
429
|
-
bluetooth_profile_js_1.profile.event.id,
|
|
430
|
-
bluetooth_profile_js_1.profile.ioPin.id,
|
|
431
|
-
bluetooth_profile_js_1.profile.led.id,
|
|
432
|
-
bluetooth_profile_js_1.profile.magnetometer.id,
|
|
433
|
-
bluetooth_profile_js_1.profile.temperature.id,
|
|
434
|
-
bluetooth_profile_js_1.profile.uart.id,
|
|
435
|
-
],
|
|
485
|
+
namePrefix: namePrefixes[0],
|
|
486
|
+
optionalServices,
|
|
436
487
|
});
|
|
437
488
|
}
|
|
438
489
|
catch (e) {
|
|
@@ -441,6 +492,9 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
441
492
|
}
|
|
442
493
|
throw e;
|
|
443
494
|
}
|
|
495
|
+
finally {
|
|
496
|
+
navigator.bluetooth.requestDevice = orig;
|
|
497
|
+
}
|
|
444
498
|
}
|
|
445
499
|
/**
|
|
446
500
|
* Finds device with specified name prefix.
|
|
@@ -448,19 +502,17 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
448
502
|
* @returns device or undefined if none can be found.
|
|
449
503
|
* @throws DeviceError with code "aborted" if signal is aborted.
|
|
450
504
|
*/
|
|
451
|
-
async requestDeviceNative(
|
|
505
|
+
async requestDeviceNative(namePrefixes, signal) {
|
|
452
506
|
if (signal?.aborted) {
|
|
453
507
|
throw new device_js_1.DeviceError({ code: "aborted", message: "Connection aborted" });
|
|
454
508
|
}
|
|
509
|
+
const matchesAnyPrefix = (name) => !!name && namePrefixes.some((p) => name.startsWith(p));
|
|
455
510
|
// Check for existing bonded devices.
|
|
456
|
-
const bonded = await this.checkBondedDevices((device) =>
|
|
457
|
-
const name = device.name;
|
|
458
|
-
return !!name && name.startsWith(namePrefix);
|
|
459
|
-
});
|
|
511
|
+
const bonded = await this.checkBondedDevices((device) => matchesAnyPrefix(device.name));
|
|
460
512
|
if (bonded) {
|
|
461
513
|
return bonded;
|
|
462
514
|
}
|
|
463
|
-
this.log(`Scanning for device - ${
|
|
515
|
+
this.log(`Scanning for device - ${namePrefixes.join(", ")}`);
|
|
464
516
|
let found = false;
|
|
465
517
|
let aborted = false;
|
|
466
518
|
const scanPromise = new Promise((resolve) =>
|
|
@@ -470,8 +522,8 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
470
522
|
// isn't matched by the name filter but the advertising name is in the
|
|
471
523
|
// localName on the device. So we filter here instead. This happens on
|
|
472
524
|
// iOS if DFU fails / is interrupted.
|
|
473
|
-
if (result.device.name
|
|
474
|
-
result.localName
|
|
525
|
+
if (matchesAnyPrefix(result.device.name) ||
|
|
526
|
+
matchesAnyPrefix(result.localName)) {
|
|
475
527
|
found = true;
|
|
476
528
|
await bluetooth_le_1.BleClient.stopLEScan();
|
|
477
529
|
resolve(result.device);
|
|
@@ -491,11 +543,11 @@ class MicrobitWebBluetoothConnectionImpl extends events_js_1.TypedEventTarget {
|
|
|
491
543
|
this.log("Timeout scanning for device");
|
|
492
544
|
resolve(undefined);
|
|
493
545
|
}
|
|
494
|
-
},
|
|
546
|
+
}, device_wrapper_js_1.scanningTimeoutInMs));
|
|
495
547
|
return await Promise.race([scanPromise, scanTimeoutPromise, abortPromise]);
|
|
496
548
|
}
|
|
497
549
|
async checkBondedDevices(predicate) {
|
|
498
|
-
if (!(0,
|
|
550
|
+
if (!(0, device_wrapper_js_1.isAndroid)()) {
|
|
499
551
|
// Not supported.
|
|
500
552
|
return undefined;
|
|
501
553
|
}
|
|
@@ -514,6 +566,6 @@ const convertDataToMemoryMap = (data) => {
|
|
|
514
566
|
if (data instanceof Uint8Array) {
|
|
515
567
|
return nrf_intel_hex_1.default.fromPaddedUint8Array(data);
|
|
516
568
|
}
|
|
517
|
-
return nrf_intel_hex_1.default.fromHex((0,
|
|
569
|
+
return nrf_intel_hex_1.default.fromHex((0, hex_util_js_1.truncateHexAfterEof)(data));
|
|
518
570
|
};
|
|
519
|
-
//# sourceMappingURL=
|
|
571
|
+
//# sourceMappingURL=connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/bluetooth/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
*
|
|
6
6
|
* SPDX-License-Identifier: MIT
|
|
7
7
|
*/
|
|
8
|
-
const device_js_1 = require("
|
|
9
|
-
const
|
|
8
|
+
const device_js_1 = require("../device.js");
|
|
9
|
+
const connection_js_1 = require("./connection.js");
|
|
10
10
|
const vitest_1 = require("vitest");
|
|
11
11
|
// Mock Capacitor
|
|
12
12
|
vitest_1.vi.mock("@capacitor/core", () => ({
|
|
@@ -51,24 +51,24 @@ const setupNavigatorMock = () => {
|
|
|
51
51
|
(0, vitest_1.describe)("Bluetooth connection status events", () => {
|
|
52
52
|
(0, vitest_1.it)("emits status events with correct previousStatus", async () => {
|
|
53
53
|
setupNavigatorMock();
|
|
54
|
-
const connection = (0,
|
|
54
|
+
const connection = (0, connection_js_1.createBluetoothConnection)();
|
|
55
55
|
await connection.initialize();
|
|
56
|
-
(0, vitest_1.expect)(connection.status).toBe(device_js_1.ConnectionStatus.
|
|
56
|
+
(0, vitest_1.expect)(connection.status).toBe(device_js_1.ConnectionStatus.NoAuthorizedDevice);
|
|
57
57
|
const events = [];
|
|
58
58
|
connection.addEventListener("status", (e) => {
|
|
59
59
|
events.push(e);
|
|
60
60
|
});
|
|
61
61
|
await connection.disconnect();
|
|
62
62
|
(0, vitest_1.expect)(events).toHaveLength(1);
|
|
63
|
-
(0, vitest_1.expect)(events[0].status).toBe(device_js_1.ConnectionStatus.
|
|
64
|
-
(0, vitest_1.expect)(events[0].previousStatus).toBe(device_js_1.ConnectionStatus.
|
|
63
|
+
(0, vitest_1.expect)(events[0].status).toBe(device_js_1.ConnectionStatus.Disconnected);
|
|
64
|
+
(0, vitest_1.expect)(events[0].previousStatus).toBe(device_js_1.ConnectionStatus.NoAuthorizedDevice);
|
|
65
65
|
});
|
|
66
66
|
(0, vitest_1.it)("defers status updates during flash, emitting single catch-up event", async () => {
|
|
67
67
|
setupNavigatorMock();
|
|
68
|
-
const connection = (0,
|
|
68
|
+
const connection = (0, connection_js_1.createBluetoothConnection)();
|
|
69
69
|
await connection.initialize();
|
|
70
70
|
const statusBeforeFlash = connection.status;
|
|
71
|
-
(0, vitest_1.expect)(statusBeforeFlash).toBe(device_js_1.ConnectionStatus.
|
|
71
|
+
(0, vitest_1.expect)(statusBeforeFlash).toBe(device_js_1.ConnectionStatus.NoAuthorizedDevice);
|
|
72
72
|
const events = [];
|
|
73
73
|
connection.addEventListener("status", (e) => {
|
|
74
74
|
events.push(e);
|
|
@@ -85,4 +85,4 @@ const setupNavigatorMock = () => {
|
|
|
85
85
|
(0, vitest_1.expect)(events[0].previousStatus).toBe(statusBeforeFlash);
|
|
86
86
|
});
|
|
87
87
|
});
|
|
88
|
-
//# sourceMappingURL=
|
|
88
|
+
//# sourceMappingURL=connection.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../../src/bluetooth/connection.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-bond-state.js","sourceRoot":"","sources":["../../../src/bluetooth/device-bond-state.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAOH,MAAa,sBAAsB;IAAnC;QACU;;;;mBAAsC,EAAE;WAAC;IAOnD,CAAC;IANC,SAAS,CAAC,EAAU,EAAE,QAAiB;QACrC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;IACjC,CAAC;IACD,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;IACtC,CAAC;CACF;AARD,wDAQC"}
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
6
|
import { BleDevice, TimeoutOptions } from "@capacitor-community/bluetooth-le";
|
|
7
|
-
import { AccelerometerService } from "./accelerometer-service.js";
|
|
8
|
-
import { ButtonService } from "./button-service.js";
|
|
9
|
-
import { DeviceInformationService } from "./device-information-service.js";
|
|
10
|
-
import { BoardVersion, ConnectOptions } from "
|
|
11
|
-
import { LedService } from "./led-service.js";
|
|
12
|
-
import { Logging, LoggingEvent } from "
|
|
13
|
-
import { MagnetometerService } from "./magnetometer-service.js";
|
|
14
|
-
import { ServiceConnectionEventMap, TypedServiceEvent, TypedServiceEventDispatcher } from "
|
|
15
|
-
import { UARTService } from "./uart-service.js";
|
|
7
|
+
import { AccelerometerService } from "./services/accelerometer-service.js";
|
|
8
|
+
import { ButtonService } from "./services/button-service.js";
|
|
9
|
+
import { DeviceInformationService } from "./services/device-information-service.js";
|
|
10
|
+
import { BoardVersion, ConnectOptions } from "../device.js";
|
|
11
|
+
import { LedService } from "./services/led-service.js";
|
|
12
|
+
import { Logging, LoggingEvent } from "../logging.js";
|
|
13
|
+
import { MagnetometerService } from "./services/magnetometer-service.js";
|
|
14
|
+
import { ServiceConnectionEventMap, TypedServiceEvent, TypedServiceEventDispatcher } from "../service-events.js";
|
|
15
|
+
import { UARTService } from "./services/uart-service.js";
|
|
16
16
|
import { DeviceBondState } from "./device-bond-state.js";
|
|
17
17
|
/**
|
|
18
18
|
* The @capacitor-community/bluetooth-le plugin throws this message when
|
|
@@ -35,7 +35,7 @@ interface ConnectCallbacks {
|
|
|
35
35
|
onSuccess: () => void;
|
|
36
36
|
}
|
|
37
37
|
export declare class BluetoothDeviceWrapper implements Logging {
|
|
38
|
-
readonly
|
|
38
|
+
readonly bleDevice: BleDevice;
|
|
39
39
|
private logging;
|
|
40
40
|
private deviceBondState;
|
|
41
41
|
private currentEvents;
|
|
@@ -55,7 +55,7 @@ export declare class BluetoothDeviceWrapper implements Logging {
|
|
|
55
55
|
private services;
|
|
56
56
|
private waitingForDisconnectEventCallbacks;
|
|
57
57
|
private internalNotificationListeners;
|
|
58
|
-
constructor(
|
|
58
|
+
constructor(bleDevice: BleDevice, logging: Logging | undefined, deviceBondState: DeviceBondState | undefined, dispatchTypedEvent: TypedServiceEventDispatcher, currentEvents: () => Array<keyof ServiceConnectionEventMap>, callbacks: ConnectCallbacks);
|
|
59
59
|
setBonded(isBonded: boolean): void;
|
|
60
60
|
connect(options?: ConnectOptions): Promise<void>;
|
|
61
61
|
private connectInternal;
|