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
@@ -1,528 +0,0 @@
1
-
2
-
3
- <!DOCTYPE html>
4
- <html lang="en">
5
- <head>
6
-
7
- <meta charset="utf-8">
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
-
10
- <title>
11
- hubs/basehub.js - Documentation
12
- </title>
13
-
14
- <link href="https://www.braintreepayments.com/images/favicon-ccda0b14.png" rel="icon" type="image/png">
15
-
16
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
17
- <script>hljs.initHighlightingOnLoad();</script>
18
-
19
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
20
-
21
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
22
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
23
-
24
-
25
-
26
-
27
- <!-- start Mixpanel -->
28
- <script type="text/javascript">(function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments,
29
- 0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
30
- for(h=0;h<k.length;h++)e(d,k[h]);a._i.push([b,c,f])};a.__SV=1.2;b=e.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";c=e.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}})(document,window.mixpanel||[]);
31
- mixpanel.init("1919205b2da72e4da3b9b6639b444d59");</script>
32
- <!-- end Mixpanel -->
33
- </head>
34
-
35
- <body>
36
- <svg style="display: none;">
37
- <defs>
38
- <symbol id="linkIcon" fill="#706d77" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
39
- <path d="M0 0h24v24H0z" fill="none"/>
40
- <path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
41
- </symbol>
42
- </defs>
43
- </svg>
44
-
45
- <input type="checkbox" id="nav-trigger" class="nav-trigger" />
46
- <label for="nav-trigger" class="navicon-button x">
47
- <div class="navicon"></div>
48
- </label>
49
-
50
- <label for="nav-trigger" class="overlay"></label>
51
-
52
- <div class="top-nav-wrapper">
53
- <ul>
54
- <li >
55
- <a href="index.html">
56
-
57
- <svg fill="#6D6D6D" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
58
- <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
59
- <path d="M0 0h24v24H0z" fill="none"/>
60
- </svg>
61
-
62
-
63
- </a>
64
- </li>
65
-
66
-
67
-
68
- </ul>
69
- </div>
70
-
71
- <nav>
72
- <h3 class="reference-title">
73
- node-poweredup Reference
74
- </h3>
75
-
76
-
77
-
78
- <h3>Classes</h3><ul><li id="AbsoluteMotor-nav"><a href="AbsoluteMotor.html">AbsoluteMotor</a><ul class='methods'><li data-type="method" id="AbsoluteMotor-gotoAngle-nav"><a href="AbsoluteMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="AbsoluteMotor-gotoRealZero-nav"><a href="AbsoluteMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="AbsoluteMotor-resetZero-nav"><a href="AbsoluteMotor.html#resetZero">resetZero</a></li><li data-type="method" id="AbsoluteMotor-rotateByDegrees-nav"><a href="AbsoluteMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="AbsoluteMotor-setAccelerationTime-nav"><a href="AbsoluteMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="AbsoluteMotor-setBrakingStyle-nav"><a href="AbsoluteMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="AbsoluteMotor-setDecelerationTime-nav"><a href="AbsoluteMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="AbsoluteMotor-setMaxPower-nav"><a href="AbsoluteMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="AbsoluteMotor-setSpeed-nav"><a href="AbsoluteMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="BaseHub-nav"><a href="BaseHub.html">BaseHub</a></li><li id="BasicMotor-nav"><a href="BasicMotor.html">BasicMotor</a><ul class='methods'><li data-type="method" id="BasicMotor-brake-nav"><a href="BasicMotor.html#brake">brake</a></li><li data-type="method" id="BasicMotor-rampPower-nav"><a href="BasicMotor.html#rampPower">rampPower</a></li><li data-type="method" id="BasicMotor-setPower-nav"><a href="BasicMotor.html#setPower">setPower</a></li><li data-type="method" id="BasicMotor-stop-nav"><a href="BasicMotor.html#stop">stop</a></li></ul></li><li id="ColorDistanceSensor-nav"><a href="ColorDistanceSensor.html">ColorDistanceSensor</a><ul class='methods'><li data-type="method" id="ColorDistanceSensor-sendPFIRMessage-nav"><a href="ColorDistanceSensor.html#sendPFIRMessage">sendPFIRMessage</a></li><li data-type="method" id="ColorDistanceSensor-setColor-nav"><a href="ColorDistanceSensor.html#setColor">setColor</a></li><li data-type="method" id="ColorDistanceSensor-setDistanceCount-nav"><a href="ColorDistanceSensor.html#setDistanceCount">setDistanceCount</a></li><li data-type="method" id="ColorDistanceSensor-setPFExtendedChannel-nav"><a href="ColorDistanceSensor.html#setPFExtendedChannel">setPFExtendedChannel</a></li><li data-type="method" id="ColorDistanceSensor-setPFPower-nav"><a href="ColorDistanceSensor.html#setPFPower">setPFPower</a></li><li data-type="method" id="ColorDistanceSensor-startPFMotors-nav"><a href="ColorDistanceSensor.html#startPFMotors">startPFMotors</a></li></ul></li><li id="CurrentSensor-nav"><a href="CurrentSensor.html">CurrentSensor</a></li><li id="Device-nav"><a href="Device.html">Device</a></li><li id="DuploTrainBase-nav"><a href="DuploTrainBase.html">DuploTrainBase</a><ul class='methods'><li data-type="method" id="DuploTrainBase-createVirtualPort-nav"><a href="DuploTrainBase.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="DuploTrainBase-setName-nav"><a href="DuploTrainBase.html#setName">setName</a></li><li data-type="method" id="DuploTrainBase-shutdown-nav"><a href="DuploTrainBase.html#shutdown">shutdown</a></li></ul></li><li id="DuploTrainBaseColorSensor-nav"><a href="DuploTrainBaseColorSensor.html">DuploTrainBaseColorSensor</a></li><li id="DuploTrainBaseMotor-nav"><a href="DuploTrainBaseMotor.html">DuploTrainBaseMotor</a><ul class='methods'><li data-type="method" id="DuploTrainBaseMotor-brake-nav"><a href="DuploTrainBaseMotor.html#brake">brake</a></li><li data-type="method" id="DuploTrainBaseMotor-rampPower-nav"><a href="DuploTrainBaseMotor.html#rampPower">rampPower</a></li><li data-type="method" id="DuploTrainBaseMotor-setPower-nav"><a href="DuploTrainBaseMotor.html#setPower">setPower</a></li><li data-type="method" id="DuploTrainBaseMotor-stop-nav"><a href="DuploTrainBaseMotor.html#stop">stop</a></li></ul></li><li id="DuploTrainBaseSpeaker-nav"><a href="DuploTrainBaseSpeaker.html">DuploTrainBaseSpeaker</a><ul class='methods'><li data-type="method" id="DuploTrainBaseSpeaker-playSound-nav"><a href="DuploTrainBaseSpeaker.html#playSound">playSound</a></li><li data-type="method" id="DuploTrainBaseSpeaker-playTone-nav"><a href="DuploTrainBaseSpeaker.html#playTone">playTone</a></li></ul></li><li id="DuploTraniBaseSpeedometer-nav"><a href="DuploTraniBaseSpeedometer.html">DuploTraniBaseSpeedometer</a></li><li id="Hub-nav"><a href="Hub.html">Hub</a><ul class='methods'><li data-type="method" id="Hub-connect-nav"><a href="Hub.html#connect">connect</a></li><li data-type="method" id="Hub-createVirtualPort-nav"><a href="Hub.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="Hub-disconnect-nav"><a href="Hub.html#disconnect">disconnect</a></li><li data-type="method" id="Hub-getDeviceAtPort-nav"><a href="Hub.html#getDeviceAtPort">getDeviceAtPort</a></li><li data-type="method" id="Hub-getDevices-nav"><a href="Hub.html#getDevices">getDevices</a></li><li data-type="method" id="Hub-getDevicesByType-nav"><a href="Hub.html#getDevicesByType">getDevicesByType</a></li><li data-type="method" id="Hub-setName-nav"><a href="Hub.html#setName">setName</a></li><li data-type="method" id="Hub-shutdown-nav"><a href="Hub.html#shutdown">shutdown</a></li><li data-type="method" id="Hub-sleep-nav"><a href="Hub.html#sleep">sleep</a></li><li data-type="method" id="Hub-wait-nav"><a href="Hub.html#wait">wait</a></li><li data-type="method" id="Hub-waitForDeviceAtPort-nav"><a href="Hub.html#waitForDeviceAtPort">waitForDeviceAtPort</a></li><li data-type="method" id="Hub-waitForDeviceByType-nav"><a href="Hub.html#waitForDeviceByType">waitForDeviceByType</a></li></ul></li><li id="HubLED-nav"><a href="HubLED.html">HubLED</a><ul class='methods'><li data-type="method" id="HubLED-setColor-nav"><a href="HubLED.html#setColor">setColor</a></li><li data-type="method" id="HubLED-setRGB-nav"><a href="HubLED.html#setRGB">setRGB</a></li></ul></li><li id="Light-nav"><a href="Light.html">Light</a><ul class='methods'><li data-type="method" id="Light-rampBrightness-nav"><a href="Light.html#rampBrightness">rampBrightness</a></li><li data-type="method" id="Light-setBrightness-nav"><a href="Light.html#setBrightness">setBrightness</a></li></ul></li><li id="LPF2Hub-nav"><a href="LPF2Hub.html">LPF2Hub</a><ul class='methods'><li data-type="method" id="LPF2Hub-createVirtualPort-nav"><a href="LPF2Hub.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="LPF2Hub-setName-nav"><a href="LPF2Hub.html#setName">setName</a></li><li data-type="method" id="LPF2Hub-shutdown-nav"><a href="LPF2Hub.html#shutdown">shutdown</a></li></ul></li><li id="Mario-nav"><a href="Mario.html">Mario</a><ul class='methods'><li data-type="method" id="Mario-createVirtualPort-nav"><a href="Mario.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="Mario-setName-nav"><a href="Mario.html#setName">setName</a></li><li data-type="method" id="Mario-shutdown-nav"><a href="Mario.html#shutdown">shutdown</a></li></ul></li><li id="MarioAccelerometer-nav"><a href="MarioAccelerometer.html">MarioAccelerometer</a></li><li id="MarioBarcodeSensor-nav"><a href="MarioBarcodeSensor.html">MarioBarcodeSensor</a></li><li id="MarioPantsSensor-nav"><a href="MarioPantsSensor.html">MarioPantsSensor</a></li><li id="MediumLinearMotor-nav"><a href="MediumLinearMotor.html">MediumLinearMotor</a><ul class='methods'><li data-type="method" id="MediumLinearMotor-rotateByDegrees-nav"><a href="MediumLinearMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="MediumLinearMotor-setAccelerationTime-nav"><a href="MediumLinearMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="MediumLinearMotor-setBrakingStyle-nav"><a href="MediumLinearMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="MediumLinearMotor-setDecelerationTime-nav"><a href="MediumLinearMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="MediumLinearMotor-setMaxPower-nav"><a href="MediumLinearMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="MediumLinearMotor-setSpeed-nav"><a href="MediumLinearMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="MotionSensor-nav"><a href="MotionSensor.html">MotionSensor</a></li><li id="MoveHub-nav"><a href="MoveHub.html">MoveHub</a><ul class='methods'><li data-type="method" id="MoveHub-createVirtualPort-nav"><a href="MoveHub.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="MoveHub-setName-nav"><a href="MoveHub.html#setName">setName</a></li><li data-type="method" id="MoveHub-shutdown-nav"><a href="MoveHub.html#shutdown">shutdown</a></li></ul></li><li id="MoveHubMediumLinearMotor-nav"><a href="MoveHubMediumLinearMotor.html">MoveHubMediumLinearMotor</a><ul class='methods'><li data-type="method" id="MoveHubMediumLinearMotor-rotateByDegrees-nav"><a href="MoveHubMediumLinearMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setAccelerationTime-nav"><a href="MoveHubMediumLinearMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setBrakingStyle-nav"><a href="MoveHubMediumLinearMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setDecelerationTime-nav"><a href="MoveHubMediumLinearMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setMaxPower-nav"><a href="MoveHubMediumLinearMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setSpeed-nav"><a href="MoveHubMediumLinearMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="MoveHubTiltSensor-nav"><a href="MoveHubTiltSensor.html">MoveHubTiltSensor</a></li><li id="PiezoBuzzer-nav"><a href="PiezoBuzzer.html">PiezoBuzzer</a><ul class='methods'><li data-type="method" id="PiezoBuzzer-playTone-nav"><a href="PiezoBuzzer.html#playTone">playTone</a></li></ul></li><li id="PoweredUP-nav"><a href="PoweredUP.html">PoweredUP</a><ul class='methods'><li data-type="method" id="PoweredUP-getHubByPrimaryMACAddress-nav"><a href="PoweredUP.html#getHubByPrimaryMACAddress">getHubByPrimaryMACAddress</a></li><li data-type="method" id="PoweredUP-getHubByPrimaryMACAddress-nav"><a href="PoweredUP.html#getHubByPrimaryMACAddress">getHubByPrimaryMACAddress</a></li><li data-type="method" id="PoweredUP-getHubByUUID-nav"><a href="PoweredUP.html#getHubByUUID">getHubByUUID</a></li><li data-type="method" id="PoweredUP-getHubByUUID-nav"><a href="PoweredUP.html#getHubByUUID">getHubByUUID</a></li><li data-type="method" id="PoweredUP-getHubs-nav"><a href="PoweredUP.html#getHubs">getHubs</a></li><li data-type="method" id="PoweredUP-getHubs-nav"><a href="PoweredUP.html#getHubs">getHubs</a></li><li data-type="method" id="PoweredUP-getHubsByName-nav"><a href="PoweredUP.html#getHubsByName">getHubsByName</a></li><li data-type="method" id="PoweredUP-getHubsByName-nav"><a href="PoweredUP.html#getHubsByName">getHubsByName</a></li><li data-type="method" id="PoweredUP-getHubsByType-nav"><a href="PoweredUP.html#getHubsByType">getHubsByType</a></li><li data-type="method" id="PoweredUP-getHubsByType-nav"><a href="PoweredUP.html#getHubsByType">getHubsByType</a></li><li data-type="method" id="PoweredUP-scan-nav"><a href="PoweredUP.html#scan">scan</a></li><li data-type="method" id="PoweredUP-scan-nav"><a href="PoweredUP.html#scan">scan</a></li><li data-type="method" id="PoweredUP-stop-nav"><a href="PoweredUP.html#stop">stop</a></li></ul></li><li id="RemoteControl-nav"><a href="RemoteControl.html">RemoteControl</a><ul class='methods'><li data-type="method" id="RemoteControl-createVirtualPort-nav"><a href="RemoteControl.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="RemoteControl-setName-nav"><a href="RemoteControl.html#setName">setName</a></li><li data-type="method" id="RemoteControl-shutdown-nav"><a href="RemoteControl.html#shutdown">shutdown</a></li></ul></li><li id="RemoteControlButton-nav"><a href="RemoteControlButton.html">RemoteControlButton</a></li><li id="SimpleMediumLinearMotor-nav"><a href="SimpleMediumLinearMotor.html">SimpleMediumLinearMotor</a></li><li id="TachoMotor-nav"><a href="TachoMotor.html">TachoMotor</a><ul class='methods'><li data-type="method" id="TachoMotor-brake-nav"><a href="TachoMotor.html#brake">brake</a></li><li data-type="method" id="TachoMotor-rampPower-nav"><a href="TachoMotor.html#rampPower">rampPower</a></li><li data-type="method" id="TachoMotor-rotateByDegrees-nav"><a href="TachoMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TachoMotor-setAccelerationTime-nav"><a href="TachoMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TachoMotor-setBrakingStyle-nav"><a href="TachoMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TachoMotor-setDecelerationTime-nav"><a href="TachoMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TachoMotor-setMaxPower-nav"><a href="TachoMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TachoMotor-setPower-nav"><a href="TachoMotor.html#setPower">setPower</a></li><li data-type="method" id="TachoMotor-setSpeed-nav"><a href="TachoMotor.html#setSpeed">setSpeed</a></li><li data-type="method" id="TachoMotor-stop-nav"><a href="TachoMotor.html#stop">stop</a></li></ul></li><li id="Technic3x3ColorLightMatrix-nav"><a href="Technic3x3ColorLightMatrix.html">Technic3x3ColorLightMatrix</a><ul class='methods'><li data-type="method" id="Technic3x3ColorLightMatrix-setMatrix-nav"><a href="Technic3x3ColorLightMatrix.html#setMatrix">setMatrix</a></li></ul></li><li id="TechnicColorSensor-nav"><a href="TechnicColorSensor.html">TechnicColorSensor</a><ul class='methods'><li data-type="method" id="TechnicColorSensor-setBrightness-nav"><a href="TechnicColorSensor.html#setBrightness">setBrightness</a></li></ul></li><li id="TechnicDistanceSensor-nav"><a href="TechnicDistanceSensor.html">TechnicDistanceSensor</a><ul class='methods'><li data-type="method" id="TechnicDistanceSensor-setBrightness-nav"><a href="TechnicDistanceSensor.html#setBrightness">setBrightness</a></li></ul></li><li id="TechnicForceSensor-nav"><a href="TechnicForceSensor.html">TechnicForceSensor</a></li><li id="TechnicLargeAngularMotor-nav"><a href="TechnicLargeAngularMotor.html">TechnicLargeAngularMotor</a><ul class='methods'><li data-type="method" id="TechnicLargeAngularMotor-gotoAngle-nav"><a href="TechnicLargeAngularMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicLargeAngularMotor-gotoRealZero-nav"><a href="TechnicLargeAngularMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicLargeAngularMotor-resetZero-nav"><a href="TechnicLargeAngularMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicLargeAngularMotor-rotateByDegrees-nav"><a href="TechnicLargeAngularMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicLargeAngularMotor-setAccelerationTime-nav"><a href="TechnicLargeAngularMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicLargeAngularMotor-setBrakingStyle-nav"><a href="TechnicLargeAngularMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicLargeAngularMotor-setDecelerationTime-nav"><a href="TechnicLargeAngularMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicLargeAngularMotor-setMaxPower-nav"><a href="TechnicLargeAngularMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicLargeAngularMotor-setSpeed-nav"><a href="TechnicLargeAngularMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TechnicLargeLinearMotor-nav"><a href="TechnicLargeLinearMotor.html">TechnicLargeLinearMotor</a><ul class='methods'><li data-type="method" id="TechnicLargeLinearMotor-gotoAngle-nav"><a href="TechnicLargeLinearMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicLargeLinearMotor-gotoRealZero-nav"><a href="TechnicLargeLinearMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicLargeLinearMotor-resetZero-nav"><a href="TechnicLargeLinearMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicLargeLinearMotor-rotateByDegrees-nav"><a href="TechnicLargeLinearMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicLargeLinearMotor-setAccelerationTime-nav"><a href="TechnicLargeLinearMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicLargeLinearMotor-setBrakingStyle-nav"><a href="TechnicLargeLinearMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicLargeLinearMotor-setDecelerationTime-nav"><a href="TechnicLargeLinearMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicLargeLinearMotor-setMaxPower-nav"><a href="TechnicLargeLinearMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicLargeLinearMotor-setSpeed-nav"><a href="TechnicLargeLinearMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TechnicMediumAngularMotor-nav"><a href="TechnicMediumAngularMotor.html">TechnicMediumAngularMotor</a><ul class='methods'><li data-type="method" id="TechnicMediumAngularMotor-gotoAngle-nav"><a href="TechnicMediumAngularMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicMediumAngularMotor-gotoRealZero-nav"><a href="TechnicMediumAngularMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicMediumAngularMotor-resetZero-nav"><a href="TechnicMediumAngularMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicMediumAngularMotor-rotateByDegrees-nav"><a href="TechnicMediumAngularMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicMediumAngularMotor-setAccelerationTime-nav"><a href="TechnicMediumAngularMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicMediumAngularMotor-setBrakingStyle-nav"><a href="TechnicMediumAngularMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicMediumAngularMotor-setDecelerationTime-nav"><a href="TechnicMediumAngularMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicMediumAngularMotor-setMaxPower-nav"><a href="TechnicMediumAngularMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicMediumAngularMotor-setSpeed-nav"><a href="TechnicMediumAngularMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TechnicMediumHub-nav"><a href="TechnicMediumHub.html">TechnicMediumHub</a><ul class='methods'><li data-type="method" id="TechnicMediumHub-createVirtualPort-nav"><a href="TechnicMediumHub.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="TechnicMediumHub-setName-nav"><a href="TechnicMediumHub.html#setName">setName</a></li><li data-type="method" id="TechnicMediumHub-shutdown-nav"><a href="TechnicMediumHub.html#shutdown">shutdown</a></li></ul></li><li id="TechnicMediumHubAccelerometerSensor-nav"><a href="TechnicMediumHubAccelerometerSensor.html">TechnicMediumHubAccelerometerSensor</a></li><li id="TechnicMediumHubGyroSensor-nav"><a href="TechnicMediumHubGyroSensor.html">TechnicMediumHubGyroSensor</a></li><li id="TechnicMediumHubTiltSensor-nav"><a href="TechnicMediumHubTiltSensor.html">TechnicMediumHubTiltSensor</a><ul class='methods'><li data-type="method" id="TechnicMediumHubTiltSensor-setImpactCount-nav"><a href="TechnicMediumHubTiltSensor.html#setImpactCount">setImpactCount</a></li><li data-type="method" id="TechnicMediumHubTiltSensor-setImpactHoldoff-nav"><a href="TechnicMediumHubTiltSensor.html#setImpactHoldoff">setImpactHoldoff</a></li><li data-type="method" id="TechnicMediumHubTiltSensor-setImpactThreshold-nav"><a href="TechnicMediumHubTiltSensor.html#setImpactThreshold">setImpactThreshold</a></li></ul></li><li id="TechnicSmallAngularMotor-nav"><a href="TechnicSmallAngularMotor.html">TechnicSmallAngularMotor</a><ul class='methods'><li data-type="method" id="TechnicSmallAngularMotor-gotoAngle-nav"><a href="TechnicSmallAngularMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicSmallAngularMotor-gotoRealZero-nav"><a href="TechnicSmallAngularMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicSmallAngularMotor-resetZero-nav"><a href="TechnicSmallAngularMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicSmallAngularMotor-rotateByDegrees-nav"><a href="TechnicSmallAngularMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicSmallAngularMotor-setAccelerationTime-nav"><a href="TechnicSmallAngularMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicSmallAngularMotor-setBrakingStyle-nav"><a href="TechnicSmallAngularMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicSmallAngularMotor-setDecelerationTime-nav"><a href="TechnicSmallAngularMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicSmallAngularMotor-setMaxPower-nav"><a href="TechnicSmallAngularMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicSmallAngularMotor-setSpeed-nav"><a href="TechnicSmallAngularMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TechnicXLargeLinearMotor-nav"><a href="TechnicXLargeLinearMotor.html">TechnicXLargeLinearMotor</a><ul class='methods'><li data-type="method" id="TechnicXLargeLinearMotor-gotoAngle-nav"><a href="TechnicXLargeLinearMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicXLargeLinearMotor-gotoRealZero-nav"><a href="TechnicXLargeLinearMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicXLargeLinearMotor-resetZero-nav"><a href="TechnicXLargeLinearMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicXLargeLinearMotor-rotateByDegrees-nav"><a href="TechnicXLargeLinearMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setAccelerationTime-nav"><a href="TechnicXLargeLinearMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setBrakingStyle-nav"><a href="TechnicXLargeLinearMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setDecelerationTime-nav"><a href="TechnicXLargeLinearMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setMaxPower-nav"><a href="TechnicXLargeLinearMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setSpeed-nav"><a href="TechnicXLargeLinearMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TiltSensor-nav"><a href="TiltSensor.html">TiltSensor</a></li><li id="TrainMotor-nav"><a href="TrainMotor.html">TrainMotor</a><ul class='methods'><li data-type="method" id="TrainMotor-brake-nav"><a href="TrainMotor.html#brake">brake</a></li><li data-type="method" id="TrainMotor-rampPower-nav"><a href="TrainMotor.html#rampPower">rampPower</a></li><li data-type="method" id="TrainMotor-setPower-nav"><a href="TrainMotor.html#setPower">setPower</a></li><li data-type="method" id="TrainMotor-stop-nav"><a href="TrainMotor.html#stop">stop</a></li></ul></li><li id="VoltageSensor-nav"><a href="VoltageSensor.html">VoltageSensor</a></li><li id="WeDo2SmartHub-nav"><a href="WeDo2SmartHub.html">WeDo2SmartHub</a><ul class='methods'><li data-type="method" id="WeDo2SmartHub-setName-nav"><a href="WeDo2SmartHub.html#setName">setName</a></li><li data-type="method" id="WeDo2SmartHub-shutdown-nav"><a href="WeDo2SmartHub.html#shutdown">shutdown</a></li></ul></li></ul><h3 id="global-nav"><a href="global.html">Global</a></h3>
79
- </nav>
80
-
81
- <div id="main">
82
-
83
- <h1 class="page-title">
84
- hubs/basehub.js
85
- </h1>
86
-
87
-
88
-
89
-
90
-
91
- <section>
92
- <article>
93
- <pre class="prettyprint source linenums"><code>"use strict";
94
- var __createBinding = (this &amp;&amp; this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
95
- if (k2 === undefined) k2 = k;
96
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
97
- }) : (function(o, m, k, k2) {
98
- if (k2 === undefined) k2 = k;
99
- o[k2] = m[k];
100
- }));
101
- var __setModuleDefault = (this &amp;&amp; this.__setModuleDefault) || (Object.create ? (function(o, v) {
102
- Object.defineProperty(o, "default", { enumerable: true, value: v });
103
- }) : function(o, v) {
104
- o["default"] = v;
105
- });
106
- var __importStar = (this &amp;&amp; this.__importStar) || function (mod) {
107
- if (mod &amp;&amp; mod.__esModule) return mod;
108
- var result = {};
109
- if (mod != null) for (var k in mod) if (k !== "default" &amp;&amp; Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
110
- __setModuleDefault(result, mod);
111
- return result;
112
- };
113
- Object.defineProperty(exports, "__esModule", { value: true });
114
- exports.BaseHub = void 0;
115
- const events_1 = require("events");
116
- const colordistancesensor_1 = require("../devices/colordistancesensor");
117
- const currentsensor_1 = require("../devices/currentsensor");
118
- const device_1 = require("../devices/device");
119
- const duplotrainbasecolorsensor_1 = require("../devices/duplotrainbasecolorsensor");
120
- const duplotrainbasemotor_1 = require("../devices/duplotrainbasemotor");
121
- const duplotrainbasespeaker_1 = require("../devices/duplotrainbasespeaker");
122
- const duplotrainbasespeedometer_1 = require("../devices/duplotrainbasespeedometer");
123
- const hubled_1 = require("../devices/hubled");
124
- const light_1 = require("../devices/light");
125
- const marioaccelerometer_1 = require("../devices/marioaccelerometer");
126
- const mariobarcodesensor_1 = require("../devices/mariobarcodesensor");
127
- const mariopantssensor_1 = require("../devices/mariopantssensor");
128
- const mediumlinearmotor_1 = require("../devices/mediumlinearmotor");
129
- const motionsensor_1 = require("../devices/motionsensor");
130
- const movehubmediumlinearmotor_1 = require("../devices/movehubmediumlinearmotor");
131
- const movehubtiltsensor_1 = require("../devices/movehubtiltsensor");
132
- const piezobuzzer_1 = require("../devices/piezobuzzer");
133
- const remotecontrolbutton_1 = require("../devices/remotecontrolbutton");
134
- const simplemediumlinearmotor_1 = require("../devices/simplemediumlinearmotor");
135
- const techniccolorsensor_1 = require("../devices/techniccolorsensor");
136
- const technicdistancesensor_1 = require("../devices/technicdistancesensor");
137
- const technicforcesensor_1 = require("../devices/technicforcesensor");
138
- const techniclargeangularmotor_1 = require("../devices/techniclargeangularmotor");
139
- const techniclargelinearmotor_1 = require("../devices/techniclargelinearmotor");
140
- const technicsmallangularmotor_1 = require("../devices/technicsmallangularmotor");
141
- const technicmediumangularmotor_1 = require("../devices/technicmediumangularmotor");
142
- const technicmediumhubaccelerometersensor_1 = require("../devices/technicmediumhubaccelerometersensor");
143
- const technicmediumhubgyrosensor_1 = require("../devices/technicmediumhubgyrosensor");
144
- const technicmediumhubtiltsensor_1 = require("../devices/technicmediumhubtiltsensor");
145
- const technicxlargelinearmotor_1 = require("../devices/technicxlargelinearmotor");
146
- const tiltsensor_1 = require("../devices/tiltsensor");
147
- const trainmotor_1 = require("../devices/trainmotor");
148
- const voltagesensor_1 = require("../devices/voltagesensor");
149
- const Consts = __importStar(require("../consts"));
150
- const Debug = require("debug");
151
- const technic3x3colorlightmatrix_1 = require("../devices/technic3x3colorlightmatrix");
152
- const debug = Debug("basehub");
153
- /**
154
- * @class BaseHub
155
- * @extends EventEmitter
156
- */
157
- class BaseHub extends events_1.EventEmitter {
158
- constructor(bleDevice, portMap = {}, type = Consts.HubType.UNKNOWN) {
159
- super();
160
- this._attachedDevices = {};
161
- this._name = "";
162
- this._firmwareVersion = "0.0.00.0000";
163
- this._hardwareVersion = "0.0.00.0000";
164
- this._primaryMACAddress = "00:00:00:00:00:00";
165
- this._batteryLevel = 100;
166
- this._rssi = -60;
167
- this._portMap = {};
168
- this._virtualPorts = [];
169
- this._attachCallbacks = [];
170
- this.setMaxListeners(23); // Technic Medium Hub has 9 built in devices + 4 external ports. Node.js throws a warning after 10 attached event listeners.
171
- this._type = type;
172
- this._bleDevice = bleDevice;
173
- this._portMap = Object.assign({}, portMap);
174
- bleDevice.on("disconnect", () => {
175
- /**
176
- * Emits when the hub is disconnected.
177
- * @event Hub#disconnect
178
- */
179
- this.emit("disconnect");
180
- });
181
- }
182
- /**
183
- * @readonly
184
- * @property {string} name Name of the hub
185
- */
186
- get name() {
187
- return this._bleDevice.name;
188
- }
189
- /**
190
- * @readonly
191
- * @property {string} connected Connected status
192
- */
193
- get connected() {
194
- return this._bleDevice.connected;
195
- }
196
- /**
197
- * @readonly
198
- * @property {string} connecting Connecting status
199
- */
200
- get connecting() {
201
- return this._bleDevice.connecting;
202
- }
203
- /**
204
- * @readonly
205
- * @property {string} type Hub type
206
- */
207
- get type() {
208
- return this._type;
209
- }
210
- /**
211
- * @readonly
212
- * @property {string[]} ports Array of port names
213
- */
214
- get ports() {
215
- return Object.keys(this._portMap);
216
- }
217
- /**
218
- * @readonly
219
- * @property {string} firmwareVersion Firmware version of the hub
220
- */
221
- get firmwareVersion() {
222
- return this._firmwareVersion;
223
- }
224
- /**
225
- * @readonly
226
- * @property {string} hardwareVersion Hardware version of the hub
227
- */
228
- get hardwareVersion() {
229
- return this._hardwareVersion;
230
- }
231
- /**
232
- * @readonly
233
- * @property {string} primaryMACAddress Primary MAC address of the hub
234
- */
235
- get primaryMACAddress() {
236
- return this._primaryMACAddress;
237
- }
238
- /**
239
- * @readonly
240
- * @property {string} uuid UUID of the hub
241
- */
242
- get uuid() {
243
- return this._bleDevice.uuid;
244
- }
245
- /**
246
- * @readonly
247
- * @property {number} batteryLevel Battery level of the hub (Percentage between 0-100)
248
- */
249
- get batteryLevel() {
250
- return this._batteryLevel;
251
- }
252
- /**
253
- * @readonly
254
- * @property {number} rssi Signal strength of the hub
255
- */
256
- get rssi() {
257
- return this._rssi;
258
- }
259
- /**
260
- * Connect to the Hub.
261
- * @method Hub#connect
262
- * @returns {Promise} Resolved upon successful connect.
263
- */
264
- connect() {
265
- if (this._bleDevice.connecting) {
266
- throw new Error("Already connecting");
267
- }
268
- else if (this._bleDevice.connected) {
269
- throw new Error("Already connected");
270
- }
271
- return this._bleDevice.connect();
272
- }
273
- /**
274
- * Disconnect the Hub.
275
- * @method Hub#disconnect
276
- * @returns {Promise} Resolved upon successful disconnect.
277
- */
278
- disconnect() {
279
- return this._bleDevice.disconnect();
280
- }
281
- /**
282
- * Retrieves the device attached to a given port.
283
- * @method Hub#getDeviceAtPort
284
- * @param {string} portName The name of the port to retrieve the device from.
285
- * @returns {Device | undefined} The device attached to the port.
286
- */
287
- getDeviceAtPort(portName) {
288
- const portId = this._portMap[portName];
289
- if (portId !== undefined) {
290
- return this._attachedDevices[portId];
291
- }
292
- else {
293
- return undefined;
294
- }
295
- }
296
- /**
297
- * Retrieves the device attached to a given port, waiting until one is attached if there isn't one.
298
- *
299
- * Note: If a device is never attached, the returned promise may never resolve.
300
- * @method Hub#waitForDeviceAtPort
301
- * @param {string} portName The name of the port to retrieve the device from.
302
- * @returns {Promise} Resolved once a device is attached, or resolved immediately if a device is already attached.
303
- */
304
- waitForDeviceAtPort(portName) {
305
- return new Promise((resolve) => {
306
- const existingDevice = this.getDeviceAtPort(portName);
307
- if (existingDevice) {
308
- return resolve(existingDevice);
309
- }
310
- this._attachCallbacks.push((device) => {
311
- if (device.portName === portName) {
312
- resolve(device);
313
- return true;
314
- }
315
- else {
316
- return false;
317
- }
318
- });
319
- });
320
- }
321
- /**
322
- * Retrieves all attached devices.
323
- * @method Hub#getDevices
324
- * @returns {Device[]} Array of all attached devices.
325
- */
326
- getDevices() {
327
- return Object.values(this._attachedDevices);
328
- }
329
- /**
330
- * Retrieves an array of devices of the specified type.
331
- * @method Hub#getDevicesByType
332
- * @param {number} deviceType The device type to lookup.
333
- * @returns {Device[]} Array of all devices of the specified type.
334
- */
335
- getDevicesByType(deviceType) {
336
- return this.getDevices().filter((device) => device.type === deviceType);
337
- }
338
- /**
339
- * Retrieves the first device attached of the specified type, waiting until one is attached if there isn't one.
340
- *
341
- * Note: If a device is never attached, the returned promise may never resolve.
342
- * @method Hub#waitForDeviceByType
343
- * @param {number} deviceType The device type to lookup.
344
- * @returns {Promise} Resolved once a device is attached, or resolved immediately if a device is already attached.
345
- */
346
- waitForDeviceByType(deviceType) {
347
- return new Promise((resolve) => {
348
- const existingDevices = this.getDevicesByType(deviceType);
349
- if (existingDevices.length >= 1) {
350
- return resolve(existingDevices[0]);
351
- }
352
- this._attachCallbacks.push((device) => {
353
- if (device.type === deviceType) {
354
- resolve(device);
355
- return true;
356
- }
357
- else {
358
- return false;
359
- }
360
- });
361
- });
362
- }
363
- getPortNameForPortId(portId) {
364
- for (const port of Object.keys(this._portMap)) {
365
- if (this._portMap[port] === portId) {
366
- return port;
367
- }
368
- }
369
- return;
370
- }
371
- isPortVirtual(portId) {
372
- return (this._virtualPorts.indexOf(portId) > -1);
373
- }
374
- /**
375
- * Sleep a given amount of time.
376
- *
377
- * Note: This is a helper method to make it easier to add delays into a chain of commands.
378
- * @method Hub#sleep
379
- * @param {number} delay How long to sleep (in milliseconds).
380
- * @returns {Promise} Resolved after the delay is finished.
381
- */
382
- sleep(delay) {
383
- return new Promise((resolve) => {
384
- global.setTimeout(resolve, delay);
385
- });
386
- }
387
- /**
388
- * Wait until a given list of concurrently running commands are complete.
389
- *
390
- * Note: This is a helper method to make it easier to wait for concurrent commands to complete.
391
- * @method Hub#wait
392
- * @param {Array&lt;Promise&lt;any>>} commands Array of executing commands.
393
- * @returns {Promise} Resolved after the commands are finished.
394
- */
395
- wait(commands) {
396
- return Promise.all(commands);
397
- }
398
- send(message, uuid) {
399
- return Promise.resolve();
400
- }
401
- subscribe(portId, deviceType, mode) {
402
- // NK Do nothing here
403
- }
404
- unsubscribe(portId, deviceType, mode) {
405
- // NK Do nothing here
406
- }
407
- manuallyAttachDevice(deviceType, portId) {
408
- if (!this._attachedDevices[portId]) {
409
- debug(`No device attached to portId ${portId}, creating and attaching device type ${deviceType}`);
410
- const device = this._createDevice(deviceType, portId);
411
- this._attachDevice(device);
412
- return device;
413
- }
414
- else {
415
- if (this._attachedDevices[portId].type === deviceType) {
416
- debug(`Device of ${deviceType} already attached to portId ${portId}, returning existing device`);
417
- return this._attachedDevices[portId];
418
- }
419
- else {
420
- throw new Error(`Already a different type of device attached to portId ${portId}. Only use this method when you are certain what's attached.`);
421
- }
422
- }
423
- }
424
- _attachDevice(device) {
425
- if (this._attachedDevices[device.portId] &amp;&amp; this._attachedDevices[device.portId].type === device.type) {
426
- return;
427
- }
428
- this._attachedDevices[device.portId] = device;
429
- /**
430
- * Emits when a device is attached to the Hub.
431
- * @event Hub#attach
432
- * @param {Device} device
433
- */
434
- this.emit("attach", device);
435
- debug(`Attached device type ${device.type} (${Consts.DeviceTypeNames[device.type]}) on port ${device.portName} (${device.portId})`);
436
- let i = this._attachCallbacks.length;
437
- while (i--) {
438
- const callback = this._attachCallbacks[i];
439
- if (callback(device)) {
440
- this._attachCallbacks.splice(i, 1);
441
- }
442
- }
443
- }
444
- _detachDevice(device) {
445
- delete this._attachedDevices[device.portId];
446
- /**
447
- * Emits when a device is detached from the Hub.
448
- * @event Hub#detach
449
- * @param {Device} device
450
- */
451
- this.emit("detach", device);
452
- debug(`Detached device type ${device.type} (${Consts.DeviceTypeNames[device.type]}) on port ${device.portName} (${device.portId})`);
453
- }
454
- _createDevice(deviceType, portId) {
455
- let constructor;
456
- // NK TODO: This needs to go in a better place
457
- const deviceConstructors = {
458
- [Consts.DeviceType.LIGHT]: light_1.Light,
459
- [Consts.DeviceType.TRAIN_MOTOR]: trainmotor_1.TrainMotor,
460
- [Consts.DeviceType.SIMPLE_MEDIUM_LINEAR_MOTOR]: simplemediumlinearmotor_1.SimpleMediumLinearMotor,
461
- [Consts.DeviceType.MOVE_HUB_MEDIUM_LINEAR_MOTOR]: movehubmediumlinearmotor_1.MoveHubMediumLinearMotor,
462
- [Consts.DeviceType.MOTION_SENSOR]: motionsensor_1.MotionSensor,
463
- [Consts.DeviceType.TILT_SENSOR]: tiltsensor_1.TiltSensor,
464
- [Consts.DeviceType.MOVE_HUB_TILT_SENSOR]: movehubtiltsensor_1.MoveHubTiltSensor,
465
- [Consts.DeviceType.PIEZO_BUZZER]: piezobuzzer_1.PiezoBuzzer,
466
- [Consts.DeviceType.TECHNIC_COLOR_SENSOR]: techniccolorsensor_1.TechnicColorSensor,
467
- [Consts.DeviceType.TECHNIC_DISTANCE_SENSOR]: technicdistancesensor_1.TechnicDistanceSensor,
468
- [Consts.DeviceType.TECHNIC_FORCE_SENSOR]: technicforcesensor_1.TechnicForceSensor,
469
- [Consts.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR]: technicmediumhubtiltsensor_1.TechnicMediumHubTiltSensor,
470
- [Consts.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR]: technicmediumhubgyrosensor_1.TechnicMediumHubGyroSensor,
471
- [Consts.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER]: technicmediumhubaccelerometersensor_1.TechnicMediumHubAccelerometerSensor,
472
- [Consts.DeviceType.MEDIUM_LINEAR_MOTOR]: mediumlinearmotor_1.MediumLinearMotor,
473
- [Consts.DeviceType.TECHNIC_SMALL_ANGULAR_MOTOR]: technicsmallangularmotor_1.TechnicSmallAngularMotor,
474
- [Consts.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR]: technicmediumangularmotor_1.TechnicMediumAngularMotor,
475
- [Consts.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR]: techniclargeangularmotor_1.TechnicLargeAngularMotor,
476
- [Consts.DeviceType.TECHNIC_LARGE_LINEAR_MOTOR]: techniclargelinearmotor_1.TechnicLargeLinearMotor,
477
- [Consts.DeviceType.TECHNIC_XLARGE_LINEAR_MOTOR]: technicxlargelinearmotor_1.TechnicXLargeLinearMotor,
478
- [Consts.DeviceType.COLOR_DISTANCE_SENSOR]: colordistancesensor_1.ColorDistanceSensor,
479
- [Consts.DeviceType.VOLTAGE_SENSOR]: voltagesensor_1.VoltageSensor,
480
- [Consts.DeviceType.CURRENT_SENSOR]: currentsensor_1.CurrentSensor,
481
- [Consts.DeviceType.REMOTE_CONTROL_BUTTON]: remotecontrolbutton_1.RemoteControlButton,
482
- [Consts.DeviceType.HUB_LED]: hubled_1.HubLED,
483
- [Consts.DeviceType.DUPLO_TRAIN_BASE_COLOR_SENSOR]: duplotrainbasecolorsensor_1.DuploTrainBaseColorSensor,
484
- [Consts.DeviceType.DUPLO_TRAIN_BASE_MOTOR]: duplotrainbasemotor_1.DuploTrainBaseMotor,
485
- [Consts.DeviceType.DUPLO_TRAIN_BASE_SPEAKER]: duplotrainbasespeaker_1.DuploTrainBaseSpeaker,
486
- [Consts.DeviceType.DUPLO_TRAIN_BASE_SPEEDOMETER]: duplotrainbasespeedometer_1.DuploTrainBaseSpeedometer,
487
- [Consts.DeviceType.MARIO_ACCELEROMETER]: marioaccelerometer_1.MarioAccelerometer,
488
- [Consts.DeviceType.MARIO_BARCODE_SENSOR]: mariobarcodesensor_1.MarioBarcodeSensor,
489
- [Consts.DeviceType.MARIO_PANTS_SENSOR]: mariopantssensor_1.MarioPantsSensor,
490
- [Consts.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY]: technicmediumangularmotor_1.TechnicMediumAngularMotor,
491
- [Consts.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR_GREY]: techniclargeangularmotor_1.TechnicLargeAngularMotor,
492
- [Consts.DeviceType.TECHNIC_3X3_COLOR_LIGHT_MATRIX]: technic3x3colorlightmatrix_1.Technic3x3ColorLightMatrix,
493
- };
494
- constructor = deviceConstructors[deviceType];
495
- if (constructor) {
496
- return new constructor(this, portId, undefined, deviceType);
497
- }
498
- else {
499
- return new device_1.Device(this, portId, undefined, deviceType);
500
- }
501
- }
502
- _getDeviceByPortId(portId) {
503
- return this._attachedDevices[portId];
504
- }
505
- }
506
- exports.BaseHub = BaseHub;
507
- //# sourceMappingURL=basehub.js.map</code></pre>
508
- </article>
509
- </section>
510
-
511
-
512
-
513
-
514
- </div>
515
-
516
- <br class="clear">
517
-
518
- <footer>
519
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.7</a>
520
- </footer>
521
-
522
- <script src="scripts/linenumber.js"></script>
523
- <script src="scripts/pagelocation.js"></script>
524
-
525
-
526
-
527
- </body>
528
- </html>