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":"voltagesensor.d.ts","sourceRoot":"","sources":["../../src/devices/voltagesensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,MAAM;gBAExB,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;IAI3C,OAAO,CAAE,OAAO,EAAE,MAAM;CA8BlC;AAED,oBAAY,IAAI;IACZ,OAAO,IAAO;CACjB;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAE7C,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { Device } from "./device.js";
2
+ import * as Consts from "../consts.js";
3
+ /**
4
+ * @class VoltageSensor
5
+ * @extends Device
6
+ */
7
+ export class VoltageSensor extends Device {
8
+ constructor(hub, portId) {
9
+ super(hub, portId, ModeMap, Consts.DeviceType.VOLTAGE_SENSOR);
10
+ }
11
+ receive(message) {
12
+ const mode = this._mode;
13
+ switch (mode) {
14
+ case Mode.VOLTAGE:
15
+ if (this.isWeDo2SmartHub) {
16
+ const voltage = message.readInt16LE(2) / 40;
17
+ this.notify("voltage", { voltage });
18
+ }
19
+ else {
20
+ let maxVoltageValue = MaxVoltageValue[this.hub.type];
21
+ if (maxVoltageValue === undefined) {
22
+ maxVoltageValue = MaxVoltageValue[Consts.HubType.UNKNOWN];
23
+ }
24
+ let maxVoltageRaw = MaxVoltageRaw[this.hub.type];
25
+ if (maxVoltageRaw === undefined) {
26
+ maxVoltageRaw = MaxVoltageRaw[Consts.HubType.UNKNOWN];
27
+ }
28
+ const voltage = message.readUInt16LE(4) * maxVoltageValue / maxVoltageRaw;
29
+ /**
30
+ * Emits when a voltage change is detected.
31
+ * @event VoltageSensor#voltage
32
+ * @type {object}
33
+ * @param {number} voltage
34
+ */
35
+ this.notify("voltage", { voltage });
36
+ }
37
+ break;
38
+ }
39
+ }
40
+ }
41
+ export var Mode;
42
+ (function (Mode) {
43
+ Mode[Mode["VOLTAGE"] = 0] = "VOLTAGE";
44
+ })(Mode || (Mode = {}));
45
+ export const ModeMap = {
46
+ "voltage": Mode.VOLTAGE
47
+ };
48
+ const MaxVoltageValue = {
49
+ [Consts.HubType.UNKNOWN]: 9.615,
50
+ [Consts.HubType.DUPLO_TRAIN_BASE]: 6.4,
51
+ [Consts.HubType.REMOTE_CONTROL]: 6.4,
52
+ };
53
+ const MaxVoltageRaw = {
54
+ [Consts.HubType.UNKNOWN]: 3893,
55
+ [Consts.HubType.DUPLO_TRAIN_BASE]: 3047,
56
+ [Consts.HubType.REMOTE_CONTROL]: 3200,
57
+ [Consts.HubType.TECHNIC_MEDIUM_HUB]: 4095,
58
+ };
59
+ //# sourceMappingURL=voltagesensor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voltagesensor.js","sourceRoot":"","sources":["../../src/devices/voltagesensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM;IAErC,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC;IAEM,OAAO,CAAE,OAAe;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,OAAO;gBACb,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACJ,IAAI,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACrD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;wBAChC,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC9D,CAAC;oBACD,IAAI,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;wBAC9B,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC1D,CAAC;oBACD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,aAAa,CAAC;oBAC1E;;;;;uBAKG;oBACH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,MAAM;QACd,CAAC;IACL,CAAC;CAEJ;AAED,MAAM,CAAN,IAAY,IAEX;AAFD,WAAY,IAAI;IACZ,qCAAc,CAAA;AAClB,CAAC,EAFW,IAAI,KAAJ,IAAI,QAEf;AAED,MAAM,CAAC,MAAM,OAAO,GAA8B;IAC9C,SAAS,EAAE,IAAI,CAAC,OAAO;CAC1B,CAAC;AAEF,MAAM,eAAe,GAAgC;IACjD,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK;IAC/B,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG;IACtC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG;CACvC,CAAC;AAEF,MAAM,aAAa,GAAgC;IAC/C,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI;IAC9B,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI;IACvC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI;IACrC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,IAAI;CAC5C,CAAC"}
@@ -0,0 +1,154 @@
1
+ import { EventEmitter } from "events";
2
+ import { IBLEAbstraction } from "../interfaces.js";
3
+ import { Device } from "../devices/device.js";
4
+ import * as Consts from "../consts.js";
5
+ /**
6
+ * @class BaseHub
7
+ * @extends EventEmitter
8
+ */
9
+ export declare class BaseHub extends EventEmitter {
10
+ protected _attachedDevices: {
11
+ [portId: number]: Device;
12
+ };
13
+ protected _name: string;
14
+ protected _firmwareVersion: string;
15
+ protected _hardwareVersion: string;
16
+ protected _primaryMACAddress: string;
17
+ protected _batteryLevel: number;
18
+ protected _rssi: number;
19
+ protected _portMap: {
20
+ [portName: string]: number;
21
+ };
22
+ protected _virtualPorts: number[];
23
+ protected _bleDevice: IBLEAbstraction;
24
+ private _type;
25
+ private _attachCallbacks;
26
+ constructor(bleDevice: IBLEAbstraction, portMap?: {
27
+ [portName: string]: number;
28
+ }, type?: Consts.HubType);
29
+ /**
30
+ * @readonly
31
+ * @property {string} name Name of the hub
32
+ */
33
+ get name(): string;
34
+ /**
35
+ * @readonly
36
+ * @property {string} connected Connected status
37
+ */
38
+ get connected(): boolean;
39
+ /**
40
+ * @readonly
41
+ * @property {string} connecting Connecting status
42
+ */
43
+ get connecting(): boolean;
44
+ /**
45
+ * @readonly
46
+ * @property {string} type Hub type
47
+ */
48
+ get type(): Consts.HubType;
49
+ /**
50
+ * @readonly
51
+ * @property {string[]} ports Array of port names
52
+ */
53
+ get ports(): string[];
54
+ /**
55
+ * @readonly
56
+ * @property {string} firmwareVersion Firmware version of the hub
57
+ */
58
+ get firmwareVersion(): string;
59
+ /**
60
+ * @readonly
61
+ * @property {string} hardwareVersion Hardware version of the hub
62
+ */
63
+ get hardwareVersion(): string;
64
+ /**
65
+ * @readonly
66
+ * @property {string} primaryMACAddress Primary MAC address of the hub
67
+ */
68
+ get primaryMACAddress(): string;
69
+ /**
70
+ * @readonly
71
+ * @property {string} uuid UUID of the hub
72
+ */
73
+ get uuid(): string;
74
+ /**
75
+ * @readonly
76
+ * @property {number} batteryLevel Battery level of the hub (Percentage between 0-100)
77
+ */
78
+ get batteryLevel(): number;
79
+ /**
80
+ * @readonly
81
+ * @property {number} rssi Signal strength of the hub
82
+ */
83
+ get rssi(): number;
84
+ /**
85
+ * Connect to the Hub.
86
+ * @returns {Promise} Resolved upon successful connect.
87
+ */
88
+ connect(): Promise<void>;
89
+ /**
90
+ * Disconnect the Hub.
91
+ * @returns {Promise} Resolved upon successful disconnect.
92
+ */
93
+ disconnect(): Promise<void>;
94
+ /**
95
+ * Retrieves the device attached to a given port.
96
+ * @param {string} portName The name of the port to retrieve the device from.
97
+ * @returns {Device | undefined} The device attached to the port.
98
+ */
99
+ getDeviceAtPort(portName: string): Device | undefined;
100
+ /**
101
+ * Retrieves the device attached to a given port, waiting until one is attached if there isn't one.
102
+ *
103
+ * Note: If a device is never attached, the returned promise may never resolve.
104
+ * @param {string} portName The name of the port to retrieve the device from.
105
+ * @returns {Promise} Resolved once a device is attached, or resolved immediately if a device is already attached.
106
+ */
107
+ waitForDeviceAtPort(portName: string): Promise<unknown>;
108
+ /**
109
+ * Retrieves all attached devices.
110
+ * @returns {Device[]} Array of all attached devices.
111
+ */
112
+ getDevices(): Device[];
113
+ /**
114
+ * Retrieves an array of devices of the specified type.
115
+ * @param {number} deviceType The device type to lookup.
116
+ * @returns {Device[]} Array of all devices of the specified type.
117
+ */
118
+ getDevicesByType(deviceType: number): Device[];
119
+ /**
120
+ * Retrieves the first device attached of the specified type, waiting until one is attached if there isn't one.
121
+ *
122
+ * Note: If a device is never attached, the returned promise may never resolve.
123
+ * @param {number} deviceType The device type to lookup.
124
+ * @returns {Promise} Resolved once a device is attached, or resolved immediately if a device is already attached.
125
+ */
126
+ waitForDeviceByType(deviceType: number): Promise<unknown>;
127
+ getPortNameForPortId(portId: number): string | undefined;
128
+ isPortVirtual(portId: number): boolean;
129
+ /**
130
+ * Sleep a given amount of time.
131
+ *
132
+ * Note: This is a helper method to make it easier to add delays into a chain of commands.
133
+ * @param {number} delay How long to sleep (in milliseconds).
134
+ * @returns {Promise} Resolved after the delay is finished.
135
+ */
136
+ sleep(delay: number): Promise<unknown>;
137
+ /**
138
+ * Wait until a given list of concurrently running commands are complete.
139
+ *
140
+ * Note: This is a helper method to make it easier to wait for concurrent commands to complete.
141
+ * @param {Array<Promise<any>>} commands Array of executing commands.
142
+ * @returns {Promise} Resolved after the commands are finished.
143
+ */
144
+ wait(commands: Promise<any>[]): Promise<any[]>;
145
+ send(message: Buffer, uuid: string): Promise<void>;
146
+ subscribe(portId: number, deviceType: number, mode: number): void;
147
+ unsubscribe(portId: number, deviceType: number, mode: number): void;
148
+ manuallyAttachDevice(deviceType: number, portId: number): Device;
149
+ protected _attachDevice(device: Device): void;
150
+ protected _detachDevice(device: Device): void;
151
+ protected _createDevice(deviceType: number, portId: number): Device;
152
+ protected _getDeviceByPortId(portId: number): Device;
153
+ }
154
+ //# sourceMappingURL=basehub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basehub.d.ts","sourceRoot":"","sources":["../../src/hubs/basehub.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,383 @@
1
+ import { EventEmitter } from "events";
2
+ import { ColorDistanceSensor } from "../devices/colordistancesensor.js";
3
+ import { CurrentSensor } from "../devices/currentsensor.js";
4
+ import { Device } from "../devices/device.js";
5
+ import { DuploTrainBaseColorSensor } from "../devices/duplotrainbasecolorsensor.js";
6
+ import { DuploTrainBaseMotor } from "../devices/duplotrainbasemotor.js";
7
+ import { DuploTrainBaseSpeaker } from "../devices/duplotrainbasespeaker.js";
8
+ import { DuploTrainBaseSpeedometer } from "../devices/duplotrainbasespeedometer.js";
9
+ import { HubLED } from "../devices/hubled.js";
10
+ import { Light } from "../devices/light.js";
11
+ import { MarioAccelerometer } from "../devices/marioaccelerometer.js";
12
+ import { MarioBarcodeSensor } from "../devices/mariobarcodesensor.js";
13
+ import { MarioPantsSensor } from "../devices/mariopantssensor.js";
14
+ import { MediumLinearMotor } from "../devices/mediumlinearmotor.js";
15
+ import { MotionSensor } from "../devices/motionsensor.js";
16
+ import { MoveHubMediumLinearMotor } from "../devices/movehubmediumlinearmotor.js";
17
+ import { MoveHubTiltSensor } from "../devices/movehubtiltsensor.js";
18
+ import { PiezoBuzzer } from "../devices/piezobuzzer.js";
19
+ import { RemoteControlButton } from "../devices/remotecontrolbutton.js";
20
+ import { SimpleMediumLinearMotor } from "../devices/simplemediumlinearmotor.js";
21
+ import { TechnicColorSensor } from "../devices/techniccolorsensor.js";
22
+ import { TechnicDistanceSensor } from "../devices/technicdistancesensor.js";
23
+ import { TechnicForceSensor } from "../devices/technicforcesensor.js";
24
+ import { TechnicLargeAngularMotor } from "../devices/techniclargeangularmotor.js";
25
+ import { TechnicLargeLinearMotor } from "../devices/techniclargelinearmotor.js";
26
+ import { TechnicSmallAngularMotor } from "../devices/technicsmallangularmotor.js";
27
+ import { TechnicMediumAngularMotor } from "../devices/technicmediumangularmotor.js";
28
+ import { TechnicMediumHubAccelerometerSensor } from "../devices/technicmediumhubaccelerometersensor.js";
29
+ import { TechnicMediumHubGyroSensor } from "../devices/technicmediumhubgyrosensor.js";
30
+ import { TechnicMediumHubTiltSensor } from "../devices/technicmediumhubtiltsensor.js";
31
+ import { TechnicXLargeLinearMotor } from "../devices/technicxlargelinearmotor.js";
32
+ import { TiltSensor } from "../devices/tiltsensor.js";
33
+ import { TrainMotor } from "../devices/trainmotor.js";
34
+ import { VoltageSensor } from "../devices/voltagesensor.js";
35
+ import * as Consts from "../consts.js";
36
+ import Debug from "debug";
37
+ import { Technic3x3ColorLightMatrix } from "../devices/technic3x3colorlightmatrix.js";
38
+ const debug = Debug("basehub");
39
+ /**
40
+ * @class BaseHub
41
+ * @extends EventEmitter
42
+ */
43
+ export class BaseHub extends EventEmitter {
44
+ constructor(bleDevice, portMap = {}, type = Consts.HubType.UNKNOWN) {
45
+ super();
46
+ this._attachedDevices = {};
47
+ this._name = "";
48
+ this._firmwareVersion = "0.0.00.0000";
49
+ this._hardwareVersion = "0.0.00.0000";
50
+ this._primaryMACAddress = "00:00:00:00:00:00";
51
+ this._batteryLevel = 100;
52
+ this._rssi = -60;
53
+ this._portMap = {};
54
+ this._virtualPorts = [];
55
+ this._attachCallbacks = [];
56
+ this.setMaxListeners(23); // Technic Medium Hub has 9 built in devices + 4 external ports. Node.js throws a warning after 10 attached event listeners.
57
+ this._type = type;
58
+ this._bleDevice = bleDevice;
59
+ this._portMap = Object.assign({}, portMap);
60
+ bleDevice.on("disconnect", () => {
61
+ /**
62
+ * Emits when the hub is disconnected.
63
+ * @event Hub#disconnect
64
+ */
65
+ this.emit("disconnect");
66
+ });
67
+ }
68
+ /**
69
+ * @readonly
70
+ * @property {string} name Name of the hub
71
+ */
72
+ get name() {
73
+ return this._bleDevice.name;
74
+ }
75
+ /**
76
+ * @readonly
77
+ * @property {string} connected Connected status
78
+ */
79
+ get connected() {
80
+ return this._bleDevice.connected;
81
+ }
82
+ /**
83
+ * @readonly
84
+ * @property {string} connecting Connecting status
85
+ */
86
+ get connecting() {
87
+ return this._bleDevice.connecting;
88
+ }
89
+ /**
90
+ * @readonly
91
+ * @property {string} type Hub type
92
+ */
93
+ get type() {
94
+ return this._type;
95
+ }
96
+ /**
97
+ * @readonly
98
+ * @property {string[]} ports Array of port names
99
+ */
100
+ get ports() {
101
+ return Object.keys(this._portMap);
102
+ }
103
+ /**
104
+ * @readonly
105
+ * @property {string} firmwareVersion Firmware version of the hub
106
+ */
107
+ get firmwareVersion() {
108
+ return this._firmwareVersion;
109
+ }
110
+ /**
111
+ * @readonly
112
+ * @property {string} hardwareVersion Hardware version of the hub
113
+ */
114
+ get hardwareVersion() {
115
+ return this._hardwareVersion;
116
+ }
117
+ /**
118
+ * @readonly
119
+ * @property {string} primaryMACAddress Primary MAC address of the hub
120
+ */
121
+ get primaryMACAddress() {
122
+ return this._primaryMACAddress;
123
+ }
124
+ /**
125
+ * @readonly
126
+ * @property {string} uuid UUID of the hub
127
+ */
128
+ get uuid() {
129
+ return this._bleDevice.uuid;
130
+ }
131
+ /**
132
+ * @readonly
133
+ * @property {number} batteryLevel Battery level of the hub (Percentage between 0-100)
134
+ */
135
+ get batteryLevel() {
136
+ return this._batteryLevel;
137
+ }
138
+ /**
139
+ * @readonly
140
+ * @property {number} rssi Signal strength of the hub
141
+ */
142
+ get rssi() {
143
+ return this._rssi;
144
+ }
145
+ /**
146
+ * Connect to the Hub.
147
+ * @returns {Promise} Resolved upon successful connect.
148
+ */
149
+ connect() {
150
+ if (this._bleDevice.connecting) {
151
+ throw new Error("Already connecting");
152
+ }
153
+ else if (this._bleDevice.connected) {
154
+ throw new Error("Already connected");
155
+ }
156
+ return this._bleDevice.connect();
157
+ }
158
+ /**
159
+ * Disconnect the Hub.
160
+ * @returns {Promise} Resolved upon successful disconnect.
161
+ */
162
+ disconnect() {
163
+ return this._bleDevice.disconnect();
164
+ }
165
+ /**
166
+ * Retrieves the device attached to a given port.
167
+ * @param {string} portName The name of the port to retrieve the device from.
168
+ * @returns {Device | undefined} The device attached to the port.
169
+ */
170
+ getDeviceAtPort(portName) {
171
+ const portId = this._portMap[portName];
172
+ if (portId !== undefined) {
173
+ return this._attachedDevices[portId];
174
+ }
175
+ else {
176
+ return undefined;
177
+ }
178
+ }
179
+ /**
180
+ * Retrieves the device attached to a given port, waiting until one is attached if there isn't one.
181
+ *
182
+ * Note: If a device is never attached, the returned promise may never resolve.
183
+ * @param {string} portName The name of the port to retrieve the device from.
184
+ * @returns {Promise} Resolved once a device is attached, or resolved immediately if a device is already attached.
185
+ */
186
+ waitForDeviceAtPort(portName) {
187
+ return new Promise((resolve) => {
188
+ const existingDevice = this.getDeviceAtPort(portName);
189
+ if (existingDevice) {
190
+ return resolve(existingDevice);
191
+ }
192
+ this._attachCallbacks.push((device) => {
193
+ if (device.portName === portName) {
194
+ resolve(device);
195
+ return true;
196
+ }
197
+ else {
198
+ return false;
199
+ }
200
+ });
201
+ });
202
+ }
203
+ /**
204
+ * Retrieves all attached devices.
205
+ * @returns {Device[]} Array of all attached devices.
206
+ */
207
+ getDevices() {
208
+ return Object.values(this._attachedDevices);
209
+ }
210
+ /**
211
+ * Retrieves an array of devices of the specified type.
212
+ * @param {number} deviceType The device type to lookup.
213
+ * @returns {Device[]} Array of all devices of the specified type.
214
+ */
215
+ getDevicesByType(deviceType) {
216
+ return this.getDevices().filter((device) => device.type === deviceType);
217
+ }
218
+ /**
219
+ * Retrieves the first device attached of the specified type, waiting until one is attached if there isn't one.
220
+ *
221
+ * Note: If a device is never attached, the returned promise may never resolve.
222
+ * @param {number} deviceType The device type to lookup.
223
+ * @returns {Promise} Resolved once a device is attached, or resolved immediately if a device is already attached.
224
+ */
225
+ waitForDeviceByType(deviceType) {
226
+ return new Promise((resolve) => {
227
+ const existingDevices = this.getDevicesByType(deviceType);
228
+ if (existingDevices.length >= 1) {
229
+ return resolve(existingDevices[0]);
230
+ }
231
+ this._attachCallbacks.push((device) => {
232
+ if (device.type === deviceType) {
233
+ resolve(device);
234
+ return true;
235
+ }
236
+ else {
237
+ return false;
238
+ }
239
+ });
240
+ });
241
+ }
242
+ getPortNameForPortId(portId) {
243
+ for (const port of Object.keys(this._portMap)) {
244
+ if (this._portMap[port] === portId) {
245
+ return port;
246
+ }
247
+ }
248
+ return;
249
+ }
250
+ isPortVirtual(portId) {
251
+ return (this._virtualPorts.indexOf(portId) > -1);
252
+ }
253
+ /**
254
+ * Sleep a given amount of time.
255
+ *
256
+ * Note: This is a helper method to make it easier to add delays into a chain of commands.
257
+ * @param {number} delay How long to sleep (in milliseconds).
258
+ * @returns {Promise} Resolved after the delay is finished.
259
+ */
260
+ sleep(delay) {
261
+ return new Promise((resolve) => {
262
+ global.setTimeout(resolve, delay);
263
+ });
264
+ }
265
+ /**
266
+ * Wait until a given list of concurrently running commands are complete.
267
+ *
268
+ * Note: This is a helper method to make it easier to wait for concurrent commands to complete.
269
+ * @param {Array<Promise<any>>} commands Array of executing commands.
270
+ * @returns {Promise} Resolved after the commands are finished.
271
+ */
272
+ wait(commands) {
273
+ return Promise.all(commands);
274
+ }
275
+ send(message, uuid) {
276
+ return Promise.resolve();
277
+ }
278
+ subscribe(portId, deviceType, mode) {
279
+ // NK Do nothing here
280
+ }
281
+ unsubscribe(portId, deviceType, mode) {
282
+ // NK Do nothing here
283
+ }
284
+ manuallyAttachDevice(deviceType, portId) {
285
+ if (!this._attachedDevices[portId]) {
286
+ debug(`No device attached to portId ${portId}, creating and attaching device type ${deviceType}`);
287
+ const device = this._createDevice(deviceType, portId);
288
+ this._attachDevice(device);
289
+ return device;
290
+ }
291
+ else {
292
+ if (this._attachedDevices[portId].type === deviceType) {
293
+ debug(`Device of ${deviceType} already attached to portId ${portId}, returning existing device`);
294
+ return this._attachedDevices[portId];
295
+ }
296
+ else {
297
+ throw new Error(`Already a different type of device attached to portId ${portId}. Only use this method when you are certain what's attached.`);
298
+ }
299
+ }
300
+ }
301
+ _attachDevice(device) {
302
+ if (this._attachedDevices[device.portId] && this._attachedDevices[device.portId].type === device.type) {
303
+ return;
304
+ }
305
+ this._attachedDevices[device.portId] = device;
306
+ /**
307
+ * Emits when a device is attached to the Hub.
308
+ * @event Hub#attach
309
+ * @param {Device} device
310
+ */
311
+ this.emit("attach", device);
312
+ debug(`Attached device type ${device.type} (${Consts.DeviceTypeNames[device.type]}) on port ${device.portName} (${device.portId})`);
313
+ let i = this._attachCallbacks.length;
314
+ while (i--) {
315
+ const callback = this._attachCallbacks[i];
316
+ if (callback(device)) {
317
+ this._attachCallbacks.splice(i, 1);
318
+ }
319
+ }
320
+ }
321
+ _detachDevice(device) {
322
+ delete this._attachedDevices[device.portId];
323
+ /**
324
+ * Emits when a device is detached from the Hub.
325
+ * @event Hub#detach
326
+ * @param {Device} device
327
+ */
328
+ this.emit("detach", device);
329
+ debug(`Detached device type ${device.type} (${Consts.DeviceTypeNames[device.type]}) on port ${device.portName} (${device.portId})`);
330
+ }
331
+ _createDevice(deviceType, portId) {
332
+ let constructor;
333
+ // NK TODO: This needs to go in a better place
334
+ const deviceConstructors = {
335
+ [Consts.DeviceType.LIGHT]: Light,
336
+ [Consts.DeviceType.TRAIN_MOTOR]: TrainMotor,
337
+ [Consts.DeviceType.SIMPLE_MEDIUM_LINEAR_MOTOR]: SimpleMediumLinearMotor,
338
+ [Consts.DeviceType.MOVE_HUB_MEDIUM_LINEAR_MOTOR]: MoveHubMediumLinearMotor,
339
+ [Consts.DeviceType.MOTION_SENSOR]: MotionSensor,
340
+ [Consts.DeviceType.TILT_SENSOR]: TiltSensor,
341
+ [Consts.DeviceType.MOVE_HUB_TILT_SENSOR]: MoveHubTiltSensor,
342
+ [Consts.DeviceType.PIEZO_BUZZER]: PiezoBuzzer,
343
+ [Consts.DeviceType.TECHNIC_COLOR_SENSOR]: TechnicColorSensor,
344
+ [Consts.DeviceType.TECHNIC_DISTANCE_SENSOR]: TechnicDistanceSensor,
345
+ [Consts.DeviceType.TECHNIC_FORCE_SENSOR]: TechnicForceSensor,
346
+ [Consts.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR]: TechnicMediumHubTiltSensor,
347
+ [Consts.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR]: TechnicMediumHubGyroSensor,
348
+ [Consts.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER]: TechnicMediumHubAccelerometerSensor,
349
+ [Consts.DeviceType.MEDIUM_LINEAR_MOTOR]: MediumLinearMotor,
350
+ [Consts.DeviceType.TECHNIC_SMALL_ANGULAR_MOTOR]: TechnicSmallAngularMotor,
351
+ [Consts.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR]: TechnicMediumAngularMotor,
352
+ [Consts.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR]: TechnicLargeAngularMotor,
353
+ [Consts.DeviceType.TECHNIC_LARGE_LINEAR_MOTOR]: TechnicLargeLinearMotor,
354
+ [Consts.DeviceType.TECHNIC_XLARGE_LINEAR_MOTOR]: TechnicXLargeLinearMotor,
355
+ [Consts.DeviceType.COLOR_DISTANCE_SENSOR]: ColorDistanceSensor,
356
+ [Consts.DeviceType.VOLTAGE_SENSOR]: VoltageSensor,
357
+ [Consts.DeviceType.CURRENT_SENSOR]: CurrentSensor,
358
+ [Consts.DeviceType.REMOTE_CONTROL_BUTTON]: RemoteControlButton,
359
+ [Consts.DeviceType.HUB_LED]: HubLED,
360
+ [Consts.DeviceType.DUPLO_TRAIN_BASE_COLOR_SENSOR]: DuploTrainBaseColorSensor,
361
+ [Consts.DeviceType.DUPLO_TRAIN_BASE_MOTOR]: DuploTrainBaseMotor,
362
+ [Consts.DeviceType.DUPLO_TRAIN_BASE_SPEAKER]: DuploTrainBaseSpeaker,
363
+ [Consts.DeviceType.DUPLO_TRAIN_BASE_SPEEDOMETER]: DuploTrainBaseSpeedometer,
364
+ [Consts.DeviceType.MARIO_ACCELEROMETER]: MarioAccelerometer,
365
+ [Consts.DeviceType.MARIO_BARCODE_SENSOR]: MarioBarcodeSensor,
366
+ [Consts.DeviceType.MARIO_PANTS_SENSOR]: MarioPantsSensor,
367
+ [Consts.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY]: TechnicMediumAngularMotor,
368
+ [Consts.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR_GREY]: TechnicLargeAngularMotor,
369
+ [Consts.DeviceType.TECHNIC_3X3_COLOR_LIGHT_MATRIX]: Technic3x3ColorLightMatrix,
370
+ };
371
+ constructor = deviceConstructors[deviceType];
372
+ if (constructor) {
373
+ return new constructor(this, portId, undefined, deviceType);
374
+ }
375
+ else {
376
+ return new Device(this, portId, undefined, deviceType);
377
+ }
378
+ }
379
+ _getDeviceByPortId(portId) {
380
+ return this._attachedDevices[portId];
381
+ }
382
+ }
383
+ //# sourceMappingURL=basehub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basehub.js","sourceRoot":"","sources":["../../src/hubs/basehub.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Peripheral } from "@stoprocent/noble";
2
+ import { LPF2Hub } from "./lpf2hub.js";
3
+ import { IBLEAbstraction } from "../interfaces.js";
4
+ /**
5
+ * The DuploTrainBase is emitted if the discovered device is a Duplo Train Base.
6
+ * @class DuploTrainBase
7
+ * @extends LPF2Hub
8
+ * @extends BaseHub
9
+ */
10
+ export declare class DuploTrainBase extends LPF2Hub {
11
+ static IsDuploTrainBase(peripheral: Peripheral): boolean;
12
+ constructor(device: IBLEAbstraction);
13
+ connect(): Promise<void>;
14
+ }
15
+ export declare const PortMap: {
16
+ [portName: string]: number;
17
+ };
18
+ //# sourceMappingURL=duplotrainbase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplotrainbase.d.ts","sourceRoot":"","sources":["../../src/hubs/duplotrainbase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAKvC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,OAAO;WAGzB,gBAAgB,CAAE,UAAU,EAAE,UAAU;gBAYzC,MAAM,EAAE,eAAe;IAMvB,OAAO;CAOvB;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAIhD,CAAC"}