@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.
Files changed (457) hide show
  1. package/build/cjs/async-util.d.ts +3 -1
  2. package/build/cjs/async-util.js +5 -1
  3. package/build/cjs/async-util.js.map +1 -1
  4. package/build/cjs/bluetooth/ble-error.d.ts +10 -0
  5. package/build/cjs/bluetooth/ble-error.js +47 -0
  6. package/build/cjs/bluetooth/ble-error.js.map +1 -0
  7. package/build/cjs/bluetooth/connection.d.ts +137 -0
  8. package/build/cjs/{bluetooth.js → bluetooth/connection.js} +158 -106
  9. package/build/cjs/bluetooth/connection.js.map +1 -0
  10. package/build/cjs/{bluetooth.test.js → bluetooth/connection.test.js} +9 -9
  11. package/build/cjs/bluetooth/connection.test.js.map +1 -0
  12. package/build/cjs/bluetooth/device-bond-state.js.map +1 -0
  13. package/build/cjs/{bluetooth-device-wrapper.d.ts → bluetooth/device-wrapper.d.ts} +11 -11
  14. package/build/cjs/{bluetooth-device-wrapper.js → bluetooth/device-wrapper.js} +38 -42
  15. package/build/cjs/bluetooth/device-wrapper.js.map +1 -0
  16. package/build/cjs/{flashing → bluetooth/flashing}/flashing-full.d.ts +2 -2
  17. package/build/cjs/{flashing → bluetooth/flashing}/flashing-full.js +6 -5
  18. package/build/cjs/bluetooth/flashing/flashing-full.js.map +1 -0
  19. package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.d.ts +1 -1
  20. package/build/cjs/bluetooth/flashing/flashing-makecode.js.map +1 -0
  21. package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.test.js +3 -3
  22. package/build/cjs/bluetooth/flashing/flashing-makecode.test.js.map +1 -0
  23. package/build/cjs/{flashing → bluetooth/flashing}/flashing-partial.d.ts +2 -2
  24. package/build/cjs/{flashing → bluetooth/flashing}/flashing-partial.js +7 -6
  25. package/build/cjs/bluetooth/flashing/flashing-partial.js.map +1 -0
  26. package/build/cjs/bluetooth/flashing/flashing-v1.js.map +1 -0
  27. package/build/cjs/{flashing → bluetooth/flashing}/nordic-dfu.d.ts +2 -2
  28. package/build/cjs/{flashing → bluetooth/flashing}/nordic-dfu.js +15 -11
  29. package/build/cjs/bluetooth/flashing/nordic-dfu.js.map +1 -0
  30. package/build/cjs/bluetooth/flashing/zip.js.map +1 -0
  31. package/build/cjs/bluetooth/flashing/zip.test.js.map +1 -0
  32. package/build/cjs/bluetooth/index.d.ts +5 -0
  33. package/build/cjs/bluetooth/index.js +9 -0
  34. package/build/cjs/bluetooth/index.js.map +1 -0
  35. package/build/cjs/{bluetooth-profile.js → bluetooth/profile.js} +1 -1
  36. package/build/cjs/bluetooth/profile.js.map +1 -0
  37. package/build/cjs/{accelerometer-service.d.ts → bluetooth/services/accelerometer-service.d.ts} +2 -3
  38. package/build/cjs/{accelerometer-service.js → bluetooth/services/accelerometer-service.js} +17 -12
  39. package/build/cjs/bluetooth/services/accelerometer-service.js.map +1 -0
  40. package/build/{esm → cjs/bluetooth/services}/button-service.d.ts +2 -3
  41. package/build/cjs/{button-service.js → bluetooth/services/button-service.js} +24 -14
  42. package/build/cjs/bluetooth/services/button-service.js.map +1 -0
  43. package/build/{esm → cjs/bluetooth/services}/device-information-service.d.ts +1 -1
  44. package/build/cjs/bluetooth/services/device-information-service.js +29 -0
  45. package/build/cjs/bluetooth/services/device-information-service.js.map +1 -0
  46. package/build/cjs/{dfu-service.js → bluetooth/services/dfu-service.js} +2 -2
  47. package/build/cjs/bluetooth/services/dfu-service.js.map +1 -0
  48. package/build/{esm → cjs/bluetooth/services}/led-service.d.ts +2 -3
  49. package/build/cjs/{led-service.js → bluetooth/services/led-service.js} +10 -7
  50. package/build/cjs/bluetooth/services/led-service.js.map +1 -0
  51. package/build/cjs/{magnetometer-service.d.ts → bluetooth/services/magnetometer-service.d.ts} +2 -3
  52. package/build/cjs/{magnetometer-service.js → bluetooth/services/magnetometer-service.js} +19 -14
  53. package/build/cjs/bluetooth/services/magnetometer-service.js.map +1 -0
  54. package/build/{esm → cjs/bluetooth/services}/partial-flashing-service.d.ts +1 -1
  55. package/build/cjs/{partial-flashing-service.js → bluetooth/services/partial-flashing-service.js} +8 -8
  56. package/build/cjs/bluetooth/services/partial-flashing-service.js.map +1 -0
  57. package/build/cjs/{uart-service.d.ts → bluetooth/services/uart-service.d.ts} +2 -2
  58. package/build/cjs/{uart-service.js → bluetooth/services/uart-service.js} +21 -9
  59. package/build/cjs/bluetooth/services/uart-service.js.map +1 -0
  60. package/build/cjs/board-id.d.ts +1 -1
  61. package/build/cjs/board-id.js.map +1 -1
  62. package/build/cjs/device.d.ts +145 -123
  63. package/build/cjs/device.js +47 -128
  64. package/build/cjs/device.js.map +1 -1
  65. package/build/cjs/events.d.ts +8 -108
  66. package/build/cjs/events.js +27 -88
  67. package/build/cjs/events.js.map +1 -1
  68. package/build/cjs/events.test.js +54 -48
  69. package/build/cjs/events.test.js.map +1 -1
  70. package/build/cjs/hex-util.d.ts +1 -0
  71. package/build/cjs/hex-util.js +15 -0
  72. package/build/cjs/hex-util.js.map +1 -0
  73. package/build/cjs/index.d.ts +7 -17
  74. package/build/cjs/index.js +6 -28
  75. package/build/cjs/index.js.map +1 -1
  76. package/build/cjs/radio-bridge/connection.d.ts +52 -0
  77. package/build/cjs/{usb-radio-bridge.js → radio-bridge/connection.js} +69 -37
  78. package/build/cjs/radio-bridge/connection.js.map +1 -0
  79. package/build/cjs/radio-bridge/index.d.ts +4 -0
  80. package/build/cjs/radio-bridge/index.js +9 -0
  81. package/build/cjs/radio-bridge/index.js.map +1 -0
  82. package/build/cjs/{usb-serial-protocol.js → radio-bridge/serial-protocol.js} +1 -1
  83. package/build/cjs/radio-bridge/serial-protocol.js.map +1 -0
  84. package/build/cjs/service-events.d.ts +43 -14
  85. package/build/cjs/service-events.js +6 -36
  86. package/build/cjs/service-events.js.map +1 -1
  87. package/build/{esm/hex-flash-data-source.d.ts → cjs/universal-hex/flash-data-source.d.ts} +1 -2
  88. package/build/cjs/{hex-flash-data-source.js → universal-hex/flash-data-source.js} +7 -15
  89. package/build/cjs/universal-hex/flash-data-source.js.map +1 -0
  90. package/build/cjs/universal-hex/index.d.ts +4 -0
  91. package/build/cjs/universal-hex/index.js +9 -0
  92. package/build/cjs/universal-hex/index.js.map +1 -0
  93. package/build/cjs/usb/arm-debug.d.ts +137 -0
  94. package/build/cjs/usb/arm-debug.js +414 -0
  95. package/build/cjs/usb/arm-debug.js.map +1 -0
  96. package/build/cjs/usb/arm-debug.test.js +333 -0
  97. package/build/cjs/usb/arm-debug.test.js.map +1 -0
  98. package/build/{esm → cjs/usb}/board-serial-info.d.ts +2 -1
  99. package/build/cjs/{board-serial-info.js → usb/board-serial-info.js} +10 -7
  100. package/build/cjs/usb/board-serial-info.js.map +1 -0
  101. package/build/cjs/{board-serial-info.test.js → usb/board-serial-info.test.js} +2 -4
  102. package/build/cjs/usb/board-serial-info.test.js.map +1 -0
  103. package/build/cjs/usb/cdc-saturation.d.ts +36 -0
  104. package/build/cjs/usb/cdc-saturation.js +151 -0
  105. package/build/cjs/usb/cdc-saturation.js.map +1 -0
  106. package/build/cjs/usb/cmsis-dap.d.ts +113 -0
  107. package/build/cjs/usb/cmsis-dap.js +349 -0
  108. package/build/cjs/usb/cmsis-dap.js.map +1 -0
  109. package/build/cjs/usb/cmsis-dap.test.js +350 -0
  110. package/build/cjs/usb/cmsis-dap.test.js.map +1 -0
  111. package/build/cjs/usb/connection.d.ts +96 -0
  112. package/build/cjs/{usb.js → usb/connection.js} +257 -173
  113. package/build/cjs/usb/connection.js.map +1 -0
  114. package/build/cjs/{usb.test.js → usb/connection.test.js} +52 -42
  115. package/build/cjs/usb/connection.test.js.map +1 -0
  116. package/build/cjs/usb/cortex-m.d.ts +72 -0
  117. package/build/cjs/usb/cortex-m.js +165 -0
  118. package/build/cjs/usb/cortex-m.js.map +1 -0
  119. package/build/cjs/usb/cortex-m.test.js +217 -0
  120. package/build/cjs/usb/cortex-m.test.js.map +1 -0
  121. package/build/cjs/usb/daplink.d.ts +69 -0
  122. package/build/cjs/usb/daplink.js +238 -0
  123. package/build/cjs/usb/daplink.js.map +1 -0
  124. package/build/cjs/usb/daplink.test.js +290 -0
  125. package/build/cjs/usb/daplink.test.js.map +1 -0
  126. package/build/cjs/usb/device-wrapper.d.ts +34 -0
  127. package/build/cjs/usb/device-wrapper.js +102 -0
  128. package/build/cjs/usb/device-wrapper.js.map +1 -0
  129. package/build/cjs/usb/index.d.ts +5 -0
  130. package/build/cjs/usb/index.js +10 -0
  131. package/build/cjs/usb/index.js.map +1 -0
  132. package/build/{esm/usb-partial-flashing-utils.d.ts → cjs/usb/partial-flashing-utils.d.ts} +6 -9
  133. package/build/cjs/{usb-partial-flashing-utils.js → usb/partial-flashing-utils.js} +6 -49
  134. package/build/cjs/usb/partial-flashing-utils.js.map +1 -0
  135. package/build/{esm/usb-partial-flashing.d.ts → cjs/usb/partial-flashing.d.ts} +37 -11
  136. package/build/cjs/{usb-partial-flashing.js → usb/partial-flashing.js} +170 -135
  137. package/build/cjs/usb/partial-flashing.js.map +1 -0
  138. package/build/cjs/usb/promise-queue.js.map +1 -0
  139. package/build/cjs/usb/promise-queue.test.js.map +1 -0
  140. package/build/cjs/usb/serial-events.d.ts +16 -0
  141. package/build/cjs/{led.js → usb/serial-events.js} +1 -1
  142. package/build/cjs/usb/serial-events.js.map +1 -0
  143. package/build/cjs/usb/transport.d.ts +42 -0
  144. package/build/cjs/usb/transport.js +155 -0
  145. package/build/cjs/usb/transport.js.map +1 -0
  146. package/build/esm/async-util.d.ts +3 -1
  147. package/build/esm/async-util.js +5 -1
  148. package/build/esm/async-util.js.map +1 -1
  149. package/build/esm/bluetooth/ble-error.d.ts +10 -0
  150. package/build/esm/bluetooth/ble-error.js +42 -0
  151. package/build/esm/bluetooth/ble-error.js.map +1 -0
  152. package/build/esm/bluetooth/connection.d.ts +137 -0
  153. package/build/esm/{bluetooth.js → bluetooth/connection.js} +152 -100
  154. package/build/esm/bluetooth/connection.js.map +1 -0
  155. package/build/esm/{bluetooth.test.js → bluetooth/connection.test.js} +9 -9
  156. package/build/esm/bluetooth/connection.test.js.map +1 -0
  157. package/build/esm/bluetooth/device-bond-state.js.map +1 -0
  158. package/build/esm/{bluetooth-device-wrapper.d.ts → bluetooth/device-wrapper.d.ts} +11 -11
  159. package/build/esm/{bluetooth-device-wrapper.js → bluetooth/device-wrapper.js} +35 -39
  160. package/build/esm/bluetooth/device-wrapper.js.map +1 -0
  161. package/build/esm/{flashing → bluetooth/flashing}/flashing-full.d.ts +2 -2
  162. package/build/esm/{flashing → bluetooth/flashing}/flashing-full.js +6 -5
  163. package/build/esm/bluetooth/flashing/flashing-full.js.map +1 -0
  164. package/build/esm/{flashing → bluetooth/flashing}/flashing-makecode.d.ts +1 -1
  165. package/build/esm/bluetooth/flashing/flashing-makecode.js.map +1 -0
  166. package/build/esm/{flashing → bluetooth/flashing}/flashing-makecode.test.js +2 -2
  167. package/build/esm/bluetooth/flashing/flashing-makecode.test.js.map +1 -0
  168. package/build/esm/{flashing → bluetooth/flashing}/flashing-partial.d.ts +2 -2
  169. package/build/esm/{flashing → bluetooth/flashing}/flashing-partial.js +6 -5
  170. package/build/esm/bluetooth/flashing/flashing-partial.js.map +1 -0
  171. package/build/esm/bluetooth/flashing/flashing-v1.js.map +1 -0
  172. package/build/esm/{flashing → bluetooth/flashing}/nordic-dfu.d.ts +2 -2
  173. package/build/esm/{flashing → bluetooth/flashing}/nordic-dfu.js +15 -11
  174. package/build/esm/bluetooth/flashing/nordic-dfu.js.map +1 -0
  175. package/build/esm/bluetooth/flashing/zip.js.map +1 -0
  176. package/build/esm/bluetooth/flashing/zip.test.d.ts +1 -0
  177. package/build/esm/bluetooth/flashing/zip.test.js.map +1 -0
  178. package/build/esm/bluetooth/index.d.ts +5 -0
  179. package/build/esm/bluetooth/index.js +5 -0
  180. package/build/esm/bluetooth/index.js.map +1 -0
  181. package/build/esm/{bluetooth-profile.js → bluetooth/profile.js} +1 -1
  182. package/build/{cjs/bluetooth-profile.js.map → esm/bluetooth/profile.js.map} +1 -1
  183. package/build/esm/{accelerometer-service.d.ts → bluetooth/services/accelerometer-service.d.ts} +2 -3
  184. package/build/esm/{accelerometer-service.js → bluetooth/services/accelerometer-service.js} +11 -6
  185. package/build/esm/bluetooth/services/accelerometer-service.js.map +1 -0
  186. package/build/{cjs → esm/bluetooth/services}/button-service.d.ts +2 -3
  187. package/build/esm/{button-service.js → bluetooth/services/button-service.js} +20 -10
  188. package/build/esm/bluetooth/services/button-service.js.map +1 -0
  189. package/build/{cjs → esm/bluetooth/services}/device-information-service.d.ts +1 -1
  190. package/build/esm/bluetooth/services/device-information-service.js +25 -0
  191. package/build/esm/bluetooth/services/device-information-service.js.map +1 -0
  192. package/build/esm/{dfu-service.js → bluetooth/services/dfu-service.js} +1 -1
  193. package/build/esm/bluetooth/services/dfu-service.js.map +1 -0
  194. package/build/{cjs → esm/bluetooth/services}/led-service.d.ts +2 -3
  195. package/build/esm/{led-service.js → bluetooth/services/led-service.js} +4 -1
  196. package/build/esm/bluetooth/services/led-service.js.map +1 -0
  197. package/build/esm/{magnetometer-service.d.ts → bluetooth/services/magnetometer-service.d.ts} +2 -3
  198. package/build/esm/{magnetometer-service.js → bluetooth/services/magnetometer-service.js} +11 -6
  199. package/build/esm/bluetooth/services/magnetometer-service.js.map +1 -0
  200. package/build/{cjs → esm/bluetooth/services}/partial-flashing-service.d.ts +1 -1
  201. package/build/esm/{partial-flashing-service.js → bluetooth/services/partial-flashing-service.js} +4 -4
  202. package/build/esm/bluetooth/services/partial-flashing-service.js.map +1 -0
  203. package/build/esm/{uart-service.d.ts → bluetooth/services/uart-service.d.ts} +2 -2
  204. package/build/esm/{uart-service.js → bluetooth/services/uart-service.js} +18 -6
  205. package/build/esm/bluetooth/services/uart-service.js.map +1 -0
  206. package/build/esm/board-id.d.ts +1 -1
  207. package/build/esm/board-id.js.map +1 -1
  208. package/build/esm/device.d.ts +145 -123
  209. package/build/esm/device.js +45 -122
  210. package/build/esm/device.js.map +1 -1
  211. package/build/esm/events.d.ts +8 -108
  212. package/build/esm/events.js +26 -86
  213. package/build/esm/events.js.map +1 -1
  214. package/build/esm/events.test.js +55 -49
  215. package/build/esm/events.test.js.map +1 -1
  216. package/build/esm/hex-util.d.ts +1 -0
  217. package/build/esm/hex-util.js +11 -0
  218. package/build/esm/hex-util.js.map +1 -0
  219. package/build/esm/index.d.ts +7 -17
  220. package/build/esm/index.js +6 -11
  221. package/build/esm/index.js.map +1 -1
  222. package/build/esm/radio-bridge/connection.d.ts +52 -0
  223. package/build/esm/{usb-radio-bridge.js → radio-bridge/connection.js} +69 -37
  224. package/build/esm/radio-bridge/connection.js.map +1 -0
  225. package/build/esm/radio-bridge/index.d.ts +4 -0
  226. package/build/esm/radio-bridge/index.js +5 -0
  227. package/build/esm/radio-bridge/index.js.map +1 -0
  228. package/build/esm/{usb-serial-protocol.js → radio-bridge/serial-protocol.js} +1 -1
  229. package/build/esm/radio-bridge/serial-protocol.js.map +1 -0
  230. package/build/esm/service-events.d.ts +43 -14
  231. package/build/esm/service-events.js +5 -34
  232. package/build/esm/service-events.js.map +1 -1
  233. package/build/{cjs/hex-flash-data-source.d.ts → esm/universal-hex/flash-data-source.d.ts} +1 -2
  234. package/build/esm/{hex-flash-data-source.js → universal-hex/flash-data-source.js} +6 -13
  235. package/build/esm/universal-hex/flash-data-source.js.map +1 -0
  236. package/build/esm/universal-hex/index.d.ts +4 -0
  237. package/build/esm/universal-hex/index.js +5 -0
  238. package/build/esm/universal-hex/index.js.map +1 -0
  239. package/build/esm/usb/arm-debug.d.ts +137 -0
  240. package/build/esm/usb/arm-debug.js +409 -0
  241. package/build/esm/usb/arm-debug.js.map +1 -0
  242. package/build/esm/usb/arm-debug.test.d.ts +1 -0
  243. package/build/esm/usb/arm-debug.test.js +331 -0
  244. package/build/esm/usb/arm-debug.test.js.map +1 -0
  245. package/build/{cjs → esm/usb}/board-serial-info.d.ts +2 -1
  246. package/build/esm/{board-serial-info.js → usb/board-serial-info.js} +10 -7
  247. package/build/esm/usb/board-serial-info.js.map +1 -0
  248. package/build/esm/usb/board-serial-info.test.d.ts +1 -0
  249. package/build/esm/{board-serial-info.test.js → usb/board-serial-info.test.js} +2 -4
  250. package/build/esm/usb/board-serial-info.test.js.map +1 -0
  251. package/build/esm/usb/cdc-saturation.d.ts +36 -0
  252. package/build/esm/usb/cdc-saturation.js +148 -0
  253. package/build/esm/usb/cdc-saturation.js.map +1 -0
  254. package/build/esm/usb/cmsis-dap.d.ts +113 -0
  255. package/build/esm/usb/cmsis-dap.js +342 -0
  256. package/build/esm/usb/cmsis-dap.js.map +1 -0
  257. package/build/esm/usb/cmsis-dap.test.d.ts +1 -0
  258. package/build/esm/usb/cmsis-dap.test.js +348 -0
  259. package/build/esm/usb/cmsis-dap.test.js.map +1 -0
  260. package/build/esm/usb/connection.d.ts +96 -0
  261. package/build/esm/{usb.js → usb/connection.js} +253 -168
  262. package/build/esm/usb/connection.js.map +1 -0
  263. package/build/esm/usb/connection.test.d.ts +1 -0
  264. package/build/esm/{usb.test.js → usb/connection.test.js} +47 -37
  265. package/build/esm/usb/connection.test.js.map +1 -0
  266. package/build/esm/usb/cortex-m.d.ts +72 -0
  267. package/build/esm/usb/cortex-m.js +161 -0
  268. package/build/esm/usb/cortex-m.js.map +1 -0
  269. package/build/esm/usb/cortex-m.test.d.ts +1 -0
  270. package/build/esm/usb/cortex-m.test.js +215 -0
  271. package/build/esm/usb/cortex-m.test.js.map +1 -0
  272. package/build/esm/usb/daplink.d.ts +69 -0
  273. package/build/esm/usb/daplink.js +231 -0
  274. package/build/esm/usb/daplink.js.map +1 -0
  275. package/build/esm/usb/daplink.test.d.ts +1 -0
  276. package/build/esm/usb/daplink.test.js +288 -0
  277. package/build/esm/usb/daplink.test.js.map +1 -0
  278. package/build/esm/usb/device-wrapper.d.ts +34 -0
  279. package/build/esm/usb/device-wrapper.js +98 -0
  280. package/build/esm/usb/device-wrapper.js.map +1 -0
  281. package/build/esm/usb/index.d.ts +5 -0
  282. package/build/esm/usb/index.js +5 -0
  283. package/build/esm/usb/index.js.map +1 -0
  284. package/build/{cjs/usb-partial-flashing-utils.d.ts → esm/usb/partial-flashing-utils.d.ts} +6 -9
  285. package/build/esm/{usb-partial-flashing-utils.js → usb/partial-flashing-utils.js} +4 -44
  286. package/build/esm/usb/partial-flashing-utils.js.map +1 -0
  287. package/build/{cjs/usb-partial-flashing.d.ts → esm/usb/partial-flashing.d.ts} +37 -11
  288. package/build/esm/{usb-partial-flashing.js → usb/partial-flashing.js} +169 -111
  289. package/build/esm/usb/partial-flashing.js.map +1 -0
  290. package/build/esm/usb/promise-queue.js.map +1 -0
  291. package/build/esm/usb/promise-queue.test.d.ts +1 -0
  292. package/build/esm/usb/promise-queue.test.js.map +1 -0
  293. package/build/esm/usb/serial-events.d.ts +16 -0
  294. package/build/esm/usb/serial-events.js +2 -0
  295. package/build/esm/usb/serial-events.js.map +1 -0
  296. package/build/esm/usb/transport.d.ts +42 -0
  297. package/build/esm/usb/transport.js +151 -0
  298. package/build/esm/usb/transport.js.map +1 -0
  299. package/package.json +43 -2
  300. package/build/cjs/accelerometer-service.js.map +0 -1
  301. package/build/cjs/accelerometer.d.ts +0 -9
  302. package/build/cjs/accelerometer.js +0 -16
  303. package/build/cjs/accelerometer.js.map +0 -1
  304. package/build/cjs/bluetooth-device-wrapper.js.map +0 -1
  305. package/build/cjs/bluetooth.d.ts +0 -114
  306. package/build/cjs/bluetooth.js.map +0 -1
  307. package/build/cjs/bluetooth.test.js.map +0 -1
  308. package/build/cjs/board-serial-info.js.map +0 -1
  309. package/build/cjs/board-serial-info.test.js.map +0 -1
  310. package/build/cjs/button-service.js.map +0 -1
  311. package/build/cjs/buttons.d.ts +0 -10
  312. package/build/cjs/buttons.js +0 -22
  313. package/build/cjs/buttons.js.map +0 -1
  314. package/build/cjs/constants.d.ts +0 -48
  315. package/build/cjs/constants.js +0 -73
  316. package/build/cjs/constants.js.map +0 -1
  317. package/build/cjs/device-bond-state.js.map +0 -1
  318. package/build/cjs/device-information-service.js +0 -34
  319. package/build/cjs/device-information-service.js.map +0 -1
  320. package/build/cjs/dfu-service.js.map +0 -1
  321. package/build/cjs/flashing/flashing-full.js.map +0 -1
  322. package/build/cjs/flashing/flashing-makecode.js.map +0 -1
  323. package/build/cjs/flashing/flashing-makecode.test.js.map +0 -1
  324. package/build/cjs/flashing/flashing-partial.js.map +0 -1
  325. package/build/cjs/flashing/flashing-v1.js.map +0 -1
  326. package/build/cjs/flashing/nordic-dfu.js.map +0 -1
  327. package/build/cjs/flashing/zip.js.map +0 -1
  328. package/build/cjs/flashing/zip.test.js.map +0 -1
  329. package/build/cjs/hex-flash-data-source.js.map +0 -1
  330. package/build/cjs/led-service.js.map +0 -1
  331. package/build/cjs/led.d.ts +0 -6
  332. package/build/cjs/led.js.map +0 -1
  333. package/build/cjs/magnetometer-service.js.map +0 -1
  334. package/build/cjs/magnetometer.d.ts +0 -9
  335. package/build/cjs/magnetometer.js +0 -16
  336. package/build/cjs/magnetometer.js.map +0 -1
  337. package/build/cjs/partial-flashing-service.js.map +0 -1
  338. package/build/cjs/promise-queue.js.map +0 -1
  339. package/build/cjs/promise-queue.test.js.map +0 -1
  340. package/build/cjs/serial-events.d.ts +0 -20
  341. package/build/cjs/serial-events.js +0 -69
  342. package/build/cjs/serial-events.js.map +0 -1
  343. package/build/cjs/uart-service.js.map +0 -1
  344. package/build/cjs/uart.d.ts +0 -4
  345. package/build/cjs/uart.js +0 -16
  346. package/build/cjs/uart.js.map +0 -1
  347. package/build/cjs/usb-device-wrapper.d.ts +0 -47
  348. package/build/cjs/usb-device-wrapper.js +0 -437
  349. package/build/cjs/usb-device-wrapper.js.map +0 -1
  350. package/build/cjs/usb-partial-flashing-utils.js.map +0 -1
  351. package/build/cjs/usb-partial-flashing.js.map +0 -1
  352. package/build/cjs/usb-radio-bridge.d.ts +0 -24
  353. package/build/cjs/usb-radio-bridge.js.map +0 -1
  354. package/build/cjs/usb-serial-protocol.js.map +0 -1
  355. package/build/cjs/usb.d.ts +0 -66
  356. package/build/cjs/usb.js.map +0 -1
  357. package/build/cjs/usb.test.js.map +0 -1
  358. package/build/esm/accelerometer-service.js.map +0 -1
  359. package/build/esm/accelerometer.d.ts +0 -9
  360. package/build/esm/accelerometer.js +0 -12
  361. package/build/esm/accelerometer.js.map +0 -1
  362. package/build/esm/bluetooth-device-wrapper.js.map +0 -1
  363. package/build/esm/bluetooth-profile.js.map +0 -1
  364. package/build/esm/bluetooth.d.ts +0 -114
  365. package/build/esm/bluetooth.js.map +0 -1
  366. package/build/esm/bluetooth.test.js.map +0 -1
  367. package/build/esm/board-serial-info.js.map +0 -1
  368. package/build/esm/board-serial-info.test.js.map +0 -1
  369. package/build/esm/button-service.js.map +0 -1
  370. package/build/esm/buttons.d.ts +0 -10
  371. package/build/esm/buttons.js +0 -18
  372. package/build/esm/buttons.js.map +0 -1
  373. package/build/esm/constants.d.ts +0 -48
  374. package/build/esm/constants.js +0 -70
  375. package/build/esm/constants.js.map +0 -1
  376. package/build/esm/device-bond-state.js.map +0 -1
  377. package/build/esm/device-information-service.js +0 -30
  378. package/build/esm/device-information-service.js.map +0 -1
  379. package/build/esm/dfu-service.js.map +0 -1
  380. package/build/esm/flashing/flashing-full.js.map +0 -1
  381. package/build/esm/flashing/flashing-makecode.js.map +0 -1
  382. package/build/esm/flashing/flashing-makecode.test.js.map +0 -1
  383. package/build/esm/flashing/flashing-partial.js.map +0 -1
  384. package/build/esm/flashing/flashing-v1.js.map +0 -1
  385. package/build/esm/flashing/nordic-dfu.js.map +0 -1
  386. package/build/esm/flashing/zip.js.map +0 -1
  387. package/build/esm/flashing/zip.test.js.map +0 -1
  388. package/build/esm/hex-flash-data-source.js.map +0 -1
  389. package/build/esm/led-service.js.map +0 -1
  390. package/build/esm/led.d.ts +0 -6
  391. package/build/esm/led.js +0 -2
  392. package/build/esm/led.js.map +0 -1
  393. package/build/esm/magnetometer-service.js.map +0 -1
  394. package/build/esm/magnetometer.d.ts +0 -9
  395. package/build/esm/magnetometer.js +0 -12
  396. package/build/esm/magnetometer.js.map +0 -1
  397. package/build/esm/partial-flashing-service.js.map +0 -1
  398. package/build/esm/promise-queue.js.map +0 -1
  399. package/build/esm/promise-queue.test.js.map +0 -1
  400. package/build/esm/serial-events.d.ts +0 -20
  401. package/build/esm/serial-events.js +0 -61
  402. package/build/esm/serial-events.js.map +0 -1
  403. package/build/esm/uart-service.js.map +0 -1
  404. package/build/esm/uart.d.ts +0 -4
  405. package/build/esm/uart.js +0 -12
  406. package/build/esm/uart.js.map +0 -1
  407. package/build/esm/usb-device-wrapper.d.ts +0 -47
  408. package/build/esm/usb-device-wrapper.js +0 -410
  409. package/build/esm/usb-device-wrapper.js.map +0 -1
  410. package/build/esm/usb-partial-flashing-utils.js.map +0 -1
  411. package/build/esm/usb-partial-flashing.js.map +0 -1
  412. package/build/esm/usb-radio-bridge.d.ts +0 -24
  413. package/build/esm/usb-radio-bridge.js.map +0 -1
  414. package/build/esm/usb-serial-protocol.js.map +0 -1
  415. package/build/esm/usb.d.ts +0 -66
  416. package/build/esm/usb.js.map +0 -1
  417. package/build/esm/usb.test.js.map +0 -1
  418. /package/build/cjs/{bluetooth.test.d.ts → bluetooth/connection.test.d.ts} +0 -0
  419. /package/build/cjs/{device-bond-state.d.ts → bluetooth/device-bond-state.d.ts} +0 -0
  420. /package/build/cjs/{device-bond-state.js → bluetooth/device-bond-state.js} +0 -0
  421. /package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.js +0 -0
  422. /package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.test.d.ts +0 -0
  423. /package/build/cjs/{flashing → bluetooth/flashing}/flashing-v1.d.ts +0 -0
  424. /package/build/cjs/{flashing → bluetooth/flashing}/flashing-v1.js +0 -0
  425. /package/build/cjs/{flashing → bluetooth/flashing}/zip.d.ts +0 -0
  426. /package/build/cjs/{flashing → bluetooth/flashing}/zip.js +0 -0
  427. /package/build/cjs/{flashing → bluetooth/flashing}/zip.test.d.ts +0 -0
  428. /package/build/cjs/{flashing → bluetooth/flashing}/zip.test.js +0 -0
  429. /package/build/cjs/{bluetooth-profile.d.ts → bluetooth/profile.d.ts} +0 -0
  430. /package/build/cjs/{dfu-service.d.ts → bluetooth/services/dfu-service.d.ts} +0 -0
  431. /package/build/cjs/{usb-serial-protocol.d.ts → radio-bridge/serial-protocol.d.ts} +0 -0
  432. /package/build/cjs/{board-serial-info.test.d.ts → usb/arm-debug.test.d.ts} +0 -0
  433. /package/build/{esm → cjs/usb}/board-serial-info.test.d.ts +0 -0
  434. /package/build/cjs/{promise-queue.test.d.ts → usb/cmsis-dap.test.d.ts} +0 -0
  435. /package/build/cjs/{usb.test.d.ts → usb/connection.test.d.ts} +0 -0
  436. /package/build/{esm/bluetooth.test.d.ts → cjs/usb/cortex-m.test.d.ts} +0 -0
  437. /package/build/{esm/flashing/flashing-makecode.test.d.ts → cjs/usb/daplink.test.d.ts} +0 -0
  438. /package/build/cjs/{promise-queue.d.ts → usb/promise-queue.d.ts} +0 -0
  439. /package/build/cjs/{promise-queue.js → usb/promise-queue.js} +0 -0
  440. /package/build/{esm → cjs/usb}/promise-queue.test.d.ts +0 -0
  441. /package/build/cjs/{promise-queue.test.js → usb/promise-queue.test.js} +0 -0
  442. /package/build/esm/{flashing/zip.test.d.ts → bluetooth/connection.test.d.ts} +0 -0
  443. /package/build/esm/{device-bond-state.d.ts → bluetooth/device-bond-state.d.ts} +0 -0
  444. /package/build/esm/{device-bond-state.js → bluetooth/device-bond-state.js} +0 -0
  445. /package/build/esm/{flashing → bluetooth/flashing}/flashing-makecode.js +0 -0
  446. /package/build/esm/{usb.test.d.ts → bluetooth/flashing/flashing-makecode.test.d.ts} +0 -0
  447. /package/build/esm/{flashing → bluetooth/flashing}/flashing-v1.d.ts +0 -0
  448. /package/build/esm/{flashing → bluetooth/flashing}/flashing-v1.js +0 -0
  449. /package/build/esm/{flashing → bluetooth/flashing}/zip.d.ts +0 -0
  450. /package/build/esm/{flashing → bluetooth/flashing}/zip.js +0 -0
  451. /package/build/esm/{flashing → bluetooth/flashing}/zip.test.js +0 -0
  452. /package/build/esm/{bluetooth-profile.d.ts → bluetooth/profile.d.ts} +0 -0
  453. /package/build/esm/{dfu-service.d.ts → bluetooth/services/dfu-service.d.ts} +0 -0
  454. /package/build/esm/{usb-serial-protocol.d.ts → radio-bridge/serial-protocol.d.ts} +0 -0
  455. /package/build/esm/{promise-queue.d.ts → usb/promise-queue.d.ts} +0 -0
  456. /package/build/esm/{promise-queue.js → usb/promise-queue.js} +0 -0
  457. /package/build/esm/{promise-queue.test.js → usb/promise-queue.test.js} +0 -0
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AccelerometerService = void 0;
4
4
  const bluetooth_le_1 = require("@capacitor-community/bluetooth-le");
5
- const accelerometer_js_1 = require("./accelerometer.js");
6
- const bluetooth_profile_js_1 = require("./bluetooth-profile.js");
7
- const device_js_1 = require("./device.js");
5
+ const profile_js_1 = require("../profile.js");
6
+ const ble_error_js_1 = require("../ble-error.js");
8
7
  class AccelerometerService {
9
8
  static createService(deviceId, dispatchTypedEvent) {
10
9
  return new AccelerometerService(deviceId, dispatchTypedEvent);
@@ -26,7 +25,7 @@ class AccelerometerService {
26
25
  enumerable: true,
27
26
  configurable: true,
28
27
  writable: true,
29
- value: bluetooth_profile_js_1.profile.accelerometer.id
28
+ value: profile_js_1.profile.accelerometer.id
30
29
  });
31
30
  }
32
31
  getRelevantEvents() {
@@ -40,11 +39,11 @@ class AccelerometerService {
40
39
  };
41
40
  }
42
41
  async getData() {
43
- const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, bluetooth_profile_js_1.profile.accelerometer.id, bluetooth_profile_js_1.profile.accelerometer.characteristics.data.id);
42
+ const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, profile_js_1.profile.accelerometer.id, profile_js_1.profile.accelerometer.characteristics.data.id);
44
43
  return this.dataViewToData(dataView);
45
44
  }
46
45
  async getPeriod() {
47
- const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, bluetooth_profile_js_1.profile.accelerometer.id, bluetooth_profile_js_1.profile.accelerometer.characteristics.period.id);
46
+ const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, profile_js_1.profile.accelerometer.id, profile_js_1.profile.accelerometer.characteristics.period.id);
48
47
  return dataView.getUint16(0, true);
49
48
  }
50
49
  async setPeriod(value) {
@@ -58,7 +57,7 @@ class AccelerometerService {
58
57
  // https://lancaster-university.github.io/microbit-docs/ble/profile/#about-the-accelerometer-service
59
58
  const dataView = new DataView(new ArrayBuffer(2));
60
59
  dataView.setUint16(0, value, true);
61
- await bluetooth_le_1.BleClient.write(this.deviceId, bluetooth_profile_js_1.profile.accelerometer.id, bluetooth_profile_js_1.profile.accelerometer.characteristics.period.id, dataView);
60
+ await bluetooth_le_1.BleClient.write(this.deviceId, profile_js_1.profile.accelerometer.id, profile_js_1.profile.accelerometer.characteristics.period.id, dataView);
62
61
  }
63
62
  async startNotifications(type) {
64
63
  const result = this.characteristicForEvent(type);
@@ -67,11 +66,14 @@ class AccelerometerService {
67
66
  try {
68
67
  await bluetooth_le_1.BleClient.startNotifications(this.deviceId, service, characteristic, (value) => {
69
68
  const data = this.dataViewToData(value);
70
- this.dispatchTypedEvent("accelerometerdatachanged", new accelerometer_js_1.AccelerometerDataEvent(data));
69
+ this.dispatchTypedEvent("accelerometerdatachanged", data);
71
70
  });
72
71
  }
73
72
  catch (e) {
74
- this.dispatchTypedEvent("backgrounderror", new device_js_1.BackgroundErrorEvent("Failed to start notifications", e));
73
+ this.dispatchTypedEvent("backgrounderror", {
74
+ error: (0, ble_error_js_1.mapBleError)(e),
75
+ event: type,
76
+ });
75
77
  }
76
78
  }
77
79
  }
@@ -83,7 +85,10 @@ class AccelerometerService {
83
85
  await bluetooth_le_1.BleClient.stopNotifications(this.deviceId, service, characteristic);
84
86
  }
85
87
  catch (e) {
86
- this.dispatchTypedEvent("backgrounderror", new device_js_1.BackgroundErrorEvent("Failed to stop notifications", e));
88
+ this.dispatchTypedEvent("backgrounderror", {
89
+ error: (0, ble_error_js_1.mapBleError)(e),
90
+ event: type,
91
+ });
87
92
  }
88
93
  }
89
94
  }
@@ -91,8 +96,8 @@ class AccelerometerService {
91
96
  switch (type) {
92
97
  case "accelerometerdatachanged": {
93
98
  return {
94
- service: bluetooth_profile_js_1.profile.accelerometer.id,
95
- characteristic: bluetooth_profile_js_1.profile.accelerometer.characteristics.data.id,
99
+ service: profile_js_1.profile.accelerometer.id,
100
+ characteristic: profile_js_1.profile.accelerometer.characteristics.data.id,
96
101
  };
97
102
  }
98
103
  default: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accelerometer-service.js","sourceRoot":"","sources":["../../../../src/bluetooth/services/accelerometer-service.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- import { Service } from "./bluetooth-device-wrapper.js";
2
- import { TypedServiceEvent, TypedServiceEventDispatcher } from "./service-events.js";
1
+ import { Service } from "../device-wrapper.js";
2
+ import { TypedServiceEvent, TypedServiceEventDispatcher } from "../../service-events.js";
3
3
  export declare class ButtonService implements Service {
4
4
  private deviceId;
5
5
  private dispatchTypedEvent;
6
6
  uuid: string;
7
7
  constructor(deviceId: string, dispatchTypedEvent: TypedServiceEventDispatcher);
8
8
  getRelevantEvents(): TypedServiceEvent[];
9
- private dataViewToButtonState;
10
9
  startNotifications(type: TypedServiceEvent): Promise<void>;
11
10
  stopNotifications(type: TypedServiceEvent): Promise<void>;
12
11
  private characteristicForButtonEventType;
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ButtonService = void 0;
4
4
  const bluetooth_le_1 = require("@capacitor-community/bluetooth-le");
5
- const bluetooth_profile_js_1 = require("./bluetooth-profile.js");
6
- const buttons_js_1 = require("./buttons.js");
7
- const device_js_1 = require("./device.js");
5
+ const profile_js_1 = require("../profile.js");
6
+ const ble_error_js_1 = require("../ble-error.js");
8
7
  class ButtonService {
9
8
  constructor(deviceId, dispatchTypedEvent) {
10
9
  Object.defineProperty(this, "deviceId", {
@@ -23,27 +22,30 @@ class ButtonService {
23
22
  enumerable: true,
24
23
  configurable: true,
25
24
  writable: true,
26
- value: bluetooth_profile_js_1.profile.button.id
25
+ value: profile_js_1.profile.button.id
27
26
  });
28
27
  }
29
28
  getRelevantEvents() {
30
29
  return ["buttonachanged", "buttonbchanged"];
31
30
  }
32
- dataViewToButtonState(dataView) {
33
- return dataView.getUint8(0);
34
- }
35
31
  async startNotifications(type) {
36
32
  switch (type) {
37
33
  case "buttonachanged":
38
34
  case "buttonbchanged": {
39
35
  try {
40
- await bluetooth_le_1.BleClient.startNotifications(this.deviceId, bluetooth_profile_js_1.profile.button.id, this.characteristicForButtonEventType(type).id, (value) => {
41
- const data = this.dataViewToButtonState(value);
42
- this.dispatchTypedEvent(type, new buttons_js_1.ButtonEvent(type, data));
36
+ await bluetooth_le_1.BleClient.startNotifications(this.deviceId, profile_js_1.profile.button.id, this.characteristicForButtonEventType(type).id, (value) => {
37
+ const state = value.getUint8(0);
38
+ this.dispatchTypedEvent(type, {
39
+ button: type === "buttonachanged" ? "A" : "B",
40
+ state,
41
+ });
43
42
  });
44
43
  }
45
44
  catch (e) {
46
- this.dispatchTypedEvent("backgrounderror", new device_js_1.BackgroundErrorEvent("Failed to start notifications", e));
45
+ this.dispatchTypedEvent("backgrounderror", {
46
+ error: (0, ble_error_js_1.mapBleError)(e),
47
+ event: type,
48
+ });
47
49
  }
48
50
  }
49
51
  }
@@ -52,14 +54,22 @@ class ButtonService {
52
54
  switch (type) {
53
55
  case "buttonachanged":
54
56
  case "buttonbchanged": {
55
- await bluetooth_le_1.BleClient.stopNotifications(this.deviceId, bluetooth_profile_js_1.profile.button.id, this.characteristicForButtonEventType(type).id);
57
+ try {
58
+ await bluetooth_le_1.BleClient.stopNotifications(this.deviceId, profile_js_1.profile.button.id, this.characteristicForButtonEventType(type).id);
59
+ }
60
+ catch (e) {
61
+ this.dispatchTypedEvent("backgrounderror", {
62
+ error: (0, ble_error_js_1.mapBleError)(e),
63
+ event: type,
64
+ });
65
+ }
56
66
  }
57
67
  }
58
68
  }
59
69
  characteristicForButtonEventType(type) {
60
70
  return type === "buttonachanged"
61
- ? bluetooth_profile_js_1.profile.button.characteristics.a
62
- : bluetooth_profile_js_1.profile.button.characteristics.b;
71
+ ? profile_js_1.profile.button.characteristics.a
72
+ : profile_js_1.profile.button.characteristics.b;
63
73
  }
64
74
  }
65
75
  exports.ButtonService = ButtonService;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-service.js","sourceRoot":"","sources":["../../../../src/bluetooth/services/button-service.ts"],"names":[],"mappings":";;;AAAA,oEAA8D;AAE9D,8CAAwC;AAMxC,kDAA8C;AAE9C,MAAa,aAAa;IAGxB,YACU,QAAgB,EAChB,kBAA+C;QADvD;;;;mBAAQ,QAAQ;WAAQ;QACxB;;;;mBAAQ,kBAAkB;WAA6B;QAJzD;;;;mBAAO,oBAAO,CAAC,MAAM,CAAC,EAAE;WAAC;IAKtB,CAAC;IAEJ,iBAAiB;QACf,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAuB;QAC9C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,gBAAgB,CAAC;YACtB,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,wBAAS,CAAC,kBAAkB,CAChC,IAAI,CAAC,QAAQ,EACb,oBAAO,CAAC,MAAM,CAAC,EAAE,EACjB,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC,EAAE,EAC9C,CAAC,KAAK,EAAE,EAAE;wBACR,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAgB,CAAC;wBAC/C,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;4BAC5B,MAAM,EAAE,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;4BAC7C,KAAK;yBACN,CAAC,CAAC;oBACL,CAAC,CACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;wBACzC,KAAK,EAAE,IAAA,0BAAW,EAAC,CAAC,CAAC;wBACrB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAuB;QAC7C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,gBAAgB,CAAC;YACtB,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,wBAAS,CAAC,iBAAiB,CAC/B,IAAI,CAAC,QAAQ,EACb,oBAAO,CAAC,MAAM,CAAC,EAAE,EACjB,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC,EAAE,CAC/C,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;wBACzC,KAAK,EAAE,IAAA,0BAAW,EAAC,CAAC,CAAC;wBACrB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gCAAgC,CACtC,IAAyC;QAEzC,OAAO,IAAI,KAAK,gBAAgB;YAC9B,CAAC,CAAC,oBAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAClC,CAAC,CAAC,oBAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAlED,sCAkEC"}
@@ -1,4 +1,4 @@
1
- import { BoardVersion } from "./device.js";
1
+ import { BoardVersion } from "../../device.js";
2
2
  export declare class DeviceInformationService {
3
3
  private deviceId;
4
4
  constructor(deviceId: string);
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceInformationService = void 0;
4
+ const bluetooth_le_1 = require("@capacitor-community/bluetooth-le");
5
+ const profile_js_1 = require("../profile.js");
6
+ class DeviceInformationService {
7
+ constructor(deviceId) {
8
+ Object.defineProperty(this, "deviceId", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: deviceId
13
+ });
14
+ }
15
+ async getBoardVersion() {
16
+ const serviceMeta = profile_js_1.profile.deviceInformation;
17
+ const modelNumberBytes = await bluetooth_le_1.BleClient.read(this.deviceId, serviceMeta.id, serviceMeta.characteristics.modelNumber.id);
18
+ const modelNumber = new TextDecoder().decode(modelNumberBytes);
19
+ if (modelNumber.toLowerCase() === "BBC micro:bit".toLowerCase()) {
20
+ return "V1";
21
+ }
22
+ if (modelNumber.toLowerCase().includes("BBC micro:bit v2".toLowerCase())) {
23
+ return "V2";
24
+ }
25
+ throw new Error(`Unexpected model number: ${modelNumber}`);
26
+ }
27
+ }
28
+ exports.DeviceInformationService = DeviceInformationService;
29
+ //# sourceMappingURL=device-information-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-information-service.js","sourceRoot":"","sources":["../../../../src/bluetooth/services/device-information-service.ts"],"names":[],"mappings":";;;AAAA,oEAA8D;AAE9D,8CAAwC;AAExC,MAAa,wBAAwB;IACnC,YAAoB,QAAgB;QAAxB;;;;mBAAQ,QAAQ;WAAQ;IAAG,CAAC;IAExC,KAAK,CAAC,eAAe;QACnB,MAAM,WAAW,GAAG,oBAAO,CAAC,iBAAiB,CAAC;QAC9C,MAAM,gBAAgB,GAAG,MAAM,wBAAS,CAAC,IAAI,CAC3C,IAAI,CAAC,QAAQ,EACb,WAAW,CAAC,EAAE,EACd,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAC3C,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAnBD,4DAmBC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DfuService = exports.NORDIC_DFU_SERVICE = void 0;
4
4
  const bluetooth_le_1 = require("@capacitor-community/bluetooth-le");
5
- const bluetooth_profile_js_1 = require("./bluetooth-profile.js");
5
+ const profile_js_1 = require("../profile.js");
6
6
  // This is the service that should be available on V1 after the reboot.
7
7
  // We don't use it directly (the Nordic DFU library does) but we check it's there.
8
8
  exports.NORDIC_DFU_SERVICE = "00001530-1212-EFDE-1523-785FEABCD123";
@@ -19,7 +19,7 @@ class DfuService {
19
19
  * We do this for V1 only.
20
20
  */
21
21
  async requestRebootToBootloader() {
22
- await bluetooth_le_1.BleClient.write(this.deviceId, bluetooth_profile_js_1.profile.dfuControl.id, bluetooth_profile_js_1.profile.dfuControl.characteristics.control.id, (0, bluetooth_le_1.numbersToDataView)([0x01]));
22
+ await bluetooth_le_1.BleClient.write(this.deviceId, profile_js_1.profile.dfuControl.id, profile_js_1.profile.dfuControl.characteristics.control.id, (0, bluetooth_le_1.numbersToDataView)([0x01]));
23
23
  }
24
24
  }
25
25
  exports.DfuService = DfuService;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dfu-service.js","sourceRoot":"","sources":["../../../../src/bluetooth/services/dfu-service.ts"],"names":[],"mappings":";;;AAAA,oEAG2C;AAC3C,8CAAwC;AAExC,uEAAuE;AACvE,kFAAkF;AACrE,QAAA,kBAAkB,GAAG,sCAAsC,CAAC;AAEzE,MAAa,UAAU;IACrB,YAAoB,QAAgB;QAAxB;;;;mBAAQ,QAAQ;WAAQ;IAAG,CAAC;IAExC;;OAEG;IACH,KAAK,CAAC,yBAAyB;QAC7B,MAAM,wBAAS,CAAC,KAAK,CACnB,IAAI,CAAC,QAAQ,EACb,oBAAO,CAAC,UAAU,CAAC,EAAE,EACrB,oBAAO,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAC7C,IAAA,gCAAiB,EAAC,CAAC,IAAI,CAAC,CAAC,CAC1B,CAAC;IACJ,CAAC;CACF;AAdD,gCAcC"}
@@ -1,6 +1,5 @@
1
- import { Service } from "./bluetooth-device-wrapper.js";
2
- import { LedMatrix } from "./led.js";
3
- import { TypedServiceEvent } from "./service-events.js";
1
+ import { Service } from "../device-wrapper.js";
2
+ import { LedMatrix, TypedServiceEvent } from "../../service-events.js";
4
3
  export declare class LedService implements Service {
5
4
  private deviceId;
6
5
  uuid: string;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LedService = void 0;
4
4
  const bluetooth_le_1 = require("@capacitor-community/bluetooth-le");
5
- const bluetooth_profile_js_1 = require("./bluetooth-profile.js");
5
+ const profile_js_1 = require("../profile.js");
6
6
  const createLedMatrix = () => {
7
7
  return [
8
8
  [false, false, false, false, false],
@@ -24,19 +24,22 @@ class LedService {
24
24
  enumerable: true,
25
25
  configurable: true,
26
26
  writable: true,
27
- value: bluetooth_profile_js_1.profile.led.id
27
+ value: profile_js_1.profile.led.id
28
28
  });
29
29
  }
30
30
  getRelevantEvents() {
31
31
  return [];
32
32
  }
33
33
  async getLedMatrix() {
34
- const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, bluetooth_profile_js_1.profile.led.id, bluetooth_profile_js_1.profile.led.characteristics.matrixState.id);
34
+ const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, profile_js_1.profile.led.id, profile_js_1.profile.led.characteristics.matrixState.id);
35
35
  return this.dataViewToLedMatrix(dataView);
36
36
  }
37
37
  async setLedMatrix(value) {
38
+ if (value.length !== 5 || value.some((row) => row.length !== 5)) {
39
+ throw new Error("LED matrix must be 5x5");
40
+ }
38
41
  const dataView = this.ledMatrixToDataView(value);
39
- await bluetooth_le_1.BleClient.write(this.deviceId, bluetooth_profile_js_1.profile.led.id, bluetooth_profile_js_1.profile.led.characteristics.matrixState.id, dataView);
42
+ await bluetooth_le_1.BleClient.write(this.deviceId, profile_js_1.profile.led.id, profile_js_1.profile.led.characteristics.matrixState.id, dataView);
40
43
  }
41
44
  dataViewToLedMatrix(dataView) {
42
45
  if (dataView.byteLength !== 5) {
@@ -71,15 +74,15 @@ class LedService {
71
74
  if (bytes.length > 20) {
72
75
  throw new Error("Text must be <= 20 bytes when encoded as UTF-8");
73
76
  }
74
- await bluetooth_le_1.BleClient.write(this.deviceId, bluetooth_profile_js_1.profile.led.id, bluetooth_profile_js_1.profile.led.characteristics.text.id, new DataView(bytes.buffer));
77
+ await bluetooth_le_1.BleClient.write(this.deviceId, profile_js_1.profile.led.id, profile_js_1.profile.led.characteristics.text.id, new DataView(bytes.buffer));
75
78
  }
76
79
  async setScrollingDelay(value) {
77
80
  const dataView = new DataView(new ArrayBuffer(2));
78
81
  dataView.setUint16(0, value, true);
79
- await bluetooth_le_1.BleClient.write(this.deviceId, bluetooth_profile_js_1.profile.led.id, bluetooth_profile_js_1.profile.led.characteristics.scrollingDelay.id, dataView);
82
+ await bluetooth_le_1.BleClient.write(this.deviceId, profile_js_1.profile.led.id, profile_js_1.profile.led.characteristics.scrollingDelay.id, dataView);
80
83
  }
81
84
  async getScrollingDelay() {
82
- const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, bluetooth_profile_js_1.profile.led.id, bluetooth_profile_js_1.profile.led.characteristics.scrollingDelay.id);
85
+ const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, profile_js_1.profile.led.id, profile_js_1.profile.led.characteristics.scrollingDelay.id);
83
86
  return dataView.getUint16(0, true);
84
87
  }
85
88
  async startNotifications(type) { }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"led-service.js","sourceRoot":"","sources":["../../../../src/bluetooth/services/led-service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { Service } from "./bluetooth-device-wrapper.js";
2
- import { MagnetometerData } from "./magnetometer.js";
3
- import { TypedServiceEvent, TypedServiceEventDispatcher } from "./service-events.js";
1
+ import { Service } from "../device-wrapper.js";
2
+ import { MagnetometerData, TypedServiceEvent, TypedServiceEventDispatcher } from "../../service-events.js";
4
3
  export declare class MagnetometerService implements Service {
5
4
  private deviceId;
6
5
  private dispatchTypedEvent;
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MagnetometerService = void 0;
4
4
  const bluetooth_le_1 = require("@capacitor-community/bluetooth-le");
5
- const bluetooth_profile_js_1 = require("./bluetooth-profile.js");
6
- const magnetometer_js_1 = require("./magnetometer.js");
7
- const device_js_1 = require("./device.js");
5
+ const profile_js_1 = require("../profile.js");
6
+ const ble_error_js_1 = require("../ble-error.js");
8
7
  class MagnetometerService {
9
8
  constructor(deviceId, dispatchTypedEvent) {
10
9
  Object.defineProperty(this, "deviceId", {
@@ -23,7 +22,7 @@ class MagnetometerService {
23
22
  enumerable: true,
24
23
  configurable: true,
25
24
  writable: true,
26
- value: bluetooth_profile_js_1.profile.magnetometer.id
25
+ value: profile_js_1.profile.magnetometer.id
27
26
  });
28
27
  }
29
28
  getRelevantEvents() {
@@ -37,11 +36,11 @@ class MagnetometerService {
37
36
  };
38
37
  }
39
38
  async getData() {
40
- const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, bluetooth_profile_js_1.profile.magnetometer.id, bluetooth_profile_js_1.profile.magnetometer.characteristics.data.id);
39
+ const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, profile_js_1.profile.magnetometer.id, profile_js_1.profile.magnetometer.characteristics.data.id);
41
40
  return this.dataViewToData(dataView);
42
41
  }
43
42
  async getPeriod() {
44
- const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, bluetooth_profile_js_1.profile.magnetometer.id, bluetooth_profile_js_1.profile.magnetometer.characteristics.period.id);
43
+ const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, profile_js_1.profile.magnetometer.id, profile_js_1.profile.magnetometer.characteristics.period.id);
45
44
  return dataView.getUint16(0, true);
46
45
  }
47
46
  async setPeriod(value) {
@@ -55,37 +54,43 @@ class MagnetometerService {
55
54
  // https://lancaster-university.github.io/microbit-docs/ble/profile/#about-the-magnetometer-service
56
55
  const dataView = new DataView(new ArrayBuffer(2));
57
56
  dataView.setUint16(0, value, true);
58
- await bluetooth_le_1.BleClient.write(this.deviceId, bluetooth_profile_js_1.profile.magnetometer.id, bluetooth_profile_js_1.profile.magnetometer.characteristics.period.id, dataView);
57
+ await bluetooth_le_1.BleClient.write(this.deviceId, profile_js_1.profile.magnetometer.id, profile_js_1.profile.magnetometer.characteristics.period.id, dataView);
59
58
  }
60
59
  async getBearing() {
61
- const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, bluetooth_profile_js_1.profile.magnetometer.id, bluetooth_profile_js_1.profile.magnetometer.characteristics.bearing.id);
60
+ const dataView = await bluetooth_le_1.BleClient.read(this.deviceId, profile_js_1.profile.magnetometer.id, profile_js_1.profile.magnetometer.characteristics.bearing.id);
62
61
  return dataView.getUint16(0, true);
63
62
  }
64
63
  async triggerCalibration() {
65
64
  const dataView = new DataView(new ArrayBuffer(1));
66
65
  dataView.setUint8(0, 1);
67
- await bluetooth_le_1.BleClient.write(this.deviceId, bluetooth_profile_js_1.profile.magnetometer.id, bluetooth_profile_js_1.profile.magnetometer.characteristics.calibration.id, dataView);
66
+ await bluetooth_le_1.BleClient.write(this.deviceId, profile_js_1.profile.magnetometer.id, profile_js_1.profile.magnetometer.characteristics.calibration.id, dataView);
68
67
  }
69
68
  async startNotifications(type) {
70
69
  if (type === "magnetometerdatachanged") {
71
70
  try {
72
- await bluetooth_le_1.BleClient.startNotifications(this.deviceId, bluetooth_profile_js_1.profile.magnetometer.id, bluetooth_profile_js_1.profile.magnetometer.characteristics.data.id, (value) => {
71
+ await bluetooth_le_1.BleClient.startNotifications(this.deviceId, profile_js_1.profile.magnetometer.id, profile_js_1.profile.magnetometer.characteristics.data.id, (value) => {
73
72
  const data = this.dataViewToData(value);
74
- this.dispatchTypedEvent("magnetometerdatachanged", new magnetometer_js_1.MagnetometerDataEvent(data));
73
+ this.dispatchTypedEvent("magnetometerdatachanged", data);
75
74
  });
76
75
  }
77
76
  catch (e) {
78
- this.dispatchTypedEvent("backgrounderror", new device_js_1.BackgroundErrorEvent("Failed to start notifications", e));
77
+ this.dispatchTypedEvent("backgrounderror", {
78
+ error: (0, ble_error_js_1.mapBleError)(e),
79
+ event: type,
80
+ });
79
81
  }
80
82
  }
81
83
  }
82
84
  async stopNotifications(type) {
83
85
  if (type === "magnetometerdatachanged") {
84
86
  try {
85
- await bluetooth_le_1.BleClient.stopNotifications(this.deviceId, bluetooth_profile_js_1.profile.magnetometer.id, bluetooth_profile_js_1.profile.magnetometer.characteristics.data.id);
87
+ await bluetooth_le_1.BleClient.stopNotifications(this.deviceId, profile_js_1.profile.magnetometer.id, profile_js_1.profile.magnetometer.characteristics.data.id);
86
88
  }
87
89
  catch (e) {
88
- this.dispatchTypedEvent("backgrounderror", new device_js_1.BackgroundErrorEvent("Failed to stop notifications", e));
90
+ this.dispatchTypedEvent("backgrounderror", {
91
+ error: (0, ble_error_js_1.mapBleError)(e),
92
+ event: type,
93
+ });
89
94
  }
90
95
  }
91
96
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magnetometer-service.js","sourceRoot":"","sources":["../../../../src/bluetooth/services/magnetometer-service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { TimeoutOptions } from "@capacitor-community/bluetooth-le";
2
2
  import MemoryMap from "nrf-intel-hex";
3
- import { BluetoothDeviceWrapper } from "./bluetooth-device-wrapper.js";
3
+ import { BluetoothDeviceWrapper } from "../device-wrapper.js";
4
4
  export declare const enum MicroBitMode {
5
5
  Pairing = 0,
6
6
  Application = 1
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PartialFlashingService = exports.PacketState = exports.RegionId = exports.MicroBitMode = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */
5
5
  const bluetooth_le_1 = require("@capacitor-community/bluetooth-le");
6
- const bluetooth_profile_js_1 = require("./bluetooth-profile.js");
6
+ const profile_js_1 = require("../profile.js");
7
7
  const MICROBIT_RESET_COMMAND = 0xff;
8
8
  const REGION_INFO_COMMAND = 0x0;
9
9
  const FLASH_COMMAND = 0x1;
@@ -37,35 +37,35 @@ class PartialFlashingService {
37
37
  });
38
38
  }
39
39
  async startNotifications(options) {
40
- await this.connection.startInternalNotifications(bluetooth_profile_js_1.profile.partialFlashing.id, bluetooth_profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, options);
40
+ await this.connection.startInternalNotifications(profile_js_1.profile.partialFlashing.id, profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, options);
41
41
  }
42
42
  async stopNotifications() {
43
- await this.connection.stopInternalNotifications(bluetooth_profile_js_1.profile.partialFlashing.id, bluetooth_profile_js_1.profile.partialFlashing.characteristics.partialFlash.id);
43
+ await this.connection.stopInternalNotifications(profile_js_1.profile.partialFlashing.id, profile_js_1.profile.partialFlashing.characteristics.partialFlash.id);
44
44
  }
45
45
  async resetToMode(mode) {
46
- await bluetooth_le_1.BleClient.writeWithoutResponse(this.connection.device.deviceId, bluetooth_profile_js_1.profile.partialFlashing.id, bluetooth_profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, (0, bluetooth_le_1.numbersToDataView)([MICROBIT_RESET_COMMAND, mode]));
46
+ await bluetooth_le_1.BleClient.writeWithoutResponse(this.connection.bleDevice.deviceId, profile_js_1.profile.partialFlashing.id, profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, (0, bluetooth_le_1.numbersToDataView)([MICROBIT_RESET_COMMAND, mode]));
47
47
  }
48
48
  async getRegionInfo(region) {
49
- return parseRegionResponse(await this.connection.writeForNotification(bluetooth_profile_js_1.profile.partialFlashing.id, bluetooth_profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, (0, bluetooth_le_1.numbersToDataView)([REGION_INFO_COMMAND, region]), REGION_INFO_COMMAND));
49
+ return parseRegionResponse(await this.connection.writeForNotification(profile_js_1.profile.partialFlashing.id, profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, (0, bluetooth_le_1.numbersToDataView)([REGION_INFO_COMMAND, region]), REGION_INFO_COMMAND));
50
50
  }
51
51
  /**
52
52
  * Writes a flash chunk.
53
53
  * Use writeFlashForNotification for every 4th chunk.
54
54
  */
55
55
  async writeFlash(source, batchAddress, dataOffset, packetNumber, packetInBatch) {
56
- return await bluetooth_le_1.BleClient.writeWithoutResponse(this.connection.device.deviceId, bluetooth_profile_js_1.profile.partialFlashing.id, bluetooth_profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, this.createWriteDataCommand(source, batchAddress, dataOffset, packetNumber, packetInBatch));
56
+ return await bluetooth_le_1.BleClient.writeWithoutResponse(this.connection.bleDevice.deviceId, profile_js_1.profile.partialFlashing.id, profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, this.createWriteDataCommand(source, batchAddress, dataOffset, packetNumber, packetInBatch));
57
57
  }
58
58
  /**
59
59
  * Write a chunk and wait for a success/retransmit response.
60
60
  * The micro:bit notifies on every 4th chunk.
61
61
  */
62
62
  async writeFlashForNotification(source, batchAddress, dataOffset, packetNumber, packetInBatch) {
63
- const result = await this.connection.writeForNotification(bluetooth_profile_js_1.profile.partialFlashing.id, bluetooth_profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, this.createWriteDataCommand(source, batchAddress, dataOffset, packetNumber, packetInBatch), FLASH_COMMAND, (notificationValue) => notificationValue[1] === PacketState.Success ||
63
+ const result = await this.connection.writeForNotification(profile_js_1.profile.partialFlashing.id, profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, this.createWriteDataCommand(source, batchAddress, dataOffset, packetNumber, packetInBatch), FLASH_COMMAND, (notificationValue) => notificationValue[1] === PacketState.Success ||
64
64
  notificationValue[1] === PacketState.Retransmit);
65
65
  return result[1];
66
66
  }
67
67
  async writeEndOfFlashPacket() {
68
- return await bluetooth_le_1.BleClient.writeWithoutResponse(this.connection.device.deviceId, bluetooth_profile_js_1.profile.partialFlashing.id, bluetooth_profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, (0, bluetooth_le_1.numbersToDataView)([0x02]));
68
+ return await bluetooth_le_1.BleClient.writeWithoutResponse(this.connection.bleDevice.deviceId, profile_js_1.profile.partialFlashing.id, profile_js_1.profile.partialFlashing.characteristics.partialFlash.id, (0, bluetooth_le_1.numbersToDataView)([0x02]));
69
69
  }
70
70
  createWriteDataCommand(source, batchAddress, dataOffset, packetNumber, packetInBatch) {
71
71
  const data = new DataView(new ArrayBuffer(20));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial-flashing-service.js","sourceRoot":"","sources":["../../../../src/bluetooth/services/partial-flashing-service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Service } from "./bluetooth-device-wrapper.js";
2
- import { TypedServiceEvent, TypedServiceEventDispatcher } from "./service-events.js";
1
+ import { Service } from "../device-wrapper.js";
2
+ import { TypedServiceEvent, TypedServiceEventDispatcher } from "../../service-events.js";
3
3
  export declare class UARTService implements Service {
4
4
  private deviceId;
5
5
  private dispatchTypedEvent;
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UARTService = void 0;
4
4
  const bluetooth_le_1 = require("@capacitor-community/bluetooth-le");
5
- const bluetooth_profile_js_1 = require("./bluetooth-profile.js");
6
- const uart_js_1 = require("./uart.js");
7
- const device_js_1 = require("./device.js");
5
+ const profile_js_1 = require("../profile.js");
6
+ const ble_error_js_1 = require("../ble-error.js");
8
7
  class UARTService {
9
8
  constructor(deviceId, dispatchTypedEvent) {
10
9
  Object.defineProperty(this, "deviceId", {
@@ -23,7 +22,7 @@ class UARTService {
23
22
  enumerable: true,
24
23
  configurable: true,
25
24
  writable: true,
26
- value: bluetooth_profile_js_1.profile.uart.id
25
+ value: profile_js_1.profile.uart.id
27
26
  });
28
27
  }
29
28
  getRelevantEvents() {
@@ -32,23 +31,36 @@ class UARTService {
32
31
  async startNotifications(type) {
33
32
  if (type === "uartdata") {
34
33
  try {
35
- await bluetooth_le_1.BleClient.startNotifications(this.deviceId, bluetooth_profile_js_1.profile.uart.id, bluetooth_profile_js_1.profile.uart.characteristics.tx.id, (value) => {
36
- this.dispatchTypedEvent("uartdata", new uart_js_1.UARTDataEvent(new Uint8Array(value.buffer)));
34
+ await bluetooth_le_1.BleClient.startNotifications(this.deviceId, profile_js_1.profile.uart.id, profile_js_1.profile.uart.characteristics.tx.id, (value) => {
35
+ this.dispatchTypedEvent("uartdata", {
36
+ value: new Uint8Array(value.buffer),
37
+ });
37
38
  });
38
39
  }
39
40
  catch (e) {
40
- this.dispatchTypedEvent("backgrounderror", new device_js_1.BackgroundErrorEvent("Failed to start notifications", e));
41
+ this.dispatchTypedEvent("backgrounderror", {
42
+ error: (0, ble_error_js_1.mapBleError)(e),
43
+ event: type,
44
+ });
41
45
  }
42
46
  }
43
47
  }
44
48
  async stopNotifications(type) {
45
49
  if (type === "uartdata") {
46
- await bluetooth_le_1.BleClient.stopNotifications(this.deviceId, bluetooth_profile_js_1.profile.uart.id, bluetooth_profile_js_1.profile.uart.characteristics.tx.id);
50
+ try {
51
+ await bluetooth_le_1.BleClient.stopNotifications(this.deviceId, profile_js_1.profile.uart.id, profile_js_1.profile.uart.characteristics.tx.id);
52
+ }
53
+ catch (e) {
54
+ this.dispatchTypedEvent("backgrounderror", {
55
+ error: (0, ble_error_js_1.mapBleError)(e),
56
+ event: type,
57
+ });
58
+ }
47
59
  }
48
60
  }
49
61
  async writeData(value) {
50
62
  const dataView = new DataView(value.buffer);
51
- await bluetooth_le_1.BleClient.writeWithoutResponse(this.deviceId, bluetooth_profile_js_1.profile.uart.id, bluetooth_profile_js_1.profile.uart.characteristics.rx.id, dataView);
63
+ await bluetooth_le_1.BleClient.writeWithoutResponse(this.deviceId, profile_js_1.profile.uart.id, profile_js_1.profile.uart.characteristics.rx.id, dataView);
52
64
  }
53
65
  }
54
66
  exports.UARTService = UARTService;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uart-service.js","sourceRoot":"","sources":["../../../../src/bluetooth/services/uart-service.ts"],"names":[],"mappings":";;;AAAA,oEAA8D;AAE9D,8CAAwC;AAKxC,kDAA8C;AAE9C,MAAa,WAAW;IAGtB,YACU,QAAgB,EAChB,kBAA+C;QADvD;;;;mBAAQ,QAAQ;WAAQ;QACxB;;;;mBAAQ,kBAAkB;WAA6B;QAJzD;;;;mBAAO,oBAAO,CAAC,IAAI,CAAC,EAAE;WAAC;IAKpB,CAAC;IAEJ,iBAAiB;QACf,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAuB;QAC9C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,wBAAS,CAAC,kBAAkB,CAChC,IAAI,CAAC,QAAQ,EACb,oBAAO,CAAC,IAAI,CAAC,EAAE,EACf,oBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAClC,CAAC,KAAe,EAAE,EAAE;oBAClB,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;wBAClC,KAAK,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;qBACpC,CAAC,CAAC;gBACL,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;oBACzC,KAAK,EAAE,IAAA,0BAAW,EAAC,CAAC,CAAC;oBACrB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAuB;QAC7C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,wBAAS,CAAC,iBAAiB,CAC/B,IAAI,CAAC,QAAQ,EACb,oBAAO,CAAC,IAAI,CAAC,EAAE,EACf,oBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CACnC,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;oBACzC,KAAK,EAAE,IAAA,0BAAW,EAAC,CAAC,CAAC;oBACrB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAiB;QAC/B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,wBAAS,CAAC,oBAAoB,CAClC,IAAI,CAAC,QAAQ,EACb,oBAAO,CAAC,IAAI,CAAC,EAAE,EACf,oBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAClC,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AA5DD,kCA4DC"}
@@ -8,7 +8,7 @@ import { BoardVersion } from "./device.js";
8
8
  * Validates micro:bit board IDs.
9
9
  */
10
10
  export declare class BoardId {
11
- id: number;
11
+ readonly id: number;
12
12
  private static v1Normalized;
13
13
  private static v2Normalized;
14
14
  constructor(id: number);
@@ -1 +1 @@
1
- {"version":3,"file":"board-id.js","sourceRoot":"","sources":["../../src/board-id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH;;GAEG;AACH,MAAa,OAAO;IAIlB,YAAmB,EAAU;QAAjB;;;;mBAAO,EAAE;WAAQ;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;IAClD,CAAC;IAED,IAAI;QACF,OAAO,CACL,IAAI,CAAC,EAAE,KAAK,MAAM;YAClB,IAAI,CAAC,EAAE,KAAK,MAAM;YAClB,IAAI,CAAC,EAAE,KAAK,MAAM;YAClB,IAAI,CAAC,EAAE,KAAK,MAAM,CACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa;QACxB,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,YAA0B;QAC1C,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,YAAY,CAAC;YAC3B,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;IACH,CAAC;;AA5DH,0BA6DC;AA5DgB;;;;WAAe,IAAI,OAAO,CAAC,MAAM,CAAC;EAAtB,CAAuB;AACnC;;;;WAAe,IAAI,OAAO,CAAC,MAAM,CAAC;EAAtB,CAAuB"}
1
+ {"version":3,"file":"board-id.js","sourceRoot":"","sources":["../../src/board-id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH;;GAEG;AACH,MAAa,OAAO;IAIlB,YAA4B,EAAU;QAA1B;;;;mBAAgB,EAAE;WAAQ;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;IAClD,CAAC;IAED,IAAI;QACF,OAAO,CACL,IAAI,CAAC,EAAE,KAAK,MAAM;YAClB,IAAI,CAAC,EAAE,KAAK,MAAM;YAClB,IAAI,CAAC,EAAE,KAAK,MAAM;YAClB,IAAI,CAAC,EAAE,KAAK,MAAM,CACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa;QACxB,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,YAA0B;QAC1C,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,YAAY,CAAC;YAC3B,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;IACH,CAAC;;AA5DH,0BA6DC;AA5DgB;;;;WAAe,IAAI,OAAO,CAAC,MAAM,CAAC;EAAtB,CAAuB;AACnC;;;;WAAe,IAAI,OAAO,CAAC,MAAM,CAAC;EAAtB,CAAuB"}