node-poweredup 8.0.5 → 10.0.0

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 (763) hide show
  1. package/.drone.yml +2 -2
  2. package/.gitmodules +0 -3
  3. package/README.md +6 -11
  4. package/dist/color.d.ts +7 -0
  5. package/dist/color.d.ts.map +1 -0
  6. package/dist/color.js +15 -0
  7. package/dist/color.js.map +1 -0
  8. package/dist/consts.d.ts +645 -0
  9. package/dist/consts.d.ts.map +1 -0
  10. package/dist/consts.js +675 -0
  11. package/dist/consts.js.map +1 -0
  12. package/dist/devices/absolutemotor.d.ts +41 -0
  13. package/dist/devices/absolutemotor.d.ts.map +1 -0
  14. package/dist/devices/absolutemotor.js +115 -0
  15. package/dist/devices/absolutemotor.js.map +1 -0
  16. package/dist/devices/basicmotor.d.ts +37 -0
  17. package/dist/devices/basicmotor.d.ts.map +1 -0
  18. package/dist/devices/basicmotor.js +57 -0
  19. package/dist/devices/basicmotor.js.map +1 -0
  20. package/dist/devices/colordistancesensor.d.ts +74 -0
  21. package/dist/devices/colordistancesensor.d.ts.map +1 -0
  22. package/dist/devices/colordistancesensor.js +278 -0
  23. package/dist/devices/colordistancesensor.js.map +1 -0
  24. package/dist/devices/currentsensor.d.ts +17 -0
  25. package/dist/devices/currentsensor.d.ts.map +1 -0
  26. package/dist/devices/currentsensor.js +55 -0
  27. package/dist/devices/currentsensor.js.map +1 -0
  28. package/dist/devices/device.d.ts +72 -0
  29. package/dist/devices/device.d.ts.map +1 -0
  30. package/dist/devices/device.js +162 -0
  31. package/dist/devices/device.js.map +1 -0
  32. package/dist/devices/duplotrainbasecolorsensor.d.ts +20 -0
  33. package/dist/devices/duplotrainbasecolorsensor.d.ts.map +1 -0
  34. package/dist/devices/duplotrainbasecolorsensor.js +77 -0
  35. package/dist/devices/duplotrainbasecolorsensor.js.map +1 -0
  36. package/dist/devices/duplotrainbasemotor.d.ts +10 -0
  37. package/dist/devices/duplotrainbasemotor.d.ts.map +1 -0
  38. package/dist/devices/duplotrainbasemotor.js +12 -0
  39. package/dist/devices/duplotrainbasemotor.js.map +1 -0
  40. package/dist/devices/duplotrainbasespeaker.d.ts +27 -0
  41. package/dist/devices/duplotrainbasespeaker.d.ts.map +1 -0
  42. package/dist/devices/duplotrainbasespeaker.js +38 -0
  43. package/dist/devices/duplotrainbasespeaker.js.map +1 -0
  44. package/dist/devices/duplotrainbasespeedometer.d.ts +17 -0
  45. package/dist/devices/duplotrainbasespeedometer.d.ts.map +1 -0
  46. package/dist/devices/duplotrainbasespeedometer.js +34 -0
  47. package/dist/devices/duplotrainbasespeedometer.js.map +1 -0
  48. package/dist/devices/hubled.d.ts +28 -0
  49. package/dist/devices/hubled.d.ts.map +1 -0
  50. package/dist/devices/hubled.js +58 -0
  51. package/dist/devices/hubled.js.map +1 -0
  52. package/dist/devices/light.d.ts +24 -0
  53. package/dist/devices/light.d.ts.map +1 -0
  54. package/dist/devices/light.js +44 -0
  55. package/dist/devices/light.js.map +1 -0
  56. package/dist/devices/marioaccelerometer.d.ts +18 -0
  57. package/dist/devices/marioaccelerometer.d.ts.map +1 -0
  58. package/dist/devices/marioaccelerometer.js +50 -0
  59. package/dist/devices/marioaccelerometer.js.map +1 -0
  60. package/dist/devices/mariobarcodesensor.d.ts +18 -0
  61. package/dist/devices/mariobarcodesensor.d.ts.map +1 -0
  62. package/dist/devices/mariobarcodesensor.js +58 -0
  63. package/dist/devices/mariobarcodesensor.js.map +1 -0
  64. package/dist/devices/mariopantssensor.d.ts +17 -0
  65. package/dist/devices/mariopantssensor.d.ts.map +1 -0
  66. package/dist/devices/mariopantssensor.js +34 -0
  67. package/dist/devices/mariopantssensor.js.map +1 -0
  68. package/dist/devices/mediumlinearmotor.d.ts +10 -0
  69. package/dist/devices/mediumlinearmotor.d.ts.map +1 -0
  70. package/dist/devices/mediumlinearmotor.js +12 -0
  71. package/dist/devices/mediumlinearmotor.js.map +1 -0
  72. package/dist/devices/motionsensor.d.ts +17 -0
  73. package/dist/devices/motionsensor.d.ts.map +1 -0
  74. package/dist/devices/motionsensor.js +38 -0
  75. package/dist/devices/motionsensor.js.map +1 -0
  76. package/dist/devices/movehubmediumlinearmotor.d.ts +10 -0
  77. package/dist/devices/movehubmediumlinearmotor.d.ts.map +1 -0
  78. package/dist/devices/movehubmediumlinearmotor.js +12 -0
  79. package/dist/devices/movehubmediumlinearmotor.js.map +1 -0
  80. package/dist/devices/movehubtiltsensor.d.ts +17 -0
  81. package/dist/devices/movehubtiltsensor.d.ts.map +1 -0
  82. package/dist/devices/movehubtiltsensor.js +36 -0
  83. package/dist/devices/movehubtiltsensor.js.map +1 -0
  84. package/dist/devices/piezobuzzer.d.ts +17 -0
  85. package/dist/devices/piezobuzzer.d.ts.map +1 -0
  86. package/dist/devices/piezobuzzer.js +27 -0
  87. package/dist/devices/piezobuzzer.js.map +1 -0
  88. package/dist/devices/remotecontrolbutton.d.ts +20 -0
  89. package/dist/devices/remotecontrolbutton.d.ts.map +1 -0
  90. package/dist/devices/remotecontrolbutton.js +40 -0
  91. package/dist/devices/remotecontrolbutton.js.map +1 -0
  92. package/dist/devices/simplemediumlinearmotor.d.ts +10 -0
  93. package/dist/devices/simplemediumlinearmotor.d.ts.map +1 -0
  94. package/dist/devices/simplemediumlinearmotor.js +12 -0
  95. package/dist/devices/simplemediumlinearmotor.js.map +1 -0
  96. package/dist/devices/tachomotor.d.ts +65 -0
  97. package/dist/devices/tachomotor.d.ts.map +1 -0
  98. package/dist/devices/tachomotor.js +161 -0
  99. package/dist/devices/tachomotor.js.map +1 -0
  100. package/dist/devices/technic3x3colorlightmatrix.d.ts +22 -0
  101. package/dist/devices/technic3x3colorlightmatrix.d.ts.map +1 -0
  102. package/dist/devices/technic3x3colorlightmatrix.js +53 -0
  103. package/dist/devices/technic3x3colorlightmatrix.js.map +1 -0
  104. package/dist/devices/techniccolorsensor.d.ts +27 -0
  105. package/dist/devices/techniccolorsensor.d.ts.map +1 -0
  106. package/dist/devices/techniccolorsensor.js +71 -0
  107. package/dist/devices/techniccolorsensor.js.map +1 -0
  108. package/dist/devices/technicdistancesensor.d.ts +27 -0
  109. package/dist/devices/technicdistancesensor.d.ts.map +1 -0
  110. package/dist/devices/technicdistancesensor.js +57 -0
  111. package/dist/devices/technicdistancesensor.js.map +1 -0
  112. package/dist/devices/technicforcesensor.d.ts +19 -0
  113. package/dist/devices/technicforcesensor.d.ts.map +1 -0
  114. package/dist/devices/technicforcesensor.js +58 -0
  115. package/dist/devices/technicforcesensor.js.map +1 -0
  116. package/dist/devices/techniclargeangularmotor.d.ts +13 -0
  117. package/dist/devices/techniclargeangularmotor.d.ts.map +1 -0
  118. package/dist/devices/techniclargeangularmotor.js +12 -0
  119. package/dist/devices/techniclargeangularmotor.js.map +1 -0
  120. package/dist/devices/techniclargelinearmotor.d.ts +10 -0
  121. package/dist/devices/techniclargelinearmotor.d.ts.map +1 -0
  122. package/dist/devices/techniclargelinearmotor.js +12 -0
  123. package/dist/devices/techniclargelinearmotor.js.map +1 -0
  124. package/dist/devices/technicmediumangularmotor.d.ts +13 -0
  125. package/dist/devices/technicmediumangularmotor.d.ts.map +1 -0
  126. package/dist/devices/technicmediumangularmotor.js +12 -0
  127. package/dist/devices/technicmediumangularmotor.js.map +1 -0
  128. package/dist/devices/technicmediumhubaccelerometersensor.d.ts +17 -0
  129. package/dist/devices/technicmediumhubaccelerometersensor.d.ts.map +1 -0
  130. package/dist/devices/technicmediumhubaccelerometersensor.js +38 -0
  131. package/dist/devices/technicmediumhubaccelerometersensor.js.map +1 -0
  132. package/dist/devices/technicmediumhubgyrosensor.d.ts +17 -0
  133. package/dist/devices/technicmediumhubgyrosensor.d.ts.map +1 -0
  134. package/dist/devices/technicmediumhubgyrosensor.js +38 -0
  135. package/dist/devices/technicmediumhubgyrosensor.js.map +1 -0
  136. package/dist/devices/technicmediumhubtiltsensor.d.ts +38 -0
  137. package/dist/devices/technicmediumhubtiltsensor.d.ts.map +1 -0
  138. package/dist/devices/technicmediumhubtiltsensor.js +103 -0
  139. package/dist/devices/technicmediumhubtiltsensor.js.map +1 -0
  140. package/dist/devices/technicsmallangularmotor.d.ts +13 -0
  141. package/dist/devices/technicsmallangularmotor.d.ts.map +1 -0
  142. package/dist/devices/technicsmallangularmotor.js +12 -0
  143. package/dist/devices/technicsmallangularmotor.js.map +1 -0
  144. package/dist/devices/technicxlargelinearmotor.d.ts +10 -0
  145. package/dist/devices/technicxlargelinearmotor.d.ts.map +1 -0
  146. package/dist/devices/technicxlargelinearmotor.js +12 -0
  147. package/dist/devices/technicxlargelinearmotor.js.map +1 -0
  148. package/dist/devices/tiltsensor.d.ts +17 -0
  149. package/dist/devices/tiltsensor.d.ts.map +1 -0
  150. package/dist/devices/tiltsensor.js +36 -0
  151. package/dist/devices/tiltsensor.js.map +1 -0
  152. package/dist/devices/trainmotor.d.ts +10 -0
  153. package/dist/devices/trainmotor.d.ts.map +1 -0
  154. package/dist/devices/trainmotor.js +12 -0
  155. package/dist/devices/trainmotor.js.map +1 -0
  156. package/dist/devices/voltagesensor.d.ts +17 -0
  157. package/dist/devices/voltagesensor.d.ts.map +1 -0
  158. package/dist/devices/voltagesensor.js +59 -0
  159. package/dist/devices/voltagesensor.js.map +1 -0
  160. package/dist/hubs/basehub.d.ts +154 -0
  161. package/dist/hubs/basehub.d.ts.map +1 -0
  162. package/dist/hubs/basehub.js +383 -0
  163. package/dist/hubs/basehub.js.map +1 -0
  164. package/dist/hubs/duplotrainbase.d.ts +18 -0
  165. package/dist/hubs/duplotrainbase.d.ts.map +1 -0
  166. package/dist/hubs/duplotrainbase.js +35 -0
  167. package/dist/hubs/duplotrainbase.js.map +1 -0
  168. package/dist/hubs/hub.d.ts +20 -0
  169. package/dist/hubs/hub.d.ts.map +1 -0
  170. package/dist/hubs/hub.js +44 -0
  171. package/dist/hubs/hub.js.map +1 -0
  172. package/dist/hubs/lpf2hub.d.ts +46 -0
  173. package/dist/hubs/lpf2hub.d.ts.map +1 -0
  174. package/dist/hubs/lpf2hub.js +311 -0
  175. package/dist/hubs/lpf2hub.js.map +1 -0
  176. package/dist/hubs/mario.d.ts +18 -0
  177. package/dist/hubs/mario.d.ts.map +1 -0
  178. package/dist/hubs/mario.js +31 -0
  179. package/dist/hubs/mario.js.map +1 -0
  180. package/dist/hubs/movehub.d.ts +19 -0
  181. package/dist/hubs/movehub.d.ts.map +1 -0
  182. package/dist/hubs/movehub.js +46 -0
  183. package/dist/hubs/movehub.js.map +1 -0
  184. package/dist/hubs/remotecontrol.d.ts +18 -0
  185. package/dist/hubs/remotecontrol.d.ts.map +1 -0
  186. package/dist/hubs/remotecontrol.js +37 -0
  187. package/dist/hubs/remotecontrol.js.map +1 -0
  188. package/dist/hubs/technicmediumhub.d.ts +18 -0
  189. package/dist/hubs/technicmediumhub.d.ts.map +1 -0
  190. package/dist/hubs/technicmediumhub.js +42 -0
  191. package/dist/hubs/technicmediumhub.js.map +1 -0
  192. package/dist/hubs/technicsmallhub.d.ts +19 -0
  193. package/dist/hubs/technicsmallhub.d.ts.map +1 -0
  194. package/dist/hubs/technicsmallhub.js +41 -0
  195. package/dist/hubs/technicsmallhub.js.map +1 -0
  196. package/dist/hubs/wedo2smarthub.d.ts +39 -0
  197. package/dist/hubs/wedo2smarthub.d.ts.map +1 -0
  198. package/dist/hubs/wedo2smarthub.js +186 -0
  199. package/dist/hubs/wedo2smarthub.js.map +1 -0
  200. package/dist/index-browser.d.ts +2 -0
  201. package/dist/index-browser.d.ts.map +1 -0
  202. package/dist/index-browser.js +96 -0
  203. package/dist/index-browser.js.map +1 -0
  204. package/dist/index-node.d.ts +50 -0
  205. package/dist/index-node.d.ts.map +1 -0
  206. package/dist/index-node.js +50 -0
  207. package/dist/index-node.js.map +1 -0
  208. package/dist/interfaces.d.ts +24 -0
  209. package/dist/interfaces.d.ts.map +1 -0
  210. package/dist/interfaces.js +2 -0
  211. package/dist/interfaces.js.map +1 -0
  212. package/dist/nobleabstraction.d.ts +27 -0
  213. package/dist/nobleabstraction.d.ts.map +1 -0
  214. package/dist/nobleabstraction.js +121 -0
  215. package/dist/nobleabstraction.js.map +1 -0
  216. package/dist/node/color.js +2 -25
  217. package/dist/node/color.js.map +1 -1
  218. package/dist/node/commands.d.ts +299 -0
  219. package/dist/node/commands.js +672 -0
  220. package/dist/node/commands.js.map +1 -0
  221. package/dist/node/connection.d.ts +187 -0
  222. package/dist/node/connection.js +478 -0
  223. package/dist/node/connection.js.map +1 -0
  224. package/dist/node/consts.d.ts +21 -21
  225. package/dist/node/consts.js +57 -60
  226. package/dist/node/consts.js.map +1 -1
  227. package/dist/node/devices/absolutemotor.d.ts +0 -1
  228. package/dist/node/devices/absolutemotor.js +14 -37
  229. package/dist/node/devices/absolutemotor.js.map +1 -1
  230. package/dist/node/devices/basicmotor.d.ts +3 -3
  231. package/dist/node/devices/basicmotor.js +6 -29
  232. package/dist/node/devices/basicmotor.js.map +1 -1
  233. package/dist/node/devices/colordistancesensor.d.ts +4 -5
  234. package/dist/node/devices/colordistancesensor.js +11 -34
  235. package/dist/node/devices/colordistancesensor.js.map +1 -1
  236. package/dist/node/devices/currentsensor.d.ts +0 -1
  237. package/dist/node/devices/currentsensor.js +7 -30
  238. package/dist/node/devices/currentsensor.js.map +1 -1
  239. package/dist/node/devices/device.d.ts +5 -6
  240. package/dist/node/devices/device.js +3 -26
  241. package/dist/node/devices/device.js.map +1 -1
  242. package/dist/node/devices/duplotrainbasecolorsensor.d.ts +0 -1
  243. package/dist/node/devices/duplotrainbasecolorsensor.js +9 -32
  244. package/dist/node/devices/duplotrainbasecolorsensor.js.map +1 -1
  245. package/dist/node/devices/duplotrainbasemotor.js +3 -26
  246. package/dist/node/devices/duplotrainbasemotor.js.map +1 -1
  247. package/dist/node/devices/duplotrainbasespeaker.js +5 -28
  248. package/dist/node/devices/duplotrainbasespeaker.js.map +1 -1
  249. package/dist/node/devices/duplotrainbasespeedometer.d.ts +0 -1
  250. package/dist/node/devices/duplotrainbasespeedometer.js +7 -30
  251. package/dist/node/devices/duplotrainbasespeedometer.js.map +1 -1
  252. package/dist/node/devices/hubled.js +5 -28
  253. package/dist/node/devices/hubled.js.map +1 -1
  254. package/dist/node/devices/index.d.ts +14 -0
  255. package/dist/node/devices/index.js +154 -0
  256. package/dist/node/devices/index.js.map +1 -0
  257. package/dist/node/devices/led.d.ts +140 -0
  258. package/dist/node/devices/led.js +295 -0
  259. package/dist/node/devices/led.js.map +1 -0
  260. package/dist/node/devices/light.js +5 -28
  261. package/dist/node/devices/light.js.map +1 -1
  262. package/dist/node/devices/marioaccelerometer.d.ts +0 -1
  263. package/dist/node/devices/marioaccelerometer.js +7 -30
  264. package/dist/node/devices/marioaccelerometer.js.map +1 -1
  265. package/dist/node/devices/mariobarcodesensor.d.ts +0 -1
  266. package/dist/node/devices/mariobarcodesensor.js +7 -30
  267. package/dist/node/devices/mariobarcodesensor.js.map +1 -1
  268. package/dist/node/devices/mariopantssensor.d.ts +0 -1
  269. package/dist/node/devices/mariopantssensor.js +7 -30
  270. package/dist/node/devices/mariopantssensor.js.map +1 -1
  271. package/dist/node/devices/mediumlinearmotor.js +3 -26
  272. package/dist/node/devices/mediumlinearmotor.js.map +1 -1
  273. package/dist/node/devices/motionsensor.d.ts +0 -1
  274. package/dist/node/devices/motionsensor.js +7 -30
  275. package/dist/node/devices/motionsensor.js.map +1 -1
  276. package/dist/node/devices/motor.d.ts +182 -0
  277. package/dist/node/devices/motor.js +367 -0
  278. package/dist/node/devices/motor.js.map +1 -0
  279. package/dist/node/devices/movehubmediumlinearmotor.js +3 -26
  280. package/dist/node/devices/movehubmediumlinearmotor.js.map +1 -1
  281. package/dist/node/devices/movehubtiltsensor.d.ts +0 -1
  282. package/dist/node/devices/movehubtiltsensor.js +7 -30
  283. package/dist/node/devices/movehubtiltsensor.js.map +1 -1
  284. package/dist/node/devices/piezobuzzer.js +3 -26
  285. package/dist/node/devices/piezobuzzer.js.map +1 -1
  286. package/dist/node/devices/remotecontrolbutton.d.ts +0 -1
  287. package/dist/node/devices/remotecontrolbutton.js +9 -32
  288. package/dist/node/devices/remotecontrolbutton.js.map +1 -1
  289. package/dist/node/devices/sensor.d.ts +305 -0
  290. package/dist/node/devices/sensor.js +662 -0
  291. package/dist/node/devices/sensor.js.map +1 -0
  292. package/dist/node/devices/simplemediumlinearmotor.js +3 -26
  293. package/dist/node/devices/simplemediumlinearmotor.js.map +1 -1
  294. package/dist/node/devices/tachomotor.d.ts +0 -1
  295. package/dist/node/devices/tachomotor.js +14 -37
  296. package/dist/node/devices/tachomotor.js.map +1 -1
  297. package/dist/node/devices/technic3x3colorlightmatrix.js +7 -30
  298. package/dist/node/devices/technic3x3colorlightmatrix.js.map +1 -1
  299. package/dist/node/devices/techniccolorsensor.d.ts +0 -1
  300. package/dist/node/devices/techniccolorsensor.js +9 -32
  301. package/dist/node/devices/techniccolorsensor.js.map +1 -1
  302. package/dist/node/devices/technicdistancesensor.d.ts +0 -1
  303. package/dist/node/devices/technicdistancesensor.js +7 -30
  304. package/dist/node/devices/technicdistancesensor.js.map +1 -1
  305. package/dist/node/devices/technicforcesensor.d.ts +0 -1
  306. package/dist/node/devices/technicforcesensor.js +7 -30
  307. package/dist/node/devices/technicforcesensor.js.map +1 -1
  308. package/dist/node/devices/techniclargeangularmotor.js +3 -26
  309. package/dist/node/devices/techniclargeangularmotor.js.map +1 -1
  310. package/dist/node/devices/techniclargelinearmotor.js +3 -26
  311. package/dist/node/devices/techniclargelinearmotor.js.map +1 -1
  312. package/dist/node/devices/technicmediumangularmotor.js +3 -26
  313. package/dist/node/devices/technicmediumangularmotor.js.map +1 -1
  314. package/dist/node/devices/technicmediumhubaccelerometersensor.d.ts +0 -1
  315. package/dist/node/devices/technicmediumhubaccelerometersensor.js +7 -30
  316. package/dist/node/devices/technicmediumhubaccelerometersensor.js.map +1 -1
  317. package/dist/node/devices/technicmediumhubgyrosensor.d.ts +0 -1
  318. package/dist/node/devices/technicmediumhubgyrosensor.js +7 -30
  319. package/dist/node/devices/technicmediumhubgyrosensor.js.map +1 -1
  320. package/dist/node/devices/technicmediumhubtiltsensor.d.ts +0 -1
  321. package/dist/node/devices/technicmediumhubtiltsensor.js +8 -31
  322. package/dist/node/devices/technicmediumhubtiltsensor.js.map +1 -1
  323. package/dist/node/devices/technicsmallangularmotor.js +3 -26
  324. package/dist/node/devices/technicsmallangularmotor.js.map +1 -1
  325. package/dist/node/devices/technicxlargelinearmotor.js +3 -26
  326. package/dist/node/devices/technicxlargelinearmotor.js.map +1 -1
  327. package/dist/node/devices/tiltsensor.d.ts +0 -1
  328. package/dist/node/devices/tiltsensor.js +7 -30
  329. package/dist/node/devices/tiltsensor.js.map +1 -1
  330. package/dist/node/devices/trainmotor.js +3 -26
  331. package/dist/node/devices/trainmotor.js.map +1 -1
  332. package/dist/node/devices/voltagesensor.d.ts +0 -1
  333. package/dist/node/devices/voltagesensor.js +7 -30
  334. package/dist/node/devices/voltagesensor.js.map +1 -1
  335. package/dist/node/hub.d.ts +291 -0
  336. package/dist/node/hub.js +778 -0
  337. package/dist/node/hub.js.map +1 -0
  338. package/dist/node/hubs/basehub.d.ts +9 -10
  339. package/dist/node/hubs/basehub.js +74 -97
  340. package/dist/node/hubs/basehub.js.map +1 -1
  341. package/dist/node/hubs/duplotrainbase.d.ts +1 -1
  342. package/dist/node/hubs/duplotrainbase.js +6 -29
  343. package/dist/node/hubs/duplotrainbase.js.map +1 -1
  344. package/dist/node/hubs/hub.d.ts +1 -1
  345. package/dist/node/hubs/hub.js +12 -38
  346. package/dist/node/hubs/hub.js.map +1 -1
  347. package/dist/node/hubs/lpf2hub.d.ts +5 -6
  348. package/dist/node/hubs/lpf2hub.js +17 -40
  349. package/dist/node/hubs/lpf2hub.js.map +1 -1
  350. package/dist/node/hubs/mario.d.ts +1 -1
  351. package/dist/node/hubs/mario.js +6 -29
  352. package/dist/node/hubs/mario.js.map +1 -1
  353. package/dist/node/hubs/movehub.d.ts +1 -1
  354. package/dist/node/hubs/movehub.js +8 -34
  355. package/dist/node/hubs/movehub.js.map +1 -1
  356. package/dist/node/hubs/remotecontrol.d.ts +1 -1
  357. package/dist/node/hubs/remotecontrol.js +6 -29
  358. package/dist/node/hubs/remotecontrol.js.map +1 -1
  359. package/dist/node/hubs/technicmediumhub.d.ts +1 -1
  360. package/dist/node/hubs/technicmediumhub.js +6 -29
  361. package/dist/node/hubs/technicmediumhub.js.map +1 -1
  362. package/dist/node/hubs/technicsmallhub.d.ts +1 -1
  363. package/dist/node/hubs/technicsmallhub.js +10 -33
  364. package/dist/node/hubs/technicsmallhub.js.map +1 -1
  365. package/dist/node/hubs/wedo2smarthub.d.ts +3 -4
  366. package/dist/node/hubs/wedo2smarthub.js +15 -38
  367. package/dist/node/hubs/wedo2smarthub.js.map +1 -1
  368. package/dist/node/index-browser.js +91 -112
  369. package/dist/node/index-browser.js.map +1 -1
  370. package/dist/node/index-node.d.ts +1 -0
  371. package/dist/node/index-node.js +49 -115
  372. package/dist/node/index-node.js.map +1 -1
  373. package/dist/node/index.d.ts +31 -0
  374. package/dist/node/index.js +93 -0
  375. package/dist/node/index.js.map +1 -0
  376. package/dist/node/index.mjs +0 -0
  377. package/dist/node/interfaces.d.ts +1 -2
  378. package/dist/node/interfaces.js +1 -2
  379. package/dist/node/nobleabstraction.d.ts +0 -1
  380. package/dist/node/nobleabstraction.js +5 -7
  381. package/dist/node/nobleabstraction.js.map +1 -1
  382. package/dist/node/poweredup-browser.d.ts +0 -2
  383. package/dist/node/poweredup-browser.js +28 -47
  384. package/dist/node/poweredup-browser.js.map +1 -1
  385. package/dist/node/poweredup-node.d.ts +0 -2
  386. package/dist/node/poweredup-node.js +31 -54
  387. package/dist/node/poweredup-node.js.map +1 -1
  388. package/dist/node/poweredup.d.ts +83 -0
  389. package/dist/node/poweredup.js +542 -0
  390. package/dist/node/poweredup.js.map +1 -0
  391. package/dist/node/protocol-wedo.d.ts +158 -0
  392. package/dist/node/protocol-wedo.js +342 -0
  393. package/dist/node/protocol-wedo.js.map +1 -0
  394. package/dist/node/protocol.d.ts +340 -0
  395. package/dist/node/protocol.js +730 -0
  396. package/dist/node/protocol.js.map +1 -0
  397. package/dist/node/types.d.ts +408 -0
  398. package/dist/node/types.js +291 -0
  399. package/dist/node/types.js.map +1 -0
  400. package/dist/node/utils.d.ts +1 -1
  401. package/dist/node/utils.js +14 -26
  402. package/dist/node/utils.js.map +1 -1
  403. package/dist/node/webbleabstraction.d.ts +2 -3
  404. package/dist/node/webbleabstraction.js +4 -8
  405. package/dist/node/webbleabstraction.js.map +1 -1
  406. package/dist/poweredup-browser.d.ts +46 -0
  407. package/dist/poweredup-browser.d.ts.map +1 -0
  408. package/dist/poweredup-browser.js +210 -0
  409. package/dist/poweredup-browser.js.map +1 -0
  410. package/dist/poweredup-node.d.ts +49 -0
  411. package/dist/poweredup-node.d.ts.map +1 -0
  412. package/dist/poweredup-node.js +166 -0
  413. package/dist/poweredup-node.js.map +1 -0
  414. package/dist/tsconfig.tsbuildinfo +1 -0
  415. package/dist/utils.d.ts +13 -0
  416. package/dist/utils.d.ts.map +1 -0
  417. package/dist/utils.js +90 -0
  418. package/dist/utils.js.map +1 -0
  419. package/dist/webbleabstraction.d.ts +27 -0
  420. package/dist/webbleabstraction.d.ts.map +1 -0
  421. package/dist/webbleabstraction.js +104 -0
  422. package/dist/webbleabstraction.js.map +1 -0
  423. package/docs/.nojekyll +1 -0
  424. package/docs/assets/hierarchy.js +1 -0
  425. package/docs/assets/highlight.css +99 -0
  426. package/docs/assets/icons.js +18 -0
  427. package/docs/assets/icons.svg +1 -0
  428. package/docs/assets/main.js +60 -0
  429. package/docs/assets/navigation.js +1 -0
  430. package/docs/assets/search.js +1 -0
  431. package/docs/assets/style.css +1633 -0
  432. package/docs/classes/AbsoluteMotor.html +242 -0
  433. package/docs/classes/BaseHub.html +220 -0
  434. package/docs/classes/BasicMotor.html +201 -0
  435. package/docs/classes/Color.html +3 -0
  436. package/docs/classes/ColorDistanceSensor.html +214 -0
  437. package/docs/classes/CurrentSensor.html +185 -0
  438. package/docs/classes/Device.html +185 -0
  439. package/docs/classes/DuploTrainBase.html +233 -0
  440. package/docs/classes/DuploTrainBaseColorSensor.html +185 -0
  441. package/docs/classes/DuploTrainBaseMotor.html +201 -0
  442. package/docs/classes/DuploTrainBaseSpeaker.html +191 -0
  443. package/docs/classes/DuploTrainBaseSpeedometer.html +185 -0
  444. package/docs/classes/Hub.html +233 -0
  445. package/docs/classes/HubLED.html +191 -0
  446. package/docs/classes/Light.html +195 -0
  447. package/docs/classes/Mario.html +233 -0
  448. package/docs/classes/MediumLinearMotor.html +229 -0
  449. package/docs/classes/MotionSensor.html +185 -0
  450. package/docs/classes/MoveHub.html +233 -0
  451. package/docs/classes/MoveHubMediumLinearMotor.html +229 -0
  452. package/docs/classes/MoveHubTiltSensor.html +185 -0
  453. package/docs/classes/PiezoBuzzer.html +189 -0
  454. package/docs/classes/PoweredUP.html +180 -0
  455. package/docs/classes/RemoteControl.html +233 -0
  456. package/docs/classes/RemoteControlButton.html +185 -0
  457. package/docs/classes/SimpleMediumLinearMotor.html +201 -0
  458. package/docs/classes/TachoMotor.html +229 -0
  459. package/docs/classes/Technic3x3ColorLightMatrix.html +189 -0
  460. package/docs/classes/TechnicColorSensor.html +191 -0
  461. package/docs/classes/TechnicDistanceSensor.html +192 -0
  462. package/docs/classes/TechnicForceSensor.html +185 -0
  463. package/docs/classes/TechnicLargeAngularMotor.html +242 -0
  464. package/docs/classes/TechnicLargeLinearMotor.html +242 -0
  465. package/docs/classes/TechnicMediumAngularMotor.html +242 -0
  466. package/docs/classes/TechnicMediumHub.html +233 -0
  467. package/docs/classes/TechnicMediumHubAccelerometerSensor.html +185 -0
  468. package/docs/classes/TechnicMediumHubGyroSensor.html +185 -0
  469. package/docs/classes/TechnicMediumHubTiltSensor.html +197 -0
  470. package/docs/classes/TechnicSmallAngularMotor.html +242 -0
  471. package/docs/classes/TechnicXLargeLinearMotor.html +242 -0
  472. package/docs/classes/TiltSensor.html +185 -0
  473. package/docs/classes/TrainMotor.html +201 -0
  474. package/docs/classes/VoltageSensor.html +185 -0
  475. package/docs/classes/WeDo2SmartHub.html +229 -0
  476. package/docs/enums/ActionType.html +22 -0
  477. package/docs/enums/AlertOperation.html +10 -0
  478. package/docs/enums/AlertPayload.html +6 -0
  479. package/docs/enums/AlertType.html +10 -0
  480. package/docs/enums/BLECharacteristic.html +15 -0
  481. package/docs/enums/BLEManufacturerData.html +8 -0
  482. package/docs/enums/BLEService.html +7 -0
  483. package/docs/enums/BrakingStyle.html +7 -0
  484. package/docs/enums/ButtonState.html +11 -0
  485. package/docs/enums/Consts.Color.html +25 -0
  486. package/docs/enums/DeviceType.html +79 -0
  487. package/docs/enums/DuploTrainBaseSound.html +11 -0
  488. package/docs/enums/ErrorCode.html +18 -0
  489. package/docs/enums/Event.html +8 -0
  490. package/docs/enums/HWNetWorkCommandType.html +28 -0
  491. package/docs/enums/HWNetworkFamily.html +20 -0
  492. package/docs/enums/HWNetworkSubFamily.html +16 -0
  493. package/docs/enums/HubPropertyOperation.html +14 -0
  494. package/docs/enums/HubPropertyPayload.html +32 -0
  495. package/docs/enums/HubPropertyReference.html +32 -0
  496. package/docs/enums/HubType.html +19 -0
  497. package/docs/enums/IOTypeID.html +30 -0
  498. package/docs/enums/MarioColor.html +17 -0
  499. package/docs/enums/MarioPantsType.html +13 -0
  500. package/docs/enums/MessageType.html +48 -0
  501. package/docs/enums/ModeInformationType.html +22 -0
  502. package/docs/enums/PortInputFormatSetupSubCommand.html +14 -0
  503. package/docs/hierarchy.html +1 -0
  504. package/docs/index.html +18 -167
  505. package/docs/modules/Consts.html +1 -0
  506. package/docs/modules.html +1 -0
  507. package/docs/variables/ColorNames.html +1 -0
  508. package/docs/variables/DeviceTypeNames.html +1 -0
  509. package/docs/variables/HubTypeNames.html +1 -0
  510. package/docs/variables/isWebBluetooth.html +1 -0
  511. package/package.json +19 -25
  512. package/src/color.ts +1 -1
  513. package/src/consts.ts +16 -16
  514. package/src/devices/absolutemotor.ts +4 -7
  515. package/src/devices/basicmotor.ts +4 -8
  516. package/src/devices/colordistancesensor.ts +8 -14
  517. package/src/devices/currentsensor.ts +3 -3
  518. package/src/devices/device.ts +4 -4
  519. package/src/devices/duplotrainbasecolorsensor.ts +4 -4
  520. package/src/devices/duplotrainbasemotor.ts +3 -3
  521. package/src/devices/duplotrainbasespeaker.ts +3 -5
  522. package/src/devices/duplotrainbasespeedometer.ts +3 -3
  523. package/src/devices/hubled.ts +3 -5
  524. package/src/devices/light.ts +4 -6
  525. package/src/devices/marioaccelerometer.ts +3 -3
  526. package/src/devices/mariobarcodesensor.ts +3 -3
  527. package/src/devices/mariopantssensor.ts +3 -3
  528. package/src/devices/mediumlinearmotor.ts +3 -3
  529. package/src/devices/motionsensor.ts +3 -3
  530. package/src/devices/movehubmediumlinearmotor.ts +3 -3
  531. package/src/devices/movehubtiltsensor.ts +3 -3
  532. package/src/devices/piezobuzzer.ts +3 -4
  533. package/src/devices/remotecontrolbutton.ts +4 -4
  534. package/src/devices/simplemediumlinearmotor.ts +3 -3
  535. package/src/devices/tachomotor.ts +5 -11
  536. package/src/devices/technic3x3colorlightmatrix.ts +4 -5
  537. package/src/devices/techniccolorsensor.ts +4 -5
  538. package/src/devices/technicdistancesensor.ts +3 -4
  539. package/src/devices/technicforcesensor.ts +3 -3
  540. package/src/devices/techniclargeangularmotor.ts +3 -3
  541. package/src/devices/techniclargelinearmotor.ts +3 -3
  542. package/src/devices/technicmediumangularmotor.ts +3 -3
  543. package/src/devices/technicmediumhubaccelerometersensor.ts +3 -3
  544. package/src/devices/technicmediumhubgyrosensor.ts +3 -3
  545. package/src/devices/technicmediumhubtiltsensor.ts +7 -10
  546. package/src/devices/technicsmallangularmotor.ts +3 -3
  547. package/src/devices/technicxlargelinearmotor.ts +3 -3
  548. package/src/devices/tiltsensor.ts +3 -3
  549. package/src/devices/trainmotor.ts +3 -3
  550. package/src/devices/voltagesensor.ts +3 -3
  551. package/src/hubs/basehub.ts +42 -51
  552. package/src/hubs/duplotrainbase.ts +5 -5
  553. package/src/hubs/hub.ts +7 -7
  554. package/src/hubs/lpf2hub.ts +4 -7
  555. package/src/hubs/mario.ts +5 -5
  556. package/src/hubs/movehub.ts +7 -7
  557. package/src/hubs/remotecontrol.ts +5 -5
  558. package/src/hubs/technicmediumhub.ts +5 -5
  559. package/src/hubs/technicsmallhub.ts +5 -5
  560. package/src/hubs/wedo2smarthub.ts +7 -9
  561. package/src/index-browser.ts +46 -46
  562. package/src/index-node.ts +47 -46
  563. package/src/interfaces.ts +2 -2
  564. package/src/nobleabstraction.ts +10 -10
  565. package/src/poweredup-browser.ts +20 -21
  566. package/src/poweredup-node.ts +15 -22
  567. package/src/utils.ts +1 -1
  568. package/src/webbleabstraction.ts +5 -5
  569. package/tsconfig.tsbuildinfo +1 -0
  570. package/typedoc.json +14 -0
  571. package/.jsdoc.json +0 -41
  572. package/abandonware-noble.d.ts +0 -129
  573. package/dist/browser/poweredup.js +0 -3
  574. package/dist/browser/poweredup.js.LICENSE.txt +0 -8
  575. package/dist/browser/poweredup.js.map +0 -1
  576. package/docs/AbsoluteMotor.html +0 -2037
  577. package/docs/BaseHub.html +0 -1576
  578. package/docs/BasicMotor.html +0 -1561
  579. package/docs/ColorDistanceSensor.html +0 -3136
  580. package/docs/CurrentSensor.html +0 -1175
  581. package/docs/Device.html +0 -971
  582. package/docs/DuploTrainBase.html +0 -2313
  583. package/docs/DuploTrainBaseColorSensor.html +0 -1671
  584. package/docs/DuploTrainBaseMotor.html +0 -1597
  585. package/docs/DuploTrainBaseSpeaker.html +0 -1321
  586. package/docs/DuploTraniBaseSpeedometer.html +0 -1025
  587. package/docs/Hub.html +0 -7596
  588. package/docs/HubLED.html +0 -1379
  589. package/docs/LPF2Hub.html +0 -2271
  590. package/docs/Light.html +0 -1379
  591. package/docs/Mario.html +0 -2313
  592. package/docs/MarioAccelerometer.html +0 -1379
  593. package/docs/MarioBarcodeSensor.html +0 -1379
  594. package/docs/MarioPantsSensor.html +0 -1175
  595. package/docs/MediumLinearMotor.html +0 -1426
  596. package/docs/MotionSensor.html +0 -1175
  597. package/docs/MoveHub.html +0 -2313
  598. package/docs/MoveHubMediumLinearMotor.html +0 -1426
  599. package/docs/MoveHubTiltSensor.html +0 -1204
  600. package/docs/PiezoBuzzer.html +0 -1204
  601. package/docs/PoweredUP.html +0 -4322
  602. package/docs/RemoteControl.html +0 -2313
  603. package/docs/RemoteControlButton.html +0 -1175
  604. package/docs/SimpleMediumLinearMotor.html +0 -1025
  605. package/docs/TachoMotor.html +0 -2715
  606. package/docs/Technic3x3ColorLightMatrix.html +0 -1181
  607. package/docs/TechnicColorSensor.html +0 -1675
  608. package/docs/TechnicDistanceSensor.html +0 -1558
  609. package/docs/TechnicForceSensor.html +0 -1467
  610. package/docs/TechnicLargeAngularMotor.html +0 -2073
  611. package/docs/TechnicLargeLinearMotor.html +0 -2073
  612. package/docs/TechnicMediumAngularMotor.html +0 -2073
  613. package/docs/TechnicMediumHub.html +0 -2313
  614. package/docs/TechnicMediumHubAccelerometerSensor.html +0 -1233
  615. package/docs/TechnicMediumHubGyroSensor.html +0 -1233
  616. package/docs/TechnicMediumHubTiltSensor.html +0 -1821
  617. package/docs/TechnicSmallAngularMotor.html +0 -2073
  618. package/docs/TechnicXLargeLinearMotor.html +0 -2073
  619. package/docs/TiltSensor.html +0 -1204
  620. package/docs/TrainMotor.html +0 -1597
  621. package/docs/VoltageSensor.html +0 -1175
  622. package/docs/WeDo2SmartHub.html +0 -2099
  623. package/docs/consts.js.html +0 -791
  624. package/docs/devices_absolutemotor.js.html +0 -254
  625. package/docs/devices_basicmotor.js.html +0 -197
  626. package/docs/devices_colordistancesensor.js.html +0 -420
  627. package/docs/devices_currentsensor.js.html +0 -191
  628. package/docs/devices_device.js.html +0 -298
  629. package/docs/devices_duplotrainbasecolorsensor.js.html +0 -213
  630. package/docs/devices_duplotrainbasemotor.js.html +0 -148
  631. package/docs/devices_duplotrainbasespeaker.js.html +0 -176
  632. package/docs/devices_duplotrainbasespeedometer.js.html +0 -170
  633. package/docs/devices_hubled.js.html +0 -196
  634. package/docs/devices_light.js.html +0 -182
  635. package/docs/devices_marioaccelerometer.js.html +0 -186
  636. package/docs/devices_mariobarcodesensor.js.html +0 -194
  637. package/docs/devices_mariopantssensor.js.html +0 -170
  638. package/docs/devices_mediumlinearmotor.js.html +0 -148
  639. package/docs/devices_motionsensor.js.html +0 -174
  640. package/docs/devices_movehubmediumlinearmotor.js.html +0 -148
  641. package/docs/devices_movehubtiltsensor.js.html +0 -172
  642. package/docs/devices_piezobuzzer.js.html +0 -164
  643. package/docs/devices_remotecontrolbutton.js.html +0 -176
  644. package/docs/devices_simplemediumlinearmotor.js.html +0 -148
  645. package/docs/devices_tachomotor.js.html +0 -303
  646. package/docs/devices_technic3x3colorlightmatrix.js.html +0 -190
  647. package/docs/devices_techniccolorsensor.js.html +0 -208
  648. package/docs/devices_technicdistancesensor.js.html +0 -194
  649. package/docs/devices_technicforcesensor.js.html +0 -194
  650. package/docs/devices_techniclargeangularmotor.js.html +0 -148
  651. package/docs/devices_techniclargelinearmotor.js.html +0 -148
  652. package/docs/devices_technicmediumangularmotor.js.html +0 -148
  653. package/docs/devices_technicmediumhubaccelerometersensor.js.html +0 -174
  654. package/docs/devices_technicmediumhubgyrosensor.js.html +0 -174
  655. package/docs/devices_technicmediumhubtiltsensor.js.html +0 -242
  656. package/docs/devices_technicsmallangularmotor.js.html +0 -148
  657. package/docs/devices_technicxlargelinearmotor.js.html +0 -148
  658. package/docs/devices_tiltsensor.js.html +0 -172
  659. package/docs/devices_trainmotor.js.html +0 -148
  660. package/docs/devices_voltagesensor.js.html +0 -195
  661. package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
  662. package/docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
  663. package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
  664. package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  665. package/docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  666. package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  667. package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
  668. package/docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
  669. package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
  670. package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
  671. package/docs/fonts/OpenSans-Light-webfont.svg +0 -1831
  672. package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
  673. package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  674. package/docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  675. package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  676. package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
  677. package/docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
  678. package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
  679. package/docs/fonts/OpenSans-Semibold-webfont.eot +0 -0
  680. package/docs/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  681. package/docs/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  682. package/docs/fonts/OpenSans-Semibold-webfont.woff +0 -0
  683. package/docs/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  684. package/docs/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  685. package/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  686. package/docs/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  687. package/docs/global.html +0 -9829
  688. package/docs/hubs_basehub.js.html +0 -528
  689. package/docs/hubs_duplotrainbase.js.html +0 -171
  690. package/docs/hubs_hub.js.html +0 -183
  691. package/docs/hubs_lpf2hub.js.html +0 -450
  692. package/docs/hubs_mario.js.html +0 -167
  693. package/docs/hubs_movehub.js.html +0 -185
  694. package/docs/hubs_remotecontrol.js.html +0 -173
  695. package/docs/hubs_technicmediumhub.js.html +0 -178
  696. package/docs/hubs_technicsmallhub.js.html +0 -177
  697. package/docs/hubs_wedo2smarthub.js.html +0 -324
  698. package/docs/icons/home.svg +0 -4
  699. package/docs/icons/search.svg +0 -4
  700. package/docs/poweredup-browser.js.html +0 -348
  701. package/docs/poweredup-node.js.html +0 -309
  702. package/docs/scripts/linenumber.js +0 -23
  703. package/docs/scripts/pagelocation.js +0 -89
  704. package/docs/styles/collapse.css +0 -27
  705. package/docs/styles/jsdoc-default.css +0 -953
  706. package/docs/styles/prettify-jsdoc.css +0 -111
  707. package/docs/styles/prettify-tomorrow.css +0 -138
  708. package/jsdoc-template/braintree/CHANGELOG.md +0 -31
  709. package/jsdoc-template/braintree/LICENSE +0 -27
  710. package/jsdoc-template/braintree/README.md +0 -90
  711. package/jsdoc-template/braintree/package.json +0 -39
  712. package/jsdoc-template/braintree/publish.js +0 -675
  713. package/jsdoc-template/braintree/static/fonts/OpenSans-Bold-webfont.eot +0 -0
  714. package/jsdoc-template/braintree/static/fonts/OpenSans-Bold-webfont.svg +0 -1830
  715. package/jsdoc-template/braintree/static/fonts/OpenSans-Bold-webfont.woff +0 -0
  716. package/jsdoc-template/braintree/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  717. package/jsdoc-template/braintree/static/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  718. package/jsdoc-template/braintree/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  719. package/jsdoc-template/braintree/static/fonts/OpenSans-Italic-webfont.eot +0 -0
  720. package/jsdoc-template/braintree/static/fonts/OpenSans-Italic-webfont.svg +0 -1830
  721. package/jsdoc-template/braintree/static/fonts/OpenSans-Italic-webfont.woff +0 -0
  722. package/jsdoc-template/braintree/static/fonts/OpenSans-Light-webfont.eot +0 -0
  723. package/jsdoc-template/braintree/static/fonts/OpenSans-Light-webfont.svg +0 -1831
  724. package/jsdoc-template/braintree/static/fonts/OpenSans-Light-webfont.woff +0 -0
  725. package/jsdoc-template/braintree/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  726. package/jsdoc-template/braintree/static/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  727. package/jsdoc-template/braintree/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  728. package/jsdoc-template/braintree/static/fonts/OpenSans-Regular-webfont.eot +0 -0
  729. package/jsdoc-template/braintree/static/fonts/OpenSans-Regular-webfont.svg +0 -1831
  730. package/jsdoc-template/braintree/static/fonts/OpenSans-Regular-webfont.woff +0 -0
  731. package/jsdoc-template/braintree/static/fonts/OpenSans-Semibold-webfont.eot +0 -0
  732. package/jsdoc-template/braintree/static/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  733. package/jsdoc-template/braintree/static/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  734. package/jsdoc-template/braintree/static/fonts/OpenSans-Semibold-webfont.woff +0 -0
  735. package/jsdoc-template/braintree/static/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  736. package/jsdoc-template/braintree/static/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  737. package/jsdoc-template/braintree/static/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  738. package/jsdoc-template/braintree/static/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  739. package/jsdoc-template/braintree/static/icons/home.svg +0 -4
  740. package/jsdoc-template/braintree/static/icons/search.svg +0 -4
  741. package/jsdoc-template/braintree/static/scripts/linenumber.js +0 -23
  742. package/jsdoc-template/braintree/static/scripts/pagelocation.js +0 -89
  743. package/jsdoc-template/braintree/static/styles/collapse.css +0 -27
  744. package/jsdoc-template/braintree/static/styles/jsdoc-default.css +0 -953
  745. package/jsdoc-template/braintree/static/styles/prettify-jsdoc.css +0 -111
  746. package/jsdoc-template/braintree/static/styles/prettify-tomorrow.css +0 -138
  747. package/jsdoc-template/braintree/tmpl/augments.tmpl +0 -10
  748. package/jsdoc-template/braintree/tmpl/container.tmpl +0 -213
  749. package/jsdoc-template/braintree/tmpl/details.tmpl +0 -223
  750. package/jsdoc-template/braintree/tmpl/example.tmpl +0 -2
  751. package/jsdoc-template/braintree/tmpl/examples.tmpl +0 -14
  752. package/jsdoc-template/braintree/tmpl/exceptions.tmpl +0 -28
  753. package/jsdoc-template/braintree/tmpl/layout.tmpl +0 -150
  754. package/jsdoc-template/braintree/tmpl/mainpage.tmpl +0 -9
  755. package/jsdoc-template/braintree/tmpl/members.tmpl +0 -38
  756. package/jsdoc-template/braintree/tmpl/method.tmpl +0 -128
  757. package/jsdoc-template/braintree/tmpl/params.tmpl +0 -125
  758. package/jsdoc-template/braintree/tmpl/properties.tmpl +0 -111
  759. package/jsdoc-template/braintree/tmpl/returns.tmpl +0 -17
  760. package/jsdoc-template/braintree/tmpl/source.tmpl +0 -9
  761. package/jsdoc-template/braintree/tmpl/tutorial.tmpl +0 -23
  762. package/jsdoc-template/braintree/tmpl/type.tmpl +0 -11
  763. package/noble-mac.d.ts +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * PoweredUp Connection
3
+ * BLE connection abstraction layer
4
+ */
5
+ import { EventEmitter } from "events";
6
+ import * as Protocol from "./protocol";
7
+ import { HubState, HubType } from "./types";
8
+ /**
9
+ * BLE peripheral abstraction (to be implemented by Noble/Web Bluetooth adapters)
10
+ */
11
+ export interface BLEPeripheral {
12
+ id: string;
13
+ uuid: string;
14
+ name: string;
15
+ rssi: number;
16
+ manufacturerData?: Buffer;
17
+ connect(): Promise<void>;
18
+ disconnect(): Promise<void>;
19
+ discoverServices(serviceUUIDs?: string[]): Promise<BLEService[]>;
20
+ }
21
+ /**
22
+ * BLE service abstraction
23
+ */
24
+ export interface BLEService {
25
+ uuid: string;
26
+ discoverCharacteristics(characteristicUUIDs?: string[]): Promise<BLECharacteristic[]>;
27
+ }
28
+ /**
29
+ * BLE characteristic abstraction
30
+ */
31
+ export interface BLECharacteristic {
32
+ uuid: string;
33
+ subscribe(callback: (data: Buffer) => void): Promise<void>;
34
+ unsubscribe(): Promise<void>;
35
+ write(data: Buffer, withoutResponse?: boolean): Promise<void>;
36
+ read(): Promise<Buffer>;
37
+ }
38
+ /**
39
+ * Connection event map
40
+ */
41
+ export interface ConnectionEventMap {
42
+ message: (message: Protocol.DecodedMessage) => void;
43
+ rawMessage: (data: Buffer) => void;
44
+ disconnect: () => void;
45
+ error: (error: Error) => void;
46
+ }
47
+ /**
48
+ * Connection class for LWP3 (LEGO Wireless Protocol 3.0) hubs
49
+ */
50
+ export declare class LWP3Connection extends EventEmitter {
51
+ private peripheral;
52
+ private characteristic;
53
+ private messageBuffer;
54
+ private _state;
55
+ constructor(peripheral: BLEPeripheral);
56
+ private handleNotificationBound;
57
+ /**
58
+ * Current connection state
59
+ */
60
+ get state(): HubState;
61
+ /**
62
+ * Peripheral UUID
63
+ */
64
+ get uuid(): string;
65
+ /**
66
+ * Peripheral name
67
+ */
68
+ get name(): string;
69
+ /**
70
+ * Open connection to the hub
71
+ */
72
+ open(): Promise<void>;
73
+ /**
74
+ * Close connection
75
+ */
76
+ close(): Promise<void>;
77
+ /**
78
+ * Send a raw message to the hub
79
+ */
80
+ send(message: Buffer): Promise<void>;
81
+ /**
82
+ * Handle incoming BLE notification
83
+ */
84
+ private handleNotification;
85
+ /**
86
+ * Process accumulated message buffer
87
+ */
88
+ private processMessageBuffer;
89
+ }
90
+ import * as WeDo2Protocol from "./protocol-wedo";
91
+ /**
92
+ * WeDo 2.0 connection event map
93
+ */
94
+ export interface WeDo2ConnectionEventMap {
95
+ port: (message: WeDo2Protocol.WeDo2PortMessage) => void;
96
+ sensor: (message: WeDo2Protocol.WeDo2SensorMessage) => void;
97
+ button: (message: WeDo2Protocol.WeDo2ButtonMessage) => void;
98
+ battery: (message: WeDo2Protocol.WeDo2BatteryMessage) => void;
99
+ alert: (message: WeDo2Protocol.WeDo2AlertMessage) => void;
100
+ disconnect: () => void;
101
+ error: (error: Error) => void;
102
+ }
103
+ /**
104
+ * Connection class for WeDo 2.0 Smart Hub
105
+ */
106
+ export declare class WeDo2Connection extends EventEmitter {
107
+ private peripheral;
108
+ private characteristics;
109
+ private _state;
110
+ constructor(peripheral: BLEPeripheral);
111
+ /**
112
+ * Current connection state
113
+ */
114
+ get state(): HubState;
115
+ /**
116
+ * Peripheral UUID
117
+ */
118
+ get uuid(): string;
119
+ /**
120
+ * Peripheral name
121
+ */
122
+ get name(): string;
123
+ /**
124
+ * Open connection to the hub
125
+ */
126
+ open(): Promise<void>;
127
+ /**
128
+ * Subscribe to all relevant notifications
129
+ */
130
+ private subscribeToNotifications;
131
+ /**
132
+ * Close connection
133
+ */
134
+ close(): Promise<void>;
135
+ /**
136
+ * Send data to a characteristic
137
+ */
138
+ send(characteristicUUID: string, data: Buffer): Promise<void>;
139
+ /**
140
+ * Read from a characteristic
141
+ */
142
+ read(characteristicUUID: string): Promise<Buffer>;
143
+ /**
144
+ * Send motor command
145
+ */
146
+ sendMotorCommand(portId: number, power: number): Promise<void>;
147
+ /**
148
+ * Send LED color command
149
+ */
150
+ sendLEDColor(color: number): Promise<void>;
151
+ /**
152
+ * Send LED RGB command
153
+ */
154
+ sendLEDRGB(red: number, green: number, blue: number): Promise<void>;
155
+ /**
156
+ * Send sensor subscription
157
+ */
158
+ subscribe(portId: number, deviceType: number, mode: number): Promise<void>;
159
+ /**
160
+ * Send sensor unsubscription
161
+ */
162
+ unsubscribe(portId: number, deviceType: number, mode: number): Promise<void>;
163
+ /**
164
+ * Send disconnect command
165
+ */
166
+ sendDisconnect(): Promise<void>;
167
+ /**
168
+ * Get battery level
169
+ */
170
+ getBatteryLevel(): Promise<number>;
171
+ /**
172
+ * Get firmware version
173
+ */
174
+ getFirmwareVersion(): Promise<string>;
175
+ }
176
+ /**
177
+ * Detect hub type from manufacturer data
178
+ */
179
+ export declare function detectHubType(manufacturerData?: Buffer): HubType;
180
+ /**
181
+ * Check if peripheral is a WeDo 2.0 Smart Hub
182
+ */
183
+ export declare function isWeDo2SmartHub(serviceUUIDs?: string[]): boolean;
184
+ /**
185
+ * Check if peripheral is an LWP3 hub
186
+ */
187
+ export declare function isLWP3Hub(serviceUUIDs?: string[]): boolean;
@@ -0,0 +1,478 @@
1
+ "use strict";
2
+ /**
3
+ * PoweredUp Connection
4
+ * BLE connection abstraction layer
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.WeDo2Connection = exports.LWP3Connection = void 0;
41
+ exports.detectHubType = detectHubType;
42
+ exports.isWeDo2SmartHub = isWeDo2SmartHub;
43
+ exports.isLWP3Hub = isLWP3Hub;
44
+ const events_1 = require("events");
45
+ const Protocol = __importStar(require("./protocol"));
46
+ const types_1 = require("./types");
47
+ const Debug = require("debug");
48
+ const debug = Debug("poweredup:connection");
49
+ // ============================================================================
50
+ // LWP3 Connection Class
51
+ // ============================================================================
52
+ /**
53
+ * Connection class for LWP3 (LEGO Wireless Protocol 3.0) hubs
54
+ */
55
+ class LWP3Connection extends events_1.EventEmitter {
56
+ constructor(peripheral) {
57
+ super();
58
+ this.characteristic = null;
59
+ this.messageBuffer = Buffer.alloc(0);
60
+ this._state = types_1.HubState.NOT_CONNECTED;
61
+ this.peripheral = peripheral;
62
+ this.handleNotificationBound = this.handleNotification.bind(this);
63
+ }
64
+ /**
65
+ * Current connection state
66
+ */
67
+ get state() {
68
+ return this._state;
69
+ }
70
+ /**
71
+ * Peripheral UUID
72
+ */
73
+ get uuid() {
74
+ return this.peripheral.uuid;
75
+ }
76
+ /**
77
+ * Peripheral name
78
+ */
79
+ get name() {
80
+ return this.peripheral.name;
81
+ }
82
+ /**
83
+ * Open connection to the hub
84
+ */
85
+ async open() {
86
+ if (this._state !== types_1.HubState.NOT_CONNECTED) {
87
+ throw new Error("Connection already open or opening");
88
+ }
89
+ this._state = types_1.HubState.CONNECTING;
90
+ debug("Connecting to hub:", this.peripheral.name);
91
+ try {
92
+ await this.peripheral.connect();
93
+ // Discover LWP3 service
94
+ const services = await this.peripheral.discoverServices([Protocol.BLE_SERVICE_UUID]);
95
+ if (services.length === 0) {
96
+ throw new Error("LWP3 service not found");
97
+ }
98
+ // Discover characteristic
99
+ const characteristics = await services[0].discoverCharacteristics([Protocol.BLE_CHARACTERISTIC_UUID]);
100
+ if (characteristics.length === 0) {
101
+ throw new Error("LWP3 characteristic not found");
102
+ }
103
+ this.characteristic = characteristics[0];
104
+ // Subscribe to notifications
105
+ await this.characteristic.subscribe(this.handleNotificationBound);
106
+ this._state = types_1.HubState.CONNECTED;
107
+ debug("Connected to hub:", this.peripheral.name);
108
+ }
109
+ catch (error) {
110
+ this._state = types_1.HubState.NOT_CONNECTED;
111
+ throw error;
112
+ }
113
+ }
114
+ /**
115
+ * Close connection
116
+ */
117
+ async close() {
118
+ if (this._state === types_1.HubState.NOT_CONNECTED) {
119
+ return;
120
+ }
121
+ this._state = types_1.HubState.DISCONNECTING;
122
+ debug("Disconnecting from hub:", this.peripheral.name);
123
+ try {
124
+ if (this.characteristic) {
125
+ await this.characteristic.unsubscribe();
126
+ }
127
+ await this.peripheral.disconnect();
128
+ }
129
+ finally {
130
+ this._state = types_1.HubState.NOT_CONNECTED;
131
+ this.messageBuffer = Buffer.alloc(0);
132
+ this.emit("disconnect");
133
+ debug("Disconnected from hub:", this.peripheral.name);
134
+ }
135
+ }
136
+ /**
137
+ * Send a raw message to the hub
138
+ */
139
+ async send(message) {
140
+ if (this._state !== types_1.HubState.CONNECTED || !this.characteristic) {
141
+ throw new Error("Not connected");
142
+ }
143
+ debug("Sending message:", message.toString("hex"));
144
+ await this.characteristic.write(message, true);
145
+ }
146
+ /**
147
+ * Handle incoming BLE notification
148
+ */
149
+ handleNotification(data) {
150
+ debug("Received raw data:", data.toString("hex"));
151
+ this.emit("rawMessage", data);
152
+ // Accumulate data in buffer
153
+ this.messageBuffer = Buffer.concat([this.messageBuffer, data]);
154
+ // Process complete messages
155
+ this.processMessageBuffer();
156
+ }
157
+ /**
158
+ * Process accumulated message buffer
159
+ */
160
+ processMessageBuffer() {
161
+ while (this.messageBuffer.length > 0) {
162
+ const { length, headerSize } = Protocol.decodeMessageLength(this.messageBuffer);
163
+ if (length === 0 || this.messageBuffer.length < length) {
164
+ // Not enough data yet
165
+ break;
166
+ }
167
+ // Extract complete message
168
+ const messageData = this.messageBuffer.subarray(0, length);
169
+ this.messageBuffer = this.messageBuffer.subarray(length);
170
+ debug("Processing message:", messageData.toString("hex"));
171
+ // Decode and emit
172
+ const decoded = Protocol.decodeMessage(messageData);
173
+ if (decoded) {
174
+ this.emit("message", decoded);
175
+ }
176
+ }
177
+ }
178
+ }
179
+ exports.LWP3Connection = LWP3Connection;
180
+ // ============================================================================
181
+ // WeDo 2.0 Connection Class
182
+ // ============================================================================
183
+ const WeDo2Protocol = __importStar(require("./protocol-wedo"));
184
+ /**
185
+ * Connection class for WeDo 2.0 Smart Hub
186
+ */
187
+ class WeDo2Connection extends events_1.EventEmitter {
188
+ constructor(peripheral) {
189
+ super();
190
+ this.characteristics = new Map();
191
+ this._state = types_1.HubState.NOT_CONNECTED;
192
+ this.peripheral = peripheral;
193
+ }
194
+ /**
195
+ * Current connection state
196
+ */
197
+ get state() {
198
+ return this._state;
199
+ }
200
+ /**
201
+ * Peripheral UUID
202
+ */
203
+ get uuid() {
204
+ return this.peripheral.uuid;
205
+ }
206
+ /**
207
+ * Peripheral name
208
+ */
209
+ get name() {
210
+ return this.peripheral.name;
211
+ }
212
+ /**
213
+ * Open connection to the hub
214
+ */
215
+ async open() {
216
+ if (this._state !== types_1.HubState.NOT_CONNECTED) {
217
+ throw new Error("Connection already open or opening");
218
+ }
219
+ this._state = types_1.HubState.CONNECTING;
220
+ debug("Connecting to WeDo 2.0 hub:", this.peripheral.name);
221
+ try {
222
+ await this.peripheral.connect();
223
+ // Discover all WeDo 2.0 services
224
+ const serviceUUIDs = [
225
+ WeDo2Protocol.WEDO2_SERVICE_UUID,
226
+ WeDo2Protocol.WEDO2_SERVICE_UUID_2,
227
+ WeDo2Protocol.WEDO2_BATTERY_SERVICE_UUID,
228
+ WeDo2Protocol.WEDO2_DEVICE_INFO_SERVICE_UUID,
229
+ ];
230
+ const services = await this.peripheral.discoverServices(serviceUUIDs);
231
+ // Discover and store characteristics
232
+ for (const service of services) {
233
+ const chars = await service.discoverCharacteristics();
234
+ for (const char of chars) {
235
+ this.characteristics.set(char.uuid.toLowerCase(), char);
236
+ }
237
+ }
238
+ // Subscribe to notifications
239
+ await this.subscribeToNotifications();
240
+ this._state = types_1.HubState.CONNECTED;
241
+ debug("Connected to WeDo 2.0 hub:", this.peripheral.name);
242
+ }
243
+ catch (error) {
244
+ this._state = types_1.HubState.NOT_CONNECTED;
245
+ throw error;
246
+ }
247
+ }
248
+ /**
249
+ * Subscribe to all relevant notifications
250
+ */
251
+ async subscribeToNotifications() {
252
+ // Port type changes
253
+ const portTypeChar = this.characteristics.get(WeDo2Protocol.WEDO2_CHARACTERISTICS.PORT_TYPE.toLowerCase());
254
+ debug("PORT_TYPE char lookup:", WeDo2Protocol.WEDO2_CHARACTERISTICS.PORT_TYPE.toLowerCase(), "found:", !!portTypeChar);
255
+ if (portTypeChar) {
256
+ await portTypeChar.subscribe((data) => {
257
+ debug("PORT_TYPE notification:", data.toString("hex"));
258
+ const message = WeDo2Protocol.decodeWeDo2PortMessage(data);
259
+ debug("Decoded port message:", message);
260
+ if (message) {
261
+ this.emit("port", message);
262
+ }
263
+ });
264
+ }
265
+ // Sensor values
266
+ const sensorChar = this.characteristics.get(WeDo2Protocol.WEDO2_CHARACTERISTICS.SENSOR_VALUE.toLowerCase());
267
+ if (sensorChar) {
268
+ await sensorChar.subscribe((data) => {
269
+ const message = WeDo2Protocol.decodeWeDo2SensorMessage(data);
270
+ if (message) {
271
+ this.emit("sensor", message);
272
+ }
273
+ });
274
+ }
275
+ // Button
276
+ const buttonChar = this.characteristics.get(WeDo2Protocol.WEDO2_CHARACTERISTICS.BUTTON.toLowerCase());
277
+ if (buttonChar) {
278
+ await buttonChar.subscribe((data) => {
279
+ const message = WeDo2Protocol.decodeWeDo2ButtonMessage(data);
280
+ if (message) {
281
+ this.emit("button", message);
282
+ }
283
+ });
284
+ }
285
+ // Battery
286
+ const batteryChar = this.characteristics.get(WeDo2Protocol.WEDO2_CHARACTERISTICS.BATTERY.toLowerCase());
287
+ if (batteryChar) {
288
+ await batteryChar.subscribe((data) => {
289
+ const message = WeDo2Protocol.decodeWeDo2BatteryMessage(data);
290
+ if (message) {
291
+ this.emit("battery", message);
292
+ }
293
+ });
294
+ }
295
+ // Alerts
296
+ const lowVoltageChar = this.characteristics.get(WeDo2Protocol.WEDO2_CHARACTERISTICS.LOW_VOLTAGE_ALERT.toLowerCase());
297
+ if (lowVoltageChar) {
298
+ await lowVoltageChar.subscribe(() => {
299
+ this.emit("alert", { kind: "alert", alertType: "lowVoltage" });
300
+ });
301
+ }
302
+ const highCurrentChar = this.characteristics.get(WeDo2Protocol.WEDO2_CHARACTERISTICS.HIGH_CURRENT_ALERT.toLowerCase());
303
+ if (highCurrentChar) {
304
+ await highCurrentChar.subscribe(() => {
305
+ this.emit("alert", { kind: "alert", alertType: "highCurrent" });
306
+ });
307
+ }
308
+ }
309
+ /**
310
+ * Close connection
311
+ */
312
+ async close() {
313
+ if (this._state === types_1.HubState.NOT_CONNECTED) {
314
+ return;
315
+ }
316
+ this._state = types_1.HubState.DISCONNECTING;
317
+ debug("Disconnecting from WeDo 2.0 hub:", this.peripheral.name);
318
+ try {
319
+ // Unsubscribe from all characteristics
320
+ for (const char of this.characteristics.values()) {
321
+ try {
322
+ await char.unsubscribe();
323
+ }
324
+ catch (_a) {
325
+ // Ignore unsubscribe errors
326
+ }
327
+ }
328
+ await this.peripheral.disconnect();
329
+ }
330
+ finally {
331
+ this._state = types_1.HubState.NOT_CONNECTED;
332
+ this.characteristics.clear();
333
+ this.emit("disconnect");
334
+ debug("Disconnected from WeDo 2.0 hub:", this.peripheral.name);
335
+ }
336
+ }
337
+ /**
338
+ * Send data to a characteristic
339
+ */
340
+ async send(characteristicUUID, data) {
341
+ if (this._state !== types_1.HubState.CONNECTED) {
342
+ throw new Error("Not connected");
343
+ }
344
+ const char = this.characteristics.get(characteristicUUID.toLowerCase());
345
+ if (!char) {
346
+ throw new Error(`Characteristic ${characteristicUUID} not found`);
347
+ }
348
+ debug("Sending to", characteristicUUID, ":", data.toString("hex"));
349
+ await char.write(data, true);
350
+ }
351
+ /**
352
+ * Read from a characteristic
353
+ */
354
+ async read(characteristicUUID) {
355
+ if (this._state !== types_1.HubState.CONNECTED) {
356
+ throw new Error("Not connected");
357
+ }
358
+ const char = this.characteristics.get(characteristicUUID.toLowerCase());
359
+ if (!char) {
360
+ throw new Error(`Characteristic ${characteristicUUID} not found`);
361
+ }
362
+ return char.read();
363
+ }
364
+ /**
365
+ * Send motor command
366
+ */
367
+ async sendMotorCommand(portId, power) {
368
+ const data = WeDo2Protocol.createWeDo2MotorPower(portId, power);
369
+ await this.send(WeDo2Protocol.WEDO2_CHARACTERISTICS.MOTOR_VALUE_WRITE, data);
370
+ }
371
+ /**
372
+ * Send LED color command
373
+ */
374
+ async sendLEDColor(color) {
375
+ const data = WeDo2Protocol.createWeDo2LEDColor(6, color);
376
+ await this.send(WeDo2Protocol.WEDO2_CHARACTERISTICS.MOTOR_VALUE_WRITE, data);
377
+ }
378
+ /**
379
+ * Send LED RGB command
380
+ */
381
+ async sendLEDRGB(red, green, blue) {
382
+ const data = WeDo2Protocol.createWeDo2LEDRGB(6, red, green, blue);
383
+ await this.send(WeDo2Protocol.WEDO2_CHARACTERISTICS.MOTOR_VALUE_WRITE, data);
384
+ }
385
+ /**
386
+ * Send sensor subscription
387
+ */
388
+ async subscribe(portId, deviceType, mode) {
389
+ const data = WeDo2Protocol.createWeDo2Subscribe(portId, deviceType, mode, true);
390
+ await this.send(WeDo2Protocol.WEDO2_CHARACTERISTICS.PORT_TYPE_WRITE, data);
391
+ }
392
+ /**
393
+ * Send sensor unsubscription
394
+ */
395
+ async unsubscribe(portId, deviceType, mode) {
396
+ const data = WeDo2Protocol.createWeDo2Subscribe(portId, deviceType, mode, false);
397
+ await this.send(WeDo2Protocol.WEDO2_CHARACTERISTICS.PORT_TYPE_WRITE, data);
398
+ }
399
+ /**
400
+ * Send disconnect command
401
+ */
402
+ async sendDisconnect() {
403
+ const data = WeDo2Protocol.createWeDo2Disconnect();
404
+ await this.send(WeDo2Protocol.WEDO2_CHARACTERISTICS.DISCONNECT, data);
405
+ }
406
+ /**
407
+ * Get battery level
408
+ */
409
+ async getBatteryLevel() {
410
+ const data = await this.read(WeDo2Protocol.WEDO2_CHARACTERISTICS.BATTERY);
411
+ return data[0];
412
+ }
413
+ /**
414
+ * Get firmware version
415
+ */
416
+ async getFirmwareVersion() {
417
+ const data = await this.read(WeDo2Protocol.WEDO2_CHARACTERISTICS.FIRMWARE_REVISION);
418
+ return data.toString("ascii");
419
+ }
420
+ }
421
+ exports.WeDo2Connection = WeDo2Connection;
422
+ // ============================================================================
423
+ // Hub Type Detection
424
+ // ============================================================================
425
+ /**
426
+ * Detect hub type from manufacturer data
427
+ */
428
+ function detectHubType(manufacturerData) {
429
+ if (!manufacturerData || manufacturerData.length < 4) {
430
+ return types_1.HubType.UNKNOWN;
431
+ }
432
+ // Check manufacturer ID (LEGO = 0x0397)
433
+ const manufacturerId = manufacturerData.readUInt16LE(0);
434
+ if (manufacturerId !== 0x0397) {
435
+ return types_1.HubType.UNKNOWN;
436
+ }
437
+ // Hub type is in byte 3
438
+ const hubId = manufacturerData[3];
439
+ switch (hubId) {
440
+ case 32: // 0x20
441
+ return types_1.HubType.DUPLO_TRAIN_BASE;
442
+ case 64: // 0x40
443
+ return types_1.HubType.MOVE_HUB;
444
+ case 65: // 0x41
445
+ return types_1.HubType.HUB;
446
+ case 66: // 0x42
447
+ return types_1.HubType.REMOTE_CONTROL;
448
+ case 67: // 0x43
449
+ return types_1.HubType.MARIO;
450
+ case 128: // 0x80
451
+ return types_1.HubType.TECHNIC_MEDIUM_HUB;
452
+ case 131: // 0x83
453
+ return types_1.HubType.TECHNIC_SMALL_HUB;
454
+ default:
455
+ return types_1.HubType.UNKNOWN;
456
+ }
457
+ }
458
+ /**
459
+ * Check if peripheral is a WeDo 2.0 Smart Hub
460
+ */
461
+ function isWeDo2SmartHub(serviceUUIDs) {
462
+ if (!serviceUUIDs) {
463
+ return false;
464
+ }
465
+ const wedo2ServiceUUID = WeDo2Protocol.WEDO2_SERVICE_UUID.replace(/-/g, "").toLowerCase();
466
+ return serviceUUIDs.some((uuid) => uuid.toLowerCase() === wedo2ServiceUUID || uuid.toLowerCase() === WeDo2Protocol.WEDO2_SERVICE_UUID.toLowerCase());
467
+ }
468
+ /**
469
+ * Check if peripheral is an LWP3 hub
470
+ */
471
+ function isLWP3Hub(serviceUUIDs) {
472
+ if (!serviceUUIDs) {
473
+ return false;
474
+ }
475
+ const lwp3ServiceUUID = Protocol.BLE_SERVICE_UUID.replace(/-/g, "").toLowerCase();
476
+ return serviceUUIDs.some((uuid) => uuid.toLowerCase() === lwp3ServiceUUID || uuid.toLowerCase() === Protocol.BLE_SERVICE_UUID.toLowerCase());
477
+ }
478
+ //# sourceMappingURL=connection.js.map