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":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { TachoMotor } from "./tachomotor.js";
2
+ import { IDeviceInterface } from "../interfaces.js";
3
+ import * as Consts from "../consts.js";
4
+ /**
5
+ * @class AbsoluteMotor
6
+ * @extends TachoMotor
7
+ */
8
+ export declare class AbsoluteMotor extends TachoMotor {
9
+ constructor(hub: IDeviceInterface, portId: number, modeMap?: {
10
+ [event: string]: number;
11
+ }, type?: Consts.DeviceType);
12
+ receive(message: Buffer): void;
13
+ /**
14
+ * Rotate a motor by a given angle.
15
+ * @param {number} angle Absolute position the motor should go to (degrees from 0).
16
+ * @param {number} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100.
17
+ * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
18
+ */
19
+ gotoAngle(angle: [number, number] | number, speed?: number): Promise<void>;
20
+ /**
21
+ * Rotate motor to real zero position.
22
+ *
23
+ * Real zero is marked on Technic angular motors (SPIKE Prime). It is also available on Technic linear motors (Control+) but is unmarked.
24
+ * @param {number} [speed=100] Speed between 1 - 100. Note that this will always take the shortest path to zero.
25
+ * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
26
+ */
27
+ gotoRealZero(speed?: number): Promise<void>;
28
+ /**
29
+ * Reset zero to current position
30
+ * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
31
+ */
32
+ resetZero(): Promise<void>;
33
+ }
34
+ export declare enum Mode {
35
+ ROTATION = 2,
36
+ ABSOLUTE = 3
37
+ }
38
+ export declare const ModeMap: {
39
+ [event: string]: number;
40
+ };
41
+ //# sourceMappingURL=absolutemotor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"absolutemotor.d.ts","sourceRoot":"","sources":["../../src/devices/absolutemotor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAGvC;;;GAGG;AACH,qBAAa,aAAc,SAAQ,UAAU;gBAE5B,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAM,EAAE,IAAI,GAAE,MAAM,CAAC,UAAsC;IAIzI,OAAO,CAAE,OAAO,EAAE,MAAM;IAoB/B;;;;;OAKG;IACI,SAAS,CAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,GAAE,MAAY;IA6BvE;;;;;;OAMG;IACI,YAAY,CAAE,KAAK,GAAE,MAAY;IAwBxC;;;OAGG;IACI,SAAS;CASnB;AAED,oBAAY,IAAI;IACZ,QAAQ,IAAO;IACf,QAAQ,IAAO;CAClB;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAG7C,CAAC"}
@@ -0,0 +1,115 @@
1
+ import { TachoMotor } from "./tachomotor.js";
2
+ import * as Consts from "../consts.js";
3
+ import { mapSpeed, normalizeAngle } from "../utils.js";
4
+ /**
5
+ * @class AbsoluteMotor
6
+ * @extends TachoMotor
7
+ */
8
+ export class AbsoluteMotor extends TachoMotor {
9
+ constructor(hub, portId, modeMap = {}, type = Consts.DeviceType.UNKNOWN) {
10
+ super(hub, portId, Object.assign({}, modeMap, ModeMap), type);
11
+ }
12
+ receive(message) {
13
+ const mode = this._mode;
14
+ switch (mode) {
15
+ case Mode.ABSOLUTE:
16
+ const angle = normalizeAngle(message.readInt16LE(this.isWeDo2SmartHub ? 2 : 4));
17
+ /**
18
+ * Emits when a the motors absolute position is changed.
19
+ * @event AbsoluteMotor#absolute
20
+ * @type {object}
21
+ * @param {number} absolute
22
+ */
23
+ this.notify("absolute", { angle });
24
+ break;
25
+ default:
26
+ super.receive(message);
27
+ break;
28
+ }
29
+ }
30
+ /**
31
+ * Rotate a motor by a given angle.
32
+ * @param {number} angle Absolute position the motor should go to (degrees from 0).
33
+ * @param {number} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100.
34
+ * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
35
+ */
36
+ gotoAngle(angle, speed = 100) {
37
+ if (!this.isVirtualPort && angle instanceof Array) {
38
+ throw new Error("Only virtual ports can accept multiple positions");
39
+ }
40
+ if (this.isWeDo2SmartHub) {
41
+ throw new Error("Absolute positioning is not available on the WeDo 2.0 Smart Hub");
42
+ }
43
+ this.cancelEventTimer();
44
+ return new Promise((resolve) => {
45
+ if (speed === undefined || speed === null) {
46
+ speed = 100;
47
+ }
48
+ let message;
49
+ if (angle instanceof Array) {
50
+ message = Buffer.from([0x81, this.portId, 0x11, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, mapSpeed(speed), this._maxPower, this._brakeStyle, this.useProfile()]);
51
+ message.writeInt32LE(normalizeAngle(angle[0]), 4);
52
+ message.writeInt32LE(normalizeAngle(angle[1]), 8);
53
+ }
54
+ else {
55
+ message = Buffer.from([0x81, this.portId, 0x11, 0x0d, 0x00, 0x00, 0x00, 0x00, mapSpeed(speed), this._maxPower, this._brakeStyle, this.useProfile()]);
56
+ message.writeInt32LE(normalizeAngle(angle), 4);
57
+ }
58
+ this.send(message);
59
+ this._finishedCallbacks.push(() => {
60
+ return resolve();
61
+ });
62
+ });
63
+ }
64
+ /**
65
+ * Rotate motor to real zero position.
66
+ *
67
+ * Real zero is marked on Technic angular motors (SPIKE Prime). It is also available on Technic linear motors (Control+) but is unmarked.
68
+ * @param {number} [speed=100] Speed between 1 - 100. Note that this will always take the shortest path to zero.
69
+ * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
70
+ */
71
+ gotoRealZero(speed = 100) {
72
+ return new Promise((resolve) => {
73
+ const oldMode = this.mode;
74
+ let calibrated = false;
75
+ this.on("absolute", async ({ angle }) => {
76
+ if (!calibrated) {
77
+ calibrated = true;
78
+ if (angle < 0) {
79
+ angle = Math.abs(angle);
80
+ }
81
+ else {
82
+ speed = -speed;
83
+ }
84
+ await this.rotateByDegrees(angle, speed);
85
+ if (oldMode) {
86
+ this.subscribe(oldMode);
87
+ }
88
+ return resolve();
89
+ }
90
+ });
91
+ this.requestUpdate();
92
+ });
93
+ }
94
+ /**
95
+ * Reset zero to current position
96
+ * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
97
+ */
98
+ resetZero() {
99
+ return new Promise((resolve) => {
100
+ const data = Buffer.from([0x81, this.portId, 0x11, 0x51, 0x02, 0x00, 0x00, 0x00, 0x00]);
101
+ this.send(data);
102
+ return resolve();
103
+ });
104
+ }
105
+ }
106
+ export var Mode;
107
+ (function (Mode) {
108
+ Mode[Mode["ROTATION"] = 2] = "ROTATION";
109
+ Mode[Mode["ABSOLUTE"] = 3] = "ABSOLUTE";
110
+ })(Mode || (Mode = {}));
111
+ export const ModeMap = {
112
+ "rotate": Mode.ROTATION,
113
+ "absolute": Mode.ABSOLUTE
114
+ };
115
+ //# sourceMappingURL=absolutemotor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"absolutemotor.js","sourceRoot":"","sources":["../../src/devices/absolutemotor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { Device } from "./device.js";
2
+ import { IDeviceInterface } from "../interfaces.js";
3
+ import * as Consts from "../consts.js";
4
+ /**
5
+ * @class BasicMotor
6
+ * @extends Device
7
+ */
8
+ export declare class BasicMotor extends Device {
9
+ constructor(hub: IDeviceInterface, portId: number, modeMap: {
10
+ [event: string]: number;
11
+ }, type?: Consts.DeviceType);
12
+ /**
13
+ * Set the motor power.
14
+ * @param {number} power For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
15
+ * @returns {Promise} Resolved upon successful issuance of the command.
16
+ */
17
+ setPower(power: number, interrupt?: boolean): Promise<void>;
18
+ /**
19
+ * Ramp the motor power.
20
+ * @param {number} fromPower For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
21
+ * @param {number} toPower For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
22
+ * @param {number} time How long the ramp should last (in milliseconds).
23
+ * @returns {Promise} Resolved upon successful completion of command.
24
+ */
25
+ rampPower(fromPower: number, toPower: number, time: number): Promise<unknown>;
26
+ /**
27
+ * Stop the motor.
28
+ * @returns {Promise} Resolved upon successful issuance of the command.
29
+ */
30
+ stop(): Promise<void>;
31
+ /**
32
+ * Brake the motor.
33
+ * @returns {Promise} Resolved upon successful issuance of the command.
34
+ */
35
+ brake(): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=basicmotor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicmotor.d.ts","sourceRoot":"","sources":["../../src/devices/basicmotor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAIvC;;;GAGG;AACH,qBAAa,UAAW,SAAQ,MAAM;gBAGrB,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,EAAE,IAAI,GAAE,MAAM,CAAC,UAAsC;IAK3I;;;;OAIG;IACI,QAAQ,CAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc;IAQzD;;;;;;OAMG;IACI,SAAS,CAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAYlE;;;OAGG;IACI,IAAI;IAMX;;;OAGG;IACI,KAAK;CAMf"}
@@ -0,0 +1,57 @@
1
+ import { Device } from "./device.js";
2
+ import * as Consts from "../consts.js";
3
+ import { calculateRamp, mapSpeed } from "../utils.js";
4
+ /**
5
+ * @class BasicMotor
6
+ * @extends Device
7
+ */
8
+ export class BasicMotor extends Device {
9
+ constructor(hub, portId, modeMap, type = Consts.DeviceType.UNKNOWN) {
10
+ super(hub, portId, modeMap, type);
11
+ }
12
+ /**
13
+ * Set the motor power.
14
+ * @param {number} power For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
15
+ * @returns {Promise} Resolved upon successful issuance of the command.
16
+ */
17
+ setPower(power, interrupt = true) {
18
+ if (interrupt) {
19
+ this.cancelEventTimer();
20
+ }
21
+ return this.writeDirect(0x00, Buffer.from([mapSpeed(power)]));
22
+ }
23
+ /**
24
+ * Ramp the motor power.
25
+ * @param {number} fromPower For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
26
+ * @param {number} toPower For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
27
+ * @param {number} time How long the ramp should last (in milliseconds).
28
+ * @returns {Promise} Resolved upon successful completion of command.
29
+ */
30
+ rampPower(fromPower, toPower, time) {
31
+ this.cancelEventTimer();
32
+ return new Promise((resolve) => {
33
+ calculateRamp(this, fromPower, toPower, time)
34
+ .on("changePower", (power) => {
35
+ this.setPower(power, false);
36
+ })
37
+ .on("finished", resolve);
38
+ });
39
+ }
40
+ /**
41
+ * Stop the motor.
42
+ * @returns {Promise} Resolved upon successful issuance of the command.
43
+ */
44
+ stop() {
45
+ this.cancelEventTimer();
46
+ return this.setPower(0);
47
+ }
48
+ /**
49
+ * Brake the motor.
50
+ * @returns {Promise} Resolved upon successful issuance of the command.
51
+ */
52
+ brake() {
53
+ this.cancelEventTimer();
54
+ return this.setPower(Consts.BrakingStyle.BRAKE);
55
+ }
56
+ }
57
+ //# sourceMappingURL=basicmotor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicmotor.js","sourceRoot":"","sources":["../../src/devices/basicmotor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,MAAM;IAGlC,YAAa,GAAqB,EAAE,MAAc,EAAE,OAAkC,EAAE,OAA0B,MAAM,CAAC,UAAU,CAAC,OAAO;QACvI,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAGD;;;;OAIG;IACI,QAAQ,CAAE,KAAa,EAAE,YAAqB,IAAI;QACrD,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAGD;;;;;;OAMG;IACI,SAAS,CAAE,SAAiB,EAAE,OAAe,EAAE,IAAY;QAC9D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;iBAC5C,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC;iBACD,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAGD;;;OAGG;IACI,IAAI;QACP,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAGD;;;OAGG;IACI,KAAK;QACR,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;CAGJ"}
@@ -0,0 +1,74 @@
1
+ import { Device } from "./device.js";
2
+ import { IDeviceInterface } from "../interfaces.js";
3
+ /**
4
+ * @class ColorDistanceSensor
5
+ * @extends Device
6
+ */
7
+ export declare class ColorDistanceSensor extends Device {
8
+ constructor(hub: IDeviceInterface, portId: number);
9
+ receive(message: Buffer): void;
10
+ /**
11
+ * Switches the IR receiver into extended channel mode. After setting this, use channels 5-8 instead of 1-4 for this receiver.
12
+ *
13
+ * NOTE: Calling this with channel 5-8 with switch off extended channel mode for this receiver.
14
+ * @param {number} channel Channel number, between 1-8
15
+ * @returns {Promise} Resolved upon successful issuance of the command.
16
+ */
17
+ setPFExtendedChannel(channel: number): Promise<void>;
18
+ /**
19
+ * Set the power of a Power Functions motor via IR
20
+ * @param {number} channel Channel number, between 1-4
21
+ * @param {string} output Outport port, "RED" (A) or "BLUE" (B)
22
+ * @param {number} power -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
23
+ * @returns {Promise} Resolved upon successful issuance of the command.
24
+ */
25
+ setPFPower(channel: number, output: Output, power: number): Promise<void>;
26
+ /**
27
+ * Start Power Functions motors running via IR
28
+ *
29
+ * NOTE: This command is designed for bang-bang style operation. To keep the motors running, the sensor needs to be within range of the IR receiver constantly.
30
+ * @param {number} channel Channel number, between 1-4
31
+ * @param {number} powerBlue -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
32
+ * @param {number} powerRed -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
33
+ * @returns {Promise} Resolved upon successful issuance of the command.
34
+ */
35
+ startPFMotors(channel: number, powerBlue: number, powerRed: number): Promise<void>;
36
+ /**
37
+ * Send a raw Power Functions IR command
38
+ * @param {Buffer} message 2 byte payload making up a Power Functions protocol command. NOTE: Only specify nibbles 1-3, nibble 4 should be zeroed.
39
+ * @returns {Promise} Resolved upon successful issuance of the command.
40
+ */
41
+ sendPFIRMessage(message: Buffer): Promise<void>;
42
+ /**
43
+ * Set the color of the LED on the sensor via a color value.
44
+ * @param {Color} color
45
+ * @returns {Promise} Resolved upon successful issuance of the command.
46
+ */
47
+ setColor(color: number | boolean): Promise<void>;
48
+ /**
49
+ * Set the distance count value.
50
+ * @param {number} count distance count between 0 and 2^32
51
+ * @returns {Promise} Resolved upon successful issuance of the command.
52
+ */
53
+ setDistanceCount(count: number): Promise<void>;
54
+ private _pfPowerToPWM;
55
+ }
56
+ export declare enum Mode {
57
+ COLOR = 0,
58
+ DISTANCE = 1,
59
+ DISTANCE_COUNT = 2,
60
+ REFLECT = 3,
61
+ AMBIENT = 4,
62
+ LED = 5,
63
+ RGB_I = 6,
64
+ PF_IR = 7,
65
+ COLOR_AND_DISTANCE = 8
66
+ }
67
+ export declare const ModeMap: {
68
+ [event: string]: number;
69
+ };
70
+ export declare enum Output {
71
+ RED = "RED",
72
+ BLUE = "BLUE"
73
+ }
74
+ //# sourceMappingURL=colordistancesensor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colordistancesensor.d.ts","sourceRoot":"","sources":["../../src/devices/colordistancesensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKpD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,MAAM;gBAE9B,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;IAI3C,OAAO,CAAE,OAAO,EAAE,MAAM;IA0I/B;;;;;;OAMG;IACI,oBAAoB,CAAE,OAAO,EAAE,MAAM;IAc5C;;;;;;OAMG;IACI,UAAU,CAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAcjE;;;;;;;;OAQG;IACI,aAAa,CAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAc1E;;;;OAIG;IACI,eAAe,CAAE,OAAO,EAAE,MAAM;IAavC;;;;OAIG;IACI,QAAQ,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAexC;;;;OAIG;IACI,gBAAgB,CAAE,KAAK,EAAE,MAAM;IActC,OAAO,CAAC,aAAa;CAIxB;AAED,oBAAY,IAAI;IACZ,KAAK,IAAO;IACZ,QAAQ,IAAO;IACf,cAAc,IAAO;IACrB,OAAO,IAAO;IACd,OAAO,IAAO;IACd,GAAG,IAAO;IACV,KAAK,IAAO;IACZ,KAAK,IAAO;IACZ,kBAAkB,IAAO;CAC5B;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAQ7C,CAAC;AAEF,oBAAY,MAAM;IACd,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB"}
@@ -0,0 +1,278 @@
1
+ import { Device } from "./device.js";
2
+ import * as Consts from "../consts.js";
3
+ import { parseColor } from "../utils.js";
4
+ /**
5
+ * @class ColorDistanceSensor
6
+ * @extends Device
7
+ */
8
+ export class ColorDistanceSensor extends Device {
9
+ constructor(hub, portId) {
10
+ super(hub, portId, ModeMap, Consts.DeviceType.COLOR_DISTANCE_SENSOR);
11
+ }
12
+ receive(message) {
13
+ const mode = this._mode;
14
+ switch (mode) {
15
+ case Mode.COLOR:
16
+ if (message[this.isWeDo2SmartHub ? 2 : 4] <= 10) {
17
+ const color = parseColor(message[this.isWeDo2SmartHub ? 2 : 4]);
18
+ /**
19
+ * Emits when a color sensor is activated.
20
+ * @event ColorDistanceSensor#color
21
+ * @type {object}
22
+ * @param {Color} color
23
+ */
24
+ this.notify("color", { color });
25
+ }
26
+ break;
27
+ case Mode.DISTANCE:
28
+ if (this.isWeDo2SmartHub) {
29
+ break;
30
+ }
31
+ if (message[4] <= 10) {
32
+ let distance = Math.floor(message[4] * 25.4) - 20;
33
+ if (distance < 0) {
34
+ distance = 0;
35
+ }
36
+ /**
37
+ * Emits when a distance sensor is activated.
38
+ * @event ColorDistanceSensor#distance
39
+ * @type {object}
40
+ * @param {number} distance Distance, in millimeters.
41
+ */
42
+ this.notify("distance", { distance });
43
+ }
44
+ break;
45
+ case Mode.DISTANCE_COUNT:
46
+ if (this.isWeDo2SmartHub) {
47
+ break;
48
+ }
49
+ if (message.length !== 8) {
50
+ // if mode of device has not changed to this._mode yet
51
+ break;
52
+ }
53
+ const count = message.readUInt32LE(4);
54
+ /**
55
+ * Emits when distance is reduced to less than 10 centimeters.
56
+ * @event ColorDistanceSensor#distanceCount
57
+ * @type {object}
58
+ * @param {number} number of distance events.
59
+ */
60
+ this.notify("distanceCount", { count });
61
+ break;
62
+ case Mode.REFLECT:
63
+ if (this.isWeDo2SmartHub) {
64
+ break;
65
+ }
66
+ const reflect = message[4];
67
+ /**
68
+ * Event measuring reflection change, emits when the sensor is activated.
69
+ * @event ColorDistanceSensor#reflect
70
+ * @type {object}
71
+ * @param {number} percentage from 0 to 100.
72
+ */
73
+ this.notify("reflect", { reflect });
74
+ break;
75
+ case Mode.AMBIENT:
76
+ if (this.isWeDo2SmartHub) {
77
+ break;
78
+ }
79
+ const ambient = message[4];
80
+ /**
81
+ * Event measuring abient light change, emits when the sensor is activated.
82
+ * @event ColorDistanceSensor#ambient
83
+ * @type {object}
84
+ * @param {number} percentage from 0 to 100.
85
+ */
86
+ this.notify("ambient", { ambient });
87
+ break;
88
+ case Mode.RGB_I:
89
+ if (this.isWeDo2SmartHub) {
90
+ break;
91
+ }
92
+ if (message.length !== 10) {
93
+ // if mode of device has not changed to this._mode yet
94
+ break;
95
+ }
96
+ const red = message.readUInt16LE(4);
97
+ const green = message.readUInt16LE(6);
98
+ const blue = message.readUInt16LE(8);
99
+ /**
100
+ * Emits when a color sensor is activated.
101
+ * @event ColorDistanceSensor#rgbIntensity
102
+ * @type {object}
103
+ * @param {number} red
104
+ * @param {number} green
105
+ * @param {number} blue
106
+ */
107
+ this.notify("rgbIntensity", { red, green, blue });
108
+ break;
109
+ case Mode.COLOR_AND_DISTANCE:
110
+ if (this.isWeDo2SmartHub) {
111
+ break;
112
+ }
113
+ let distance = message[5];
114
+ const partial = message[7];
115
+ if (partial > 0) {
116
+ distance += 1.0 / partial;
117
+ }
118
+ distance = Math.floor(distance * 25.4) - 20;
119
+ /**
120
+ * A combined color and distance event, emits when the sensor is activated.
121
+ * @event ColorDistanceSensor#colorAndDistance
122
+ * @type {object}
123
+ * @param {Color} color
124
+ * @param {number} distance Distance, in millimeters.
125
+ */
126
+ if (message[4] <= 10) {
127
+ const color = message[4];
128
+ this.notify("colorAndDistance", { color, distance });
129
+ }
130
+ break;
131
+ }
132
+ }
133
+ /**
134
+ * Switches the IR receiver into extended channel mode. After setting this, use channels 5-8 instead of 1-4 for this receiver.
135
+ *
136
+ * NOTE: Calling this with channel 5-8 with switch off extended channel mode for this receiver.
137
+ * @param {number} channel Channel number, between 1-8
138
+ * @returns {Promise} Resolved upon successful issuance of the command.
139
+ */
140
+ setPFExtendedChannel(channel) {
141
+ let address = 0;
142
+ if (channel >= 4) {
143
+ channel -= 4;
144
+ address = 1;
145
+ }
146
+ const message = Buffer.alloc(2);
147
+ // Send "Extended toggle address command"
148
+ message[0] = ((channel - 1) << 4) + (address << 3);
149
+ message[1] = 6 << 4;
150
+ return this.sendPFIRMessage(message);
151
+ }
152
+ /**
153
+ * Set the power of a Power Functions motor via IR
154
+ * @param {number} channel Channel number, between 1-4
155
+ * @param {string} output Outport port, "RED" (A) or "BLUE" (B)
156
+ * @param {number} power -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
157
+ * @returns {Promise} Resolved upon successful issuance of the command.
158
+ */
159
+ setPFPower(channel, output, power) {
160
+ let address = 0;
161
+ if (channel > 4) {
162
+ channel -= 4;
163
+ address = 1;
164
+ }
165
+ const message = Buffer.alloc(2);
166
+ // Send "Single output mode"
167
+ message[0] = ((channel - 1) << 4) + (address << 3) + (output === "RED" ? 4 : 5);
168
+ message[1] = this._pfPowerToPWM(power) << 4;
169
+ return this.sendPFIRMessage(message);
170
+ }
171
+ /**
172
+ * Start Power Functions motors running via IR
173
+ *
174
+ * NOTE: This command is designed for bang-bang style operation. To keep the motors running, the sensor needs to be within range of the IR receiver constantly.
175
+ * @param {number} channel Channel number, between 1-4
176
+ * @param {number} powerBlue -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
177
+ * @param {number} powerRed -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
178
+ * @returns {Promise} Resolved upon successful issuance of the command.
179
+ */
180
+ startPFMotors(channel, powerBlue, powerRed) {
181
+ let address = 0;
182
+ if (channel > 4) {
183
+ channel -= 4;
184
+ address = 1;
185
+ }
186
+ const message = Buffer.alloc(2);
187
+ // Send "Combo PWM mode"
188
+ message[0] = (((channel - 1) + 4 + (address << 3)) << 4) + this._pfPowerToPWM(powerBlue);
189
+ message[1] = this._pfPowerToPWM(powerRed) << 4;
190
+ return this.sendPFIRMessage(message);
191
+ }
192
+ /**
193
+ * Send a raw Power Functions IR command
194
+ * @param {Buffer} message 2 byte payload making up a Power Functions protocol command. NOTE: Only specify nibbles 1-3, nibble 4 should be zeroed.
195
+ * @returns {Promise} Resolved upon successful issuance of the command.
196
+ */
197
+ sendPFIRMessage(message) {
198
+ if (this.isWeDo2SmartHub) {
199
+ throw new Error("Power Functions IR is not available on the WeDo 2.0 Smart Hub");
200
+ }
201
+ else {
202
+ const payload = Buffer.alloc(2);
203
+ payload[0] = (message[0] << 4) + (message[1] >> 4);
204
+ payload[1] = message[0] >> 4;
205
+ this.subscribe(Mode.PF_IR);
206
+ return this.writeDirect(0x07, payload);
207
+ }
208
+ }
209
+ /**
210
+ * Set the color of the LED on the sensor via a color value.
211
+ * @param {Color} color
212
+ * @returns {Promise} Resolved upon successful issuance of the command.
213
+ */
214
+ setColor(color) {
215
+ return new Promise((resolve) => {
216
+ if (color === false) {
217
+ color = 0;
218
+ }
219
+ if (this.isWeDo2SmartHub) {
220
+ throw new Error("Setting LED color is not available on the WeDo 2.0 Smart Hub");
221
+ }
222
+ else {
223
+ this.subscribe(Mode.LED);
224
+ this.writeDirect(0x05, Buffer.from([color]));
225
+ }
226
+ return resolve();
227
+ });
228
+ }
229
+ /**
230
+ * Set the distance count value.
231
+ * @param {number} count distance count between 0 and 2^32
232
+ * @returns {Promise} Resolved upon successful issuance of the command.
233
+ */
234
+ setDistanceCount(count) {
235
+ return new Promise((resolve) => {
236
+ if (this.isWeDo2SmartHub) {
237
+ throw new Error("Setting distance count is not available on the WeDo 2.0 Smart Hub");
238
+ }
239
+ else {
240
+ const payload = Buffer.alloc(4);
241
+ payload.writeUInt32LE(count % 2 ** 32);
242
+ // no need to subscribe, can be set in different mode
243
+ this.writeDirect(0x02, payload);
244
+ }
245
+ return resolve();
246
+ });
247
+ }
248
+ _pfPowerToPWM(power) {
249
+ return power & 15;
250
+ }
251
+ }
252
+ export var Mode;
253
+ (function (Mode) {
254
+ Mode[Mode["COLOR"] = 0] = "COLOR";
255
+ Mode[Mode["DISTANCE"] = 1] = "DISTANCE";
256
+ Mode[Mode["DISTANCE_COUNT"] = 2] = "DISTANCE_COUNT";
257
+ Mode[Mode["REFLECT"] = 3] = "REFLECT";
258
+ Mode[Mode["AMBIENT"] = 4] = "AMBIENT";
259
+ Mode[Mode["LED"] = 5] = "LED";
260
+ Mode[Mode["RGB_I"] = 6] = "RGB_I";
261
+ Mode[Mode["PF_IR"] = 7] = "PF_IR";
262
+ Mode[Mode["COLOR_AND_DISTANCE"] = 8] = "COLOR_AND_DISTANCE";
263
+ })(Mode || (Mode = {}));
264
+ export const ModeMap = {
265
+ "color": Mode.COLOR,
266
+ "distance": Mode.DISTANCE,
267
+ "distanceCount": Mode.DISTANCE_COUNT,
268
+ "reflect": Mode.REFLECT,
269
+ "ambient": Mode.AMBIENT,
270
+ "rgbIntensity": Mode.RGB_I,
271
+ "colorAndDistance": Mode.COLOR_AND_DISTANCE
272
+ };
273
+ export var Output;
274
+ (function (Output) {
275
+ Output["RED"] = "RED";
276
+ Output["BLUE"] = "BLUE";
277
+ })(Output || (Output = {}));
278
+ //# sourceMappingURL=colordistancesensor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colordistancesensor.js","sourceRoot":"","sources":["../../src/devices/colordistancesensor.ts"],"names":[],"mappings":"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"}