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,672 @@
1
+ "use strict";
2
+ /**
3
+ * PoweredUp Commands
4
+ * Factory functions for creating hub and device commands
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.wedo2 = void 0;
41
+ exports.shutdown = shutdown;
42
+ exports.disconnect = disconnect;
43
+ exports.setName = setName;
44
+ exports.requestProperty = requestProperty;
45
+ exports.enablePropertyUpdates = enablePropertyUpdates;
46
+ exports.disablePropertyUpdates = disablePropertyUpdates;
47
+ exports.enableAlerts = enableAlerts;
48
+ exports.disableAlerts = disableAlerts;
49
+ exports.subscribe = subscribe;
50
+ exports.unsubscribe = unsubscribe;
51
+ exports.requestPortInfo = requestPortInfo;
52
+ exports.requestPortModeInfo = requestPortModeInfo;
53
+ exports.createVirtualPort = createVirtualPort;
54
+ exports.disconnectVirtualPort = disconnectVirtualPort;
55
+ exports.motorStop = motorStop;
56
+ exports.motorBrake = motorBrake;
57
+ exports.motorPower = motorPower;
58
+ exports.motorPowerDual = motorPowerDual;
59
+ exports.motorSpeed = motorSpeed;
60
+ exports.motorSpeedDual = motorSpeedDual;
61
+ exports.motorRunForTime = motorRunForTime;
62
+ exports.motorRunForDegrees = motorRunForDegrees;
63
+ exports.motorGotoPosition = motorGotoPosition;
64
+ exports.motorResetEncoder = motorResetEncoder;
65
+ exports.motorSetAccelerationTime = motorSetAccelerationTime;
66
+ exports.motorSetDecelerationTime = motorSetDecelerationTime;
67
+ exports.ledColor = ledColor;
68
+ exports.ledRGB = ledRGB;
69
+ exports.technicMatrix3x3 = technicMatrix3x3;
70
+ exports.duploTrainSound = duploTrainSound;
71
+ exports.duploTrainTone = duploTrainTone;
72
+ exports.piezoTone = piezoTone;
73
+ exports.piezoStop = piezoStop;
74
+ exports.lightBrightness = lightBrightness;
75
+ exports.colorSensorMode = colorSensorMode;
76
+ exports.tiltSensorOrientation = tiltSensorOrientation;
77
+ exports.tiltSensorImpact = tiltSensorImpact;
78
+ exports.setDistanceSensorLEDs = setDistanceSensorLEDs;
79
+ exports.setLightMatrix = setLightMatrix;
80
+ exports.playSound = playSound;
81
+ exports.isMotor = isMotor;
82
+ exports.isTachoMotor = isTachoMotor;
83
+ exports.isAbsoluteMotor = isAbsoluteMotor;
84
+ exports.isSensor = isSensor;
85
+ exports.getDefaultSensorMode = getDefaultSensorMode;
86
+ const Protocol = __importStar(require("./protocol"));
87
+ const WeDo2Protocol = __importStar(require("./protocol-wedo"));
88
+ const types_1 = require("./types");
89
+ // ============================================================================
90
+ // Hub Commands
91
+ // ============================================================================
92
+ /**
93
+ * Create a shutdown command
94
+ */
95
+ function shutdown() {
96
+ return Protocol.createHubAction(Protocol.HubAction.SWITCH_OFF_HUB);
97
+ }
98
+ /**
99
+ * Create a disconnect command
100
+ */
101
+ function disconnect() {
102
+ return Protocol.createHubAction(Protocol.HubAction.DISCONNECT);
103
+ }
104
+ /**
105
+ * Create a set name command
106
+ */
107
+ function setName(name) {
108
+ if (name.length > 14) {
109
+ name = name.substring(0, 14);
110
+ }
111
+ return Protocol.createHubPropertySet(Protocol.HubProperty.ADVERTISING_NAME, Buffer.from(name, "ascii"));
112
+ }
113
+ /**
114
+ * Request a hub property update
115
+ */
116
+ function requestProperty(property) {
117
+ return Protocol.createHubPropertyRequest(property, Protocol.HubPropertyOperation.REQUEST_UPDATE);
118
+ }
119
+ /**
120
+ * Enable updates for a hub property
121
+ */
122
+ function enablePropertyUpdates(property) {
123
+ return Protocol.createHubPropertyRequest(property, Protocol.HubPropertyOperation.ENABLE_UPDATES);
124
+ }
125
+ /**
126
+ * Disable updates for a hub property
127
+ */
128
+ function disablePropertyUpdates(property) {
129
+ return Protocol.createHubPropertyRequest(property, Protocol.HubPropertyOperation.DISABLE_UPDATES);
130
+ }
131
+ /**
132
+ * Enable alert notifications
133
+ */
134
+ function enableAlerts(alertType) {
135
+ return Protocol.encodeMessage(Protocol.MessageType.HUB_ALERTS, Buffer.from([alertType, Protocol.AlertOperation.ENABLE_UPDATE]));
136
+ }
137
+ /**
138
+ * Disable alert notifications
139
+ */
140
+ function disableAlerts(alertType) {
141
+ return Protocol.encodeMessage(Protocol.MessageType.HUB_ALERTS, Buffer.from([alertType, Protocol.AlertOperation.DISABLE_UPDATE]));
142
+ }
143
+ // ============================================================================
144
+ // Port Commands
145
+ // ============================================================================
146
+ /**
147
+ * Subscribe to port notifications
148
+ */
149
+ function subscribe(portId, mode, deltaInterval = 1) {
150
+ return Protocol.createPortInputFormatSetup(portId, mode, deltaInterval, true);
151
+ }
152
+ /**
153
+ * Unsubscribe from port notifications
154
+ */
155
+ function unsubscribe(portId, mode) {
156
+ return Protocol.createPortInputFormatSetup(portId, mode, 0, false);
157
+ }
158
+ /**
159
+ * Request port information
160
+ */
161
+ function requestPortInfo(portId, informationType) {
162
+ return Protocol.createPortInformationRequest(portId, informationType);
163
+ }
164
+ /**
165
+ * Request port mode information
166
+ */
167
+ function requestPortModeInfo(portId, mode, infoType) {
168
+ return Protocol.createPortModeInformationRequest(portId, mode, infoType);
169
+ }
170
+ // ============================================================================
171
+ // Virtual Port Commands
172
+ // ============================================================================
173
+ /**
174
+ * Create a virtual port from two physical ports
175
+ */
176
+ function createVirtualPort(portIdA, portIdB) {
177
+ return Protocol.createVirtualPortSetup(true, portIdA, portIdB);
178
+ }
179
+ /**
180
+ * Disconnect a virtual port
181
+ */
182
+ function disconnectVirtualPort(virtualPortId) {
183
+ return Protocol.createVirtualPortSetup(false, 0, undefined, virtualPortId);
184
+ }
185
+ // ============================================================================
186
+ // Motor Commands
187
+ // ============================================================================
188
+ /**
189
+ * Stop a motor (set power to 0)
190
+ */
191
+ function motorStop(portId) {
192
+ return Protocol.createStartPower(portId, 0);
193
+ }
194
+ /**
195
+ * Brake a motor
196
+ */
197
+ function motorBrake(portId) {
198
+ return Protocol.createStartPower(portId, types_1.BrakingStyle.BRAKE);
199
+ }
200
+ /**
201
+ * Set motor power (unregulated)
202
+ * @param portId Port ID
203
+ * @param power Power level (-100 to 100)
204
+ */
205
+ function motorPower(portId, power) {
206
+ return Protocol.createStartPower(portId, power);
207
+ }
208
+ /**
209
+ * Set dual motor power (for virtual ports)
210
+ */
211
+ function motorPowerDual(portId, power1, power2) {
212
+ return Protocol.createStartPowerDual(portId, power1, power2);
213
+ }
214
+ /**
215
+ * Set motor speed (regulated)
216
+ * @param portId Port ID
217
+ * @param speed Speed (-100 to 100)
218
+ * @param maxPower Maximum power (0 to 100)
219
+ * @param profile Acceleration/deceleration profile
220
+ */
221
+ function motorSpeed(portId, speed, maxPower = 100, profile = types_1.Profile.DO_NOT_USE) {
222
+ return Protocol.createStartSpeed(portId, speed, maxPower, profile);
223
+ }
224
+ /**
225
+ * Set dual motor speed (for virtual ports)
226
+ */
227
+ function motorSpeedDual(portId, speed1, speed2, maxPower = 100, profile = types_1.Profile.DO_NOT_USE) {
228
+ return Protocol.createStartSpeedDual(portId, speed1, speed2, maxPower, profile);
229
+ }
230
+ /**
231
+ * Run motor for time
232
+ * @param portId Port ID
233
+ * @param time Time in milliseconds
234
+ * @param speed Speed (-100 to 100)
235
+ * @param maxPower Maximum power (0 to 100)
236
+ * @param endState State after completion
237
+ * @param profile Acceleration/deceleration profile
238
+ */
239
+ function motorRunForTime(portId, time, speed, maxPower = 100, endState = types_1.BrakingStyle.BRAKE, profile = types_1.Profile.DO_NOT_USE) {
240
+ return Protocol.createStartSpeedForTime(portId, time, speed, maxPower, endState, profile);
241
+ }
242
+ /**
243
+ * Run motor for degrees
244
+ * @param portId Port ID
245
+ * @param degrees Degrees to rotate
246
+ * @param speed Speed (-100 to 100)
247
+ * @param maxPower Maximum power (0 to 100)
248
+ * @param endState State after completion
249
+ * @param profile Acceleration/deceleration profile
250
+ */
251
+ function motorRunForDegrees(portId, degrees, speed, maxPower = 100, endState = types_1.BrakingStyle.BRAKE, profile = types_1.Profile.DO_NOT_USE) {
252
+ return Protocol.createStartSpeedForDegrees(portId, degrees, speed, maxPower, endState, profile);
253
+ }
254
+ /**
255
+ * Go to absolute position
256
+ * @param portId Port ID
257
+ * @param position Target position in degrees
258
+ * @param speed Speed (0 to 100)
259
+ * @param maxPower Maximum power (0 to 100)
260
+ * @param endState State after completion
261
+ * @param profile Acceleration/deceleration profile
262
+ */
263
+ function motorGotoPosition(portId, position, speed, maxPower = 100, endState = types_1.BrakingStyle.BRAKE, profile = types_1.Profile.DO_NOT_USE) {
264
+ return Protocol.createGotoAbsolutePosition(portId, position, speed, maxPower, endState, profile);
265
+ }
266
+ /**
267
+ * Reset motor encoder
268
+ * @param portId Port ID
269
+ * @param position Position to set (default 0)
270
+ */
271
+ function motorResetEncoder(portId, position = 0) {
272
+ return Protocol.createPresetEncoder(portId, position);
273
+ }
274
+ /**
275
+ * Set motor acceleration time
276
+ * @param portId Port ID
277
+ * @param time Time in milliseconds (0 to 10000)
278
+ * @param profileNumber Profile number (0 to 3)
279
+ */
280
+ function motorSetAccelerationTime(portId, time, profileNumber = 0) {
281
+ return Protocol.createSetAccTime(portId, time, profileNumber);
282
+ }
283
+ /**
284
+ * Set motor deceleration time
285
+ * @param portId Port ID
286
+ * @param time Time in milliseconds (0 to 10000)
287
+ * @param profileNumber Profile number (0 to 3)
288
+ */
289
+ function motorSetDecelerationTime(portId, time, profileNumber = 0) {
290
+ return Protocol.createSetDecTime(portId, time, profileNumber);
291
+ }
292
+ // ============================================================================
293
+ // LED Commands
294
+ // ============================================================================
295
+ /**
296
+ * Set LED color by color number
297
+ * @param portId Port ID of the LED
298
+ * @param color Color value
299
+ */
300
+ function ledColor(portId, color) {
301
+ return Protocol.createSetLEDColor(portId, color);
302
+ }
303
+ /**
304
+ * Set LED color by RGB values
305
+ * @param portId Port ID of the LED
306
+ * @param red Red component (0-255)
307
+ * @param green Green component (0-255)
308
+ * @param blue Blue component (0-255)
309
+ */
310
+ function ledRGB(portId, red, green, blue) {
311
+ return Protocol.createSetLEDRGB(portId, red, green, blue);
312
+ }
313
+ // ============================================================================
314
+ // Technic Color Light Matrix Commands
315
+ // ============================================================================
316
+ /**
317
+ * Set Technic 3x3 Color Light Matrix pixels
318
+ * @param portId Port ID
319
+ * @param pixels Array of 9 color values (or colors with brightness)
320
+ */
321
+ function technicMatrix3x3(portId, pixels) {
322
+ // Mode 1 = set individual pixels
323
+ const payload = Buffer.alloc(10);
324
+ payload[0] = 0x01; // Mode 1
325
+ for (let i = 0; i < 9 && i < pixels.length; i++) {
326
+ payload[i + 1] = pixels[i];
327
+ }
328
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
329
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
330
+ payload
331
+ ]));
332
+ }
333
+ // ============================================================================
334
+ // Sound Commands
335
+ // ============================================================================
336
+ /**
337
+ * Play Duplo Train Base sound
338
+ * @param portId Port ID of the speaker
339
+ * @param sound Sound to play
340
+ */
341
+ function duploTrainSound(portId, sound) {
342
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
343
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
344
+ Buffer.from([0x01, sound]) // Mode 1 = play sound
345
+ ]));
346
+ }
347
+ /**
348
+ * Set Duplo Train Base speaker tone
349
+ * @param portId Port ID of the speaker
350
+ * @param tone Tone value (0-10)
351
+ */
352
+ function duploTrainTone(portId, tone) {
353
+ tone = Math.max(0, Math.min(10, tone));
354
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
355
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
356
+ Buffer.from([0x02, tone]) // Mode 2 = tone
357
+ ]));
358
+ }
359
+ // ============================================================================
360
+ // Piezo Buzzer Commands
361
+ // ============================================================================
362
+ /**
363
+ * Play piezo buzzer tone
364
+ * @param portId Port ID
365
+ * @param frequency Frequency in Hz
366
+ * @param duration Duration in milliseconds
367
+ */
368
+ function piezoTone(portId, frequency, duration) {
369
+ const payload = Buffer.alloc(6);
370
+ payload[0] = 0x01; // Mode
371
+ payload.writeUInt16LE(frequency, 1);
372
+ payload.writeUInt16LE(duration, 3);
373
+ payload[5] = 0x00;
374
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
375
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
376
+ payload
377
+ ]));
378
+ }
379
+ /**
380
+ * Stop piezo buzzer
381
+ * @param portId Port ID
382
+ */
383
+ function piezoStop(portId) {
384
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
385
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
386
+ Buffer.from([0x00, 0x00])
387
+ ]));
388
+ }
389
+ // ============================================================================
390
+ // Light Commands
391
+ // ============================================================================
392
+ /**
393
+ * Set light brightness
394
+ * @param portId Port ID
395
+ * @param brightness Brightness (0-100)
396
+ */
397
+ function lightBrightness(portId, brightness) {
398
+ brightness = Math.max(0, Math.min(100, brightness));
399
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
400
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
401
+ Buffer.from([0x00, brightness])
402
+ ]));
403
+ }
404
+ // ============================================================================
405
+ // Sensor Configuration Commands
406
+ // ============================================================================
407
+ /**
408
+ * Configure color sensor mode
409
+ * @param portId Port ID
410
+ * @param mode Mode (0=color, 1=tag, etc.)
411
+ */
412
+ function colorSensorMode(portId, mode) {
413
+ return subscribe(portId, mode, 1);
414
+ }
415
+ /**
416
+ * Configure tilt sensor orientation
417
+ * @param portId Port ID
418
+ * @param orientation Orientation (0-5 for different orientations)
419
+ */
420
+ function tiltSensorOrientation(portId, orientation) {
421
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
422
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
423
+ Buffer.from([0x05, orientation]) // Mode 5 = set orientation
424
+ ]));
425
+ }
426
+ /**
427
+ * Configure tilt sensor impact threshold
428
+ * @param portId Port ID
429
+ * @param threshold Impact threshold (0-127)
430
+ * @param holdoff Bump holdoff in 10ms units (1-127)
431
+ */
432
+ function tiltSensorImpact(portId, threshold, holdoff) {
433
+ threshold = Math.max(0, Math.min(127, threshold));
434
+ holdoff = Math.max(1, Math.min(127, holdoff));
435
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
436
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
437
+ Buffer.from([0x06, threshold, holdoff]) // Mode 6 = impact config
438
+ ]));
439
+ }
440
+ /**
441
+ * Set Technic Distance Sensor LED brightness
442
+ * The sensor has 4 LEDs that can be individually controlled
443
+ * @param portId Port ID
444
+ * @param upperLeft Upper left LED brightness (0-100)
445
+ * @param upperRight Upper right LED brightness (0-100)
446
+ * @param lowerLeft Lower left LED brightness (0-100)
447
+ * @param lowerRight Lower right LED brightness (0-100)
448
+ */
449
+ function setDistanceSensorLEDs(portId, upperLeft, upperRight, lowerLeft, lowerRight) {
450
+ upperLeft = Math.max(0, Math.min(100, upperLeft));
451
+ upperRight = Math.max(0, Math.min(100, upperRight));
452
+ lowerLeft = Math.max(0, Math.min(100, lowerLeft));
453
+ lowerRight = Math.max(0, Math.min(100, lowerRight));
454
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
455
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
456
+ Buffer.from([0x05, upperLeft, upperRight, lowerLeft, lowerRight]) // Mode 5 = LED control
457
+ ]));
458
+ }
459
+ /**
460
+ * Set Technic 3x3 Light Matrix pixels
461
+ * @param portId Port ID
462
+ * @param pixels Array of 9 colors (row by row, left to right)
463
+ */
464
+ function setLightMatrix(portId, pixels) {
465
+ // Ensure we have exactly 9 pixels, default to black
466
+ const pixelData = new Array(9).fill(0);
467
+ for (let i = 0; i < 9 && i < pixels.length; i++) {
468
+ pixelData[i] = Math.max(0, Math.min(10, pixels[i]));
469
+ }
470
+ // Pack 2 pixels per byte (4 bits each), 5 bytes total for 9 pixels
471
+ const packed = Buffer.alloc(5);
472
+ for (let i = 0; i < 9; i += 2) {
473
+ const byte = (pixelData[i] & 0x0F) | ((pixelData[i + 1] & 0x0F) << 4);
474
+ packed[Math.floor(i / 2)] = byte;
475
+ }
476
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
477
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
478
+ Buffer.from([0x02]), // Mode 2 = pixels
479
+ packed
480
+ ]));
481
+ }
482
+ /**
483
+ * Play sound on Duplo Train Base Speaker
484
+ * @param portId Port ID
485
+ * @param sound Sound index to play
486
+ */
487
+ function playSound(portId, sound) {
488
+ return Protocol.encodeMessage(Protocol.MessageType.PORT_OUTPUT_COMMAND, Buffer.concat([
489
+ Buffer.from([portId, 0x11, Protocol.MotorSubCommand.WRITE_DIRECT_MODE_DATA]),
490
+ Buffer.from([0x01, sound]) // Mode 1 = play sound
491
+ ]));
492
+ }
493
+ // ============================================================================
494
+ // WeDo 2.0 Commands
495
+ // ============================================================================
496
+ exports.wedo2 = {
497
+ /**
498
+ * Set motor power on WeDo 2.0
499
+ */
500
+ motorPower(portId, power) {
501
+ return WeDo2Protocol.createWeDo2MotorPower(portId, power);
502
+ },
503
+ /**
504
+ * Brake motor on WeDo 2.0
505
+ */
506
+ motorBrake(portId) {
507
+ return WeDo2Protocol.createWeDo2MotorBrake(portId);
508
+ },
509
+ /**
510
+ * Float motor on WeDo 2.0
511
+ */
512
+ motorFloat(portId) {
513
+ return WeDo2Protocol.createWeDo2MotorFloat(portId);
514
+ },
515
+ /**
516
+ * Set LED color on WeDo 2.0
517
+ */
518
+ ledColor(portId, color) {
519
+ return WeDo2Protocol.createWeDo2LEDColor(portId, color);
520
+ },
521
+ /**
522
+ * Set LED RGB on WeDo 2.0
523
+ */
524
+ ledRGB(portId, red, green, blue) {
525
+ return WeDo2Protocol.createWeDo2LEDRGB(portId, red, green, blue);
526
+ },
527
+ /**
528
+ * Play piezo tone on WeDo 2.0
529
+ */
530
+ piezoTone(portId, frequency, duration) {
531
+ return WeDo2Protocol.createWeDo2PiezoTone(portId, frequency, duration);
532
+ },
533
+ /**
534
+ * Stop piezo on WeDo 2.0
535
+ */
536
+ piezoStop(portId) {
537
+ return WeDo2Protocol.createWeDo2PiezoStop(portId);
538
+ },
539
+ /**
540
+ * Subscribe to sensor on WeDo 2.0
541
+ */
542
+ subscribe(portId, deviceType, mode) {
543
+ return WeDo2Protocol.createWeDo2Subscribe(portId, deviceType, mode, true);
544
+ },
545
+ /**
546
+ * Unsubscribe from sensor on WeDo 2.0
547
+ */
548
+ unsubscribe(portId, deviceType, mode) {
549
+ return WeDo2Protocol.createWeDo2Subscribe(portId, deviceType, mode, false);
550
+ },
551
+ /**
552
+ * Disconnect WeDo 2.0
553
+ */
554
+ disconnect() {
555
+ return WeDo2Protocol.createWeDo2Disconnect();
556
+ },
557
+ /**
558
+ * Set name on WeDo 2.0
559
+ */
560
+ setName(name) {
561
+ return WeDo2Protocol.createWeDo2SetName(name);
562
+ },
563
+ };
564
+ // ============================================================================
565
+ // Command Helpers
566
+ // ============================================================================
567
+ /**
568
+ * Check if a device type is a motor
569
+ */
570
+ function isMotor(deviceType) {
571
+ const motorTypes = [
572
+ types_1.DeviceType.SIMPLE_MEDIUM_LINEAR_MOTOR,
573
+ types_1.DeviceType.TRAIN_MOTOR,
574
+ types_1.DeviceType.MEDIUM_LINEAR_MOTOR,
575
+ types_1.DeviceType.MOVE_HUB_MEDIUM_LINEAR_MOTOR,
576
+ types_1.DeviceType.DUPLO_TRAIN_BASE_MOTOR,
577
+ types_1.DeviceType.TECHNIC_LARGE_LINEAR_MOTOR,
578
+ types_1.DeviceType.TECHNIC_XLARGE_LINEAR_MOTOR,
579
+ types_1.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR,
580
+ types_1.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR,
581
+ types_1.DeviceType.TECHNIC_SMALL_ANGULAR_MOTOR,
582
+ types_1.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY,
583
+ types_1.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR_GREY,
584
+ ];
585
+ return motorTypes.includes(deviceType);
586
+ }
587
+ /**
588
+ * Check if a device type is a tacho motor (has encoder)
589
+ */
590
+ function isTachoMotor(deviceType) {
591
+ const tachoMotorTypes = [
592
+ types_1.DeviceType.MEDIUM_LINEAR_MOTOR,
593
+ types_1.DeviceType.MOVE_HUB_MEDIUM_LINEAR_MOTOR,
594
+ types_1.DeviceType.TECHNIC_LARGE_LINEAR_MOTOR,
595
+ types_1.DeviceType.TECHNIC_XLARGE_LINEAR_MOTOR,
596
+ types_1.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR,
597
+ types_1.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR,
598
+ types_1.DeviceType.TECHNIC_SMALL_ANGULAR_MOTOR,
599
+ types_1.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY,
600
+ types_1.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR_GREY,
601
+ ];
602
+ return tachoMotorTypes.includes(deviceType);
603
+ }
604
+ /**
605
+ * Check if a device type is an absolute position motor
606
+ */
607
+ function isAbsoluteMotor(deviceType) {
608
+ const absoluteMotorTypes = [
609
+ types_1.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR,
610
+ types_1.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR,
611
+ types_1.DeviceType.TECHNIC_SMALL_ANGULAR_MOTOR,
612
+ types_1.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY,
613
+ types_1.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR_GREY,
614
+ ];
615
+ return absoluteMotorTypes.includes(deviceType);
616
+ }
617
+ /**
618
+ * Check if a device type is a sensor
619
+ */
620
+ function isSensor(deviceType) {
621
+ const sensorTypes = [
622
+ types_1.DeviceType.VOLTAGE_SENSOR,
623
+ types_1.DeviceType.CURRENT_SENSOR,
624
+ types_1.DeviceType.TILT_SENSOR,
625
+ types_1.DeviceType.MOTION_SENSOR,
626
+ types_1.DeviceType.COLOR_DISTANCE_SENSOR,
627
+ types_1.DeviceType.MOVE_HUB_TILT_SENSOR,
628
+ types_1.DeviceType.DUPLO_TRAIN_BASE_COLOR_SENSOR,
629
+ types_1.DeviceType.DUPLO_TRAIN_BASE_SPEEDOMETER,
630
+ types_1.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER,
631
+ types_1.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR,
632
+ types_1.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR,
633
+ types_1.DeviceType.TECHNIC_COLOR_SENSOR,
634
+ types_1.DeviceType.TECHNIC_DISTANCE_SENSOR,
635
+ types_1.DeviceType.TECHNIC_FORCE_SENSOR,
636
+ types_1.DeviceType.MARIO_ACCELEROMETER,
637
+ types_1.DeviceType.MARIO_BARCODE_SENSOR,
638
+ types_1.DeviceType.MARIO_PANTS_SENSOR,
639
+ types_1.DeviceType.REMOTE_CONTROL_BUTTON,
640
+ ];
641
+ return sensorTypes.includes(deviceType);
642
+ }
643
+ /**
644
+ * Get default sensor mode for a device type
645
+ */
646
+ function getDefaultSensorMode(deviceType) {
647
+ switch (deviceType) {
648
+ case types_1.DeviceType.COLOR_DISTANCE_SENSOR:
649
+ return 8; // Color + distance combined
650
+ case types_1.DeviceType.TECHNIC_COLOR_SENSOR:
651
+ return 1; // Ambient light
652
+ case types_1.DeviceType.TECHNIC_DISTANCE_SENSOR:
653
+ return 0; // Distance
654
+ case types_1.DeviceType.TECHNIC_FORCE_SENSOR:
655
+ return 0; // Force
656
+ case types_1.DeviceType.TILT_SENSOR:
657
+ case types_1.DeviceType.MOVE_HUB_TILT_SENSOR:
658
+ case types_1.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR:
659
+ return 0; // 2-axis angle
660
+ case types_1.DeviceType.MOTION_SENSOR:
661
+ return 0; // Distance
662
+ case types_1.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER:
663
+ case types_1.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR:
664
+ return 0; // XYZ
665
+ case types_1.DeviceType.VOLTAGE_SENSOR:
666
+ case types_1.DeviceType.CURRENT_SENSOR:
667
+ return 0; // Value
668
+ default:
669
+ return 0;
670
+ }
671
+ }
672
+ //# sourceMappingURL=commands.js.map