node-poweredup 9.0.0 → 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 (706) hide show
  1. package/README.md +6 -11
  2. package/dist/color.d.ts +7 -0
  3. package/dist/color.d.ts.map +1 -0
  4. package/dist/color.js +15 -0
  5. package/dist/color.js.map +1 -0
  6. package/dist/consts.d.ts +645 -0
  7. package/dist/consts.d.ts.map +1 -0
  8. package/{docs/consts.js.html → dist/consts.js} +74 -127
  9. package/dist/consts.js.map +1 -0
  10. package/dist/devices/absolutemotor.d.ts +41 -0
  11. package/dist/devices/absolutemotor.d.ts.map +1 -0
  12. package/dist/devices/absolutemotor.js +115 -0
  13. package/dist/devices/absolutemotor.js.map +1 -0
  14. package/dist/devices/basicmotor.d.ts +37 -0
  15. package/dist/devices/basicmotor.d.ts.map +1 -0
  16. package/dist/devices/basicmotor.js +57 -0
  17. package/dist/devices/basicmotor.js.map +1 -0
  18. package/dist/devices/colordistancesensor.d.ts +74 -0
  19. package/dist/devices/colordistancesensor.d.ts.map +1 -0
  20. package/dist/devices/colordistancesensor.js +278 -0
  21. package/dist/devices/colordistancesensor.js.map +1 -0
  22. package/dist/devices/currentsensor.d.ts +17 -0
  23. package/dist/devices/currentsensor.d.ts.map +1 -0
  24. package/dist/devices/currentsensor.js +55 -0
  25. package/dist/devices/currentsensor.js.map +1 -0
  26. package/dist/devices/device.d.ts +72 -0
  27. package/dist/devices/device.d.ts.map +1 -0
  28. package/dist/devices/device.js +162 -0
  29. package/dist/devices/device.js.map +1 -0
  30. package/dist/devices/duplotrainbasecolorsensor.d.ts +20 -0
  31. package/dist/devices/duplotrainbasecolorsensor.d.ts.map +1 -0
  32. package/dist/devices/duplotrainbasecolorsensor.js +77 -0
  33. package/dist/devices/duplotrainbasecolorsensor.js.map +1 -0
  34. package/dist/devices/duplotrainbasemotor.d.ts +10 -0
  35. package/dist/devices/duplotrainbasemotor.d.ts.map +1 -0
  36. package/dist/devices/duplotrainbasemotor.js +12 -0
  37. package/dist/devices/duplotrainbasemotor.js.map +1 -0
  38. package/dist/devices/duplotrainbasespeaker.d.ts +27 -0
  39. package/dist/devices/duplotrainbasespeaker.d.ts.map +1 -0
  40. package/dist/devices/duplotrainbasespeaker.js +38 -0
  41. package/dist/devices/duplotrainbasespeaker.js.map +1 -0
  42. package/dist/devices/duplotrainbasespeedometer.d.ts +17 -0
  43. package/dist/devices/duplotrainbasespeedometer.d.ts.map +1 -0
  44. package/dist/devices/duplotrainbasespeedometer.js +34 -0
  45. package/dist/devices/duplotrainbasespeedometer.js.map +1 -0
  46. package/dist/devices/hubled.d.ts +28 -0
  47. package/dist/devices/hubled.d.ts.map +1 -0
  48. package/dist/devices/hubled.js +58 -0
  49. package/dist/devices/hubled.js.map +1 -0
  50. package/dist/devices/light.d.ts +24 -0
  51. package/dist/devices/light.d.ts.map +1 -0
  52. package/dist/devices/light.js +44 -0
  53. package/dist/devices/light.js.map +1 -0
  54. package/dist/devices/marioaccelerometer.d.ts +18 -0
  55. package/dist/devices/marioaccelerometer.d.ts.map +1 -0
  56. package/dist/devices/marioaccelerometer.js +50 -0
  57. package/dist/devices/marioaccelerometer.js.map +1 -0
  58. package/dist/devices/mariobarcodesensor.d.ts +18 -0
  59. package/dist/devices/mariobarcodesensor.d.ts.map +1 -0
  60. package/dist/devices/mariobarcodesensor.js +58 -0
  61. package/dist/devices/mariobarcodesensor.js.map +1 -0
  62. package/dist/devices/mariopantssensor.d.ts +17 -0
  63. package/dist/devices/mariopantssensor.d.ts.map +1 -0
  64. package/dist/devices/mariopantssensor.js +34 -0
  65. package/dist/devices/mariopantssensor.js.map +1 -0
  66. package/dist/devices/mediumlinearmotor.d.ts +10 -0
  67. package/dist/devices/mediumlinearmotor.d.ts.map +1 -0
  68. package/dist/devices/mediumlinearmotor.js +12 -0
  69. package/dist/devices/mediumlinearmotor.js.map +1 -0
  70. package/dist/devices/motionsensor.d.ts +17 -0
  71. package/dist/devices/motionsensor.d.ts.map +1 -0
  72. package/dist/devices/motionsensor.js +38 -0
  73. package/dist/devices/motionsensor.js.map +1 -0
  74. package/dist/devices/movehubmediumlinearmotor.d.ts +10 -0
  75. package/dist/devices/movehubmediumlinearmotor.d.ts.map +1 -0
  76. package/dist/devices/movehubmediumlinearmotor.js +12 -0
  77. package/dist/devices/movehubmediumlinearmotor.js.map +1 -0
  78. package/dist/devices/movehubtiltsensor.d.ts +17 -0
  79. package/dist/devices/movehubtiltsensor.d.ts.map +1 -0
  80. package/dist/devices/movehubtiltsensor.js +36 -0
  81. package/dist/devices/movehubtiltsensor.js.map +1 -0
  82. package/dist/devices/piezobuzzer.d.ts +17 -0
  83. package/dist/devices/piezobuzzer.d.ts.map +1 -0
  84. package/dist/devices/piezobuzzer.js +27 -0
  85. package/dist/devices/piezobuzzer.js.map +1 -0
  86. package/dist/devices/remotecontrolbutton.d.ts +20 -0
  87. package/dist/devices/remotecontrolbutton.d.ts.map +1 -0
  88. package/dist/devices/remotecontrolbutton.js +40 -0
  89. package/dist/devices/remotecontrolbutton.js.map +1 -0
  90. package/dist/devices/simplemediumlinearmotor.d.ts +10 -0
  91. package/dist/devices/simplemediumlinearmotor.d.ts.map +1 -0
  92. package/dist/devices/simplemediumlinearmotor.js +12 -0
  93. package/dist/devices/simplemediumlinearmotor.js.map +1 -0
  94. package/dist/devices/tachomotor.d.ts +65 -0
  95. package/dist/devices/tachomotor.d.ts.map +1 -0
  96. package/dist/devices/tachomotor.js +161 -0
  97. package/dist/devices/tachomotor.js.map +1 -0
  98. package/dist/devices/technic3x3colorlightmatrix.d.ts +22 -0
  99. package/dist/devices/technic3x3colorlightmatrix.d.ts.map +1 -0
  100. package/dist/devices/technic3x3colorlightmatrix.js +53 -0
  101. package/dist/devices/technic3x3colorlightmatrix.js.map +1 -0
  102. package/dist/devices/techniccolorsensor.d.ts +27 -0
  103. package/dist/devices/techniccolorsensor.d.ts.map +1 -0
  104. package/dist/devices/techniccolorsensor.js +71 -0
  105. package/dist/devices/techniccolorsensor.js.map +1 -0
  106. package/dist/devices/technicdistancesensor.d.ts +27 -0
  107. package/dist/devices/technicdistancesensor.d.ts.map +1 -0
  108. package/dist/devices/technicdistancesensor.js +57 -0
  109. package/dist/devices/technicdistancesensor.js.map +1 -0
  110. package/dist/devices/technicforcesensor.d.ts +19 -0
  111. package/dist/devices/technicforcesensor.d.ts.map +1 -0
  112. package/dist/devices/technicforcesensor.js +58 -0
  113. package/dist/devices/technicforcesensor.js.map +1 -0
  114. package/dist/devices/techniclargeangularmotor.d.ts +13 -0
  115. package/dist/devices/techniclargeangularmotor.d.ts.map +1 -0
  116. package/dist/devices/techniclargeangularmotor.js +12 -0
  117. package/dist/devices/techniclargeangularmotor.js.map +1 -0
  118. package/dist/devices/techniclargelinearmotor.d.ts +10 -0
  119. package/dist/devices/techniclargelinearmotor.d.ts.map +1 -0
  120. package/dist/devices/techniclargelinearmotor.js +12 -0
  121. package/dist/devices/techniclargelinearmotor.js.map +1 -0
  122. package/dist/devices/technicmediumangularmotor.d.ts +13 -0
  123. package/dist/devices/technicmediumangularmotor.d.ts.map +1 -0
  124. package/dist/devices/technicmediumangularmotor.js +12 -0
  125. package/dist/devices/technicmediumangularmotor.js.map +1 -0
  126. package/dist/devices/technicmediumhubaccelerometersensor.d.ts +17 -0
  127. package/dist/devices/technicmediumhubaccelerometersensor.d.ts.map +1 -0
  128. package/dist/devices/technicmediumhubaccelerometersensor.js +38 -0
  129. package/dist/devices/technicmediumhubaccelerometersensor.js.map +1 -0
  130. package/dist/devices/technicmediumhubgyrosensor.d.ts +17 -0
  131. package/dist/devices/technicmediumhubgyrosensor.d.ts.map +1 -0
  132. package/dist/devices/technicmediumhubgyrosensor.js +38 -0
  133. package/dist/devices/technicmediumhubgyrosensor.js.map +1 -0
  134. package/dist/devices/technicmediumhubtiltsensor.d.ts +38 -0
  135. package/dist/devices/technicmediumhubtiltsensor.d.ts.map +1 -0
  136. package/dist/devices/technicmediumhubtiltsensor.js +103 -0
  137. package/dist/devices/technicmediumhubtiltsensor.js.map +1 -0
  138. package/dist/devices/technicsmallangularmotor.d.ts +13 -0
  139. package/dist/devices/technicsmallangularmotor.d.ts.map +1 -0
  140. package/dist/devices/technicsmallangularmotor.js +12 -0
  141. package/dist/devices/technicsmallangularmotor.js.map +1 -0
  142. package/dist/devices/technicxlargelinearmotor.d.ts +10 -0
  143. package/dist/devices/technicxlargelinearmotor.d.ts.map +1 -0
  144. package/dist/devices/technicxlargelinearmotor.js +12 -0
  145. package/dist/devices/technicxlargelinearmotor.js.map +1 -0
  146. package/dist/devices/tiltsensor.d.ts +17 -0
  147. package/dist/devices/tiltsensor.d.ts.map +1 -0
  148. package/dist/devices/tiltsensor.js +36 -0
  149. package/dist/devices/tiltsensor.js.map +1 -0
  150. package/dist/devices/trainmotor.d.ts +10 -0
  151. package/dist/devices/trainmotor.d.ts.map +1 -0
  152. package/dist/devices/trainmotor.js +12 -0
  153. package/dist/devices/trainmotor.js.map +1 -0
  154. package/dist/devices/voltagesensor.d.ts +17 -0
  155. package/dist/devices/voltagesensor.d.ts.map +1 -0
  156. package/dist/devices/voltagesensor.js +59 -0
  157. package/dist/devices/voltagesensor.js.map +1 -0
  158. package/dist/hubs/basehub.d.ts +154 -0
  159. package/dist/hubs/basehub.d.ts.map +1 -0
  160. package/dist/hubs/basehub.js +383 -0
  161. package/dist/hubs/basehub.js.map +1 -0
  162. package/dist/hubs/duplotrainbase.d.ts +18 -0
  163. package/dist/hubs/duplotrainbase.d.ts.map +1 -0
  164. package/dist/hubs/duplotrainbase.js +35 -0
  165. package/dist/hubs/duplotrainbase.js.map +1 -0
  166. package/dist/hubs/hub.d.ts +20 -0
  167. package/dist/hubs/hub.d.ts.map +1 -0
  168. package/dist/hubs/hub.js +44 -0
  169. package/dist/hubs/hub.js.map +1 -0
  170. package/dist/hubs/lpf2hub.d.ts +46 -0
  171. package/dist/hubs/lpf2hub.d.ts.map +1 -0
  172. package/{docs/hubs_lpf2hub.js.html → dist/hubs/lpf2hub.js} +23 -103
  173. package/dist/hubs/lpf2hub.js.map +1 -0
  174. package/dist/hubs/mario.d.ts +18 -0
  175. package/dist/hubs/mario.d.ts.map +1 -0
  176. package/dist/hubs/mario.js +31 -0
  177. package/dist/hubs/mario.js.map +1 -0
  178. package/dist/hubs/movehub.d.ts +19 -0
  179. package/dist/hubs/movehub.d.ts.map +1 -0
  180. package/dist/hubs/movehub.js +46 -0
  181. package/dist/hubs/movehub.js.map +1 -0
  182. package/dist/hubs/remotecontrol.d.ts +18 -0
  183. package/dist/hubs/remotecontrol.d.ts.map +1 -0
  184. package/dist/hubs/remotecontrol.js +37 -0
  185. package/dist/hubs/remotecontrol.js.map +1 -0
  186. package/dist/hubs/technicmediumhub.d.ts +18 -0
  187. package/dist/hubs/technicmediumhub.d.ts.map +1 -0
  188. package/dist/hubs/technicmediumhub.js +42 -0
  189. package/dist/hubs/technicmediumhub.js.map +1 -0
  190. package/dist/hubs/technicsmallhub.d.ts +19 -0
  191. package/dist/hubs/technicsmallhub.d.ts.map +1 -0
  192. package/dist/hubs/technicsmallhub.js +41 -0
  193. package/dist/hubs/technicsmallhub.js.map +1 -0
  194. package/dist/hubs/wedo2smarthub.d.ts +39 -0
  195. package/dist/hubs/wedo2smarthub.d.ts.map +1 -0
  196. package/dist/hubs/wedo2smarthub.js +186 -0
  197. package/dist/hubs/wedo2smarthub.js.map +1 -0
  198. package/dist/index-browser.d.ts +2 -0
  199. package/dist/index-browser.d.ts.map +1 -0
  200. package/dist/index-browser.js +96 -0
  201. package/dist/index-browser.js.map +1 -0
  202. package/dist/index-node.d.ts +50 -0
  203. package/dist/index-node.d.ts.map +1 -0
  204. package/dist/index-node.js +50 -0
  205. package/dist/index-node.js.map +1 -0
  206. package/dist/interfaces.d.ts +24 -0
  207. package/dist/interfaces.d.ts.map +1 -0
  208. package/dist/interfaces.js +2 -0
  209. package/dist/interfaces.js.map +1 -0
  210. package/dist/nobleabstraction.d.ts +27 -0
  211. package/dist/nobleabstraction.d.ts.map +1 -0
  212. package/dist/nobleabstraction.js +121 -0
  213. package/dist/nobleabstraction.js.map +1 -0
  214. package/dist/node/color.js +2 -29
  215. package/dist/node/color.js.map +1 -1
  216. package/dist/node/commands.d.ts +299 -0
  217. package/dist/node/commands.js +672 -0
  218. package/dist/node/commands.js.map +1 -0
  219. package/dist/node/connection.d.ts +187 -0
  220. package/dist/node/connection.js +478 -0
  221. package/dist/node/connection.js.map +1 -0
  222. package/dist/node/consts.js +57 -60
  223. package/dist/node/consts.js.map +1 -1
  224. package/dist/node/devices/absolutemotor.d.ts +0 -1
  225. package/dist/node/devices/absolutemotor.js +14 -41
  226. package/dist/node/devices/absolutemotor.js.map +1 -1
  227. package/dist/node/devices/basicmotor.d.ts +3 -3
  228. package/dist/node/devices/basicmotor.js +6 -33
  229. package/dist/node/devices/basicmotor.js.map +1 -1
  230. package/dist/node/devices/colordistancesensor.d.ts +4 -5
  231. package/dist/node/devices/colordistancesensor.js +11 -38
  232. package/dist/node/devices/colordistancesensor.js.map +1 -1
  233. package/dist/node/devices/currentsensor.d.ts +0 -1
  234. package/dist/node/devices/currentsensor.js +7 -34
  235. package/dist/node/devices/currentsensor.js.map +1 -1
  236. package/dist/node/devices/device.d.ts +4 -7
  237. package/dist/node/devices/device.js +3 -30
  238. package/dist/node/devices/device.js.map +1 -1
  239. package/dist/node/devices/duplotrainbasecolorsensor.d.ts +0 -1
  240. package/dist/node/devices/duplotrainbasecolorsensor.js +9 -36
  241. package/dist/node/devices/duplotrainbasecolorsensor.js.map +1 -1
  242. package/dist/node/devices/duplotrainbasemotor.js +3 -30
  243. package/dist/node/devices/duplotrainbasemotor.js.map +1 -1
  244. package/dist/node/devices/duplotrainbasespeaker.js +5 -32
  245. package/dist/node/devices/duplotrainbasespeaker.js.map +1 -1
  246. package/dist/node/devices/duplotrainbasespeedometer.d.ts +0 -1
  247. package/dist/node/devices/duplotrainbasespeedometer.js +7 -34
  248. package/dist/node/devices/duplotrainbasespeedometer.js.map +1 -1
  249. package/dist/node/devices/hubled.js +5 -32
  250. package/dist/node/devices/hubled.js.map +1 -1
  251. package/dist/node/devices/index.d.ts +14 -0
  252. package/dist/node/devices/index.js +154 -0
  253. package/dist/node/devices/index.js.map +1 -0
  254. package/dist/node/devices/led.d.ts +140 -0
  255. package/dist/node/devices/led.js +295 -0
  256. package/dist/node/devices/led.js.map +1 -0
  257. package/dist/node/devices/light.js +5 -32
  258. package/dist/node/devices/light.js.map +1 -1
  259. package/dist/node/devices/marioaccelerometer.d.ts +0 -1
  260. package/dist/node/devices/marioaccelerometer.js +7 -34
  261. package/dist/node/devices/marioaccelerometer.js.map +1 -1
  262. package/dist/node/devices/mariobarcodesensor.d.ts +0 -1
  263. package/dist/node/devices/mariobarcodesensor.js +7 -34
  264. package/dist/node/devices/mariobarcodesensor.js.map +1 -1
  265. package/dist/node/devices/mariopantssensor.d.ts +0 -1
  266. package/dist/node/devices/mariopantssensor.js +7 -34
  267. package/dist/node/devices/mariopantssensor.js.map +1 -1
  268. package/dist/node/devices/mediumlinearmotor.js +3 -30
  269. package/dist/node/devices/mediumlinearmotor.js.map +1 -1
  270. package/dist/node/devices/motionsensor.d.ts +0 -1
  271. package/dist/node/devices/motionsensor.js +7 -34
  272. package/dist/node/devices/motionsensor.js.map +1 -1
  273. package/dist/node/devices/motor.d.ts +182 -0
  274. package/dist/node/devices/motor.js +367 -0
  275. package/dist/node/devices/motor.js.map +1 -0
  276. package/dist/node/devices/movehubmediumlinearmotor.js +3 -30
  277. package/dist/node/devices/movehubmediumlinearmotor.js.map +1 -1
  278. package/dist/node/devices/movehubtiltsensor.d.ts +0 -1
  279. package/dist/node/devices/movehubtiltsensor.js +7 -34
  280. package/dist/node/devices/movehubtiltsensor.js.map +1 -1
  281. package/dist/node/devices/piezobuzzer.js +3 -30
  282. package/dist/node/devices/piezobuzzer.js.map +1 -1
  283. package/dist/node/devices/remotecontrolbutton.d.ts +0 -1
  284. package/dist/node/devices/remotecontrolbutton.js +8 -35
  285. package/dist/node/devices/remotecontrolbutton.js.map +1 -1
  286. package/dist/node/devices/sensor.d.ts +305 -0
  287. package/dist/node/devices/sensor.js +662 -0
  288. package/dist/node/devices/sensor.js.map +1 -0
  289. package/dist/node/devices/simplemediumlinearmotor.js +3 -30
  290. package/dist/node/devices/simplemediumlinearmotor.js.map +1 -1
  291. package/dist/node/devices/tachomotor.d.ts +0 -1
  292. package/dist/node/devices/tachomotor.js +14 -41
  293. package/dist/node/devices/tachomotor.js.map +1 -1
  294. package/dist/node/devices/technic3x3colorlightmatrix.js +7 -34
  295. package/dist/node/devices/technic3x3colorlightmatrix.js.map +1 -1
  296. package/dist/node/devices/techniccolorsensor.d.ts +0 -1
  297. package/dist/node/devices/techniccolorsensor.js +9 -36
  298. package/dist/node/devices/techniccolorsensor.js.map +1 -1
  299. package/dist/node/devices/technicdistancesensor.d.ts +0 -1
  300. package/dist/node/devices/technicdistancesensor.js +7 -34
  301. package/dist/node/devices/technicdistancesensor.js.map +1 -1
  302. package/dist/node/devices/technicforcesensor.d.ts +0 -1
  303. package/dist/node/devices/technicforcesensor.js +7 -34
  304. package/dist/node/devices/technicforcesensor.js.map +1 -1
  305. package/dist/node/devices/techniclargeangularmotor.js +3 -30
  306. package/dist/node/devices/techniclargeangularmotor.js.map +1 -1
  307. package/dist/node/devices/techniclargelinearmotor.js +3 -30
  308. package/dist/node/devices/techniclargelinearmotor.js.map +1 -1
  309. package/dist/node/devices/technicmediumangularmotor.js +3 -30
  310. package/dist/node/devices/technicmediumangularmotor.js.map +1 -1
  311. package/dist/node/devices/technicmediumhubaccelerometersensor.d.ts +0 -1
  312. package/dist/node/devices/technicmediumhubaccelerometersensor.js +7 -34
  313. package/dist/node/devices/technicmediumhubaccelerometersensor.js.map +1 -1
  314. package/dist/node/devices/technicmediumhubgyrosensor.d.ts +0 -1
  315. package/dist/node/devices/technicmediumhubgyrosensor.js +7 -34
  316. package/dist/node/devices/technicmediumhubgyrosensor.js.map +1 -1
  317. package/dist/node/devices/technicmediumhubtiltsensor.d.ts +0 -1
  318. package/dist/node/devices/technicmediumhubtiltsensor.js +7 -34
  319. package/dist/node/devices/technicmediumhubtiltsensor.js.map +1 -1
  320. package/dist/node/devices/technicsmallangularmotor.js +3 -30
  321. package/dist/node/devices/technicsmallangularmotor.js.map +1 -1
  322. package/dist/node/devices/technicxlargelinearmotor.js +3 -30
  323. package/dist/node/devices/technicxlargelinearmotor.js.map +1 -1
  324. package/dist/node/devices/tiltsensor.d.ts +0 -1
  325. package/dist/node/devices/tiltsensor.js +7 -34
  326. package/dist/node/devices/tiltsensor.js.map +1 -1
  327. package/dist/node/devices/trainmotor.js +3 -30
  328. package/dist/node/devices/trainmotor.js.map +1 -1
  329. package/dist/node/devices/voltagesensor.d.ts +0 -1
  330. package/dist/node/devices/voltagesensor.js +7 -34
  331. package/dist/node/devices/voltagesensor.js.map +1 -1
  332. package/dist/node/hub.d.ts +291 -0
  333. package/dist/node/hub.js +778 -0
  334. package/dist/node/hub.js.map +1 -0
  335. package/dist/node/hubs/basehub.d.ts +9 -11
  336. package/dist/node/hubs/basehub.js +74 -101
  337. package/dist/node/hubs/basehub.js.map +1 -1
  338. package/dist/node/hubs/duplotrainbase.d.ts +1 -2
  339. package/dist/node/hubs/duplotrainbase.js +6 -33
  340. package/dist/node/hubs/duplotrainbase.js.map +1 -1
  341. package/dist/node/hubs/hub.d.ts +1 -2
  342. package/dist/node/hubs/hub.js +8 -35
  343. package/dist/node/hubs/hub.js.map +1 -1
  344. package/dist/node/hubs/lpf2hub.d.ts +5 -6
  345. package/dist/node/hubs/lpf2hub.js +17 -44
  346. package/dist/node/hubs/lpf2hub.js.map +1 -1
  347. package/dist/node/hubs/mario.d.ts +1 -2
  348. package/dist/node/hubs/mario.js +6 -33
  349. package/dist/node/hubs/mario.js.map +1 -1
  350. package/dist/node/hubs/movehub.d.ts +1 -2
  351. package/dist/node/hubs/movehub.js +8 -35
  352. package/dist/node/hubs/movehub.js.map +1 -1
  353. package/dist/node/hubs/remotecontrol.d.ts +1 -2
  354. package/dist/node/hubs/remotecontrol.js +6 -33
  355. package/dist/node/hubs/remotecontrol.js.map +1 -1
  356. package/dist/node/hubs/technicmediumhub.d.ts +1 -2
  357. package/dist/node/hubs/technicmediumhub.js +6 -33
  358. package/dist/node/hubs/technicmediumhub.js.map +1 -1
  359. package/dist/node/hubs/technicsmallhub.d.ts +1 -2
  360. package/dist/node/hubs/technicsmallhub.js +6 -33
  361. package/dist/node/hubs/technicsmallhub.js.map +1 -1
  362. package/dist/node/hubs/wedo2smarthub.d.ts +3 -5
  363. package/dist/node/hubs/wedo2smarthub.js +10 -37
  364. package/dist/node/hubs/wedo2smarthub.js.map +1 -1
  365. package/dist/node/index-browser.js +91 -116
  366. package/dist/node/index-browser.js.map +1 -1
  367. package/dist/node/index-node.d.ts +1 -0
  368. package/dist/node/index-node.js +49 -119
  369. package/dist/node/index-node.js.map +1 -1
  370. package/dist/node/index.d.ts +31 -0
  371. package/dist/node/index.js +93 -0
  372. package/dist/node/index.js.map +1 -0
  373. package/dist/node/index.mjs +0 -0
  374. package/dist/node/interfaces.d.ts +1 -3
  375. package/dist/node/interfaces.js +1 -2
  376. package/dist/node/nobleabstraction.d.ts +0 -2
  377. package/dist/node/nobleabstraction.js +5 -7
  378. package/dist/node/nobleabstraction.js.map +1 -1
  379. package/dist/node/poweredup-browser.d.ts +0 -2
  380. package/dist/node/poweredup-browser.js +23 -49
  381. package/dist/node/poweredup-browser.js.map +1 -1
  382. package/dist/node/poweredup-node.d.ts +0 -2
  383. package/dist/node/poweredup-node.js +31 -58
  384. package/dist/node/poweredup-node.js.map +1 -1
  385. package/dist/node/poweredup.d.ts +83 -0
  386. package/dist/node/poweredup.js +542 -0
  387. package/dist/node/poweredup.js.map +1 -0
  388. package/dist/node/protocol-wedo.d.ts +158 -0
  389. package/dist/node/protocol-wedo.js +342 -0
  390. package/dist/node/protocol-wedo.js.map +1 -0
  391. package/dist/node/protocol.d.ts +340 -0
  392. package/dist/node/protocol.js +730 -0
  393. package/dist/node/protocol.js.map +1 -0
  394. package/dist/node/types.d.ts +408 -0
  395. package/dist/node/types.js +291 -0
  396. package/dist/node/types.js.map +1 -0
  397. package/dist/node/utils.d.ts +1 -2
  398. package/dist/node/utils.js +14 -26
  399. package/dist/node/utils.js.map +1 -1
  400. package/dist/node/webbleabstraction.d.ts +1 -3
  401. package/dist/node/webbleabstraction.js +3 -7
  402. package/dist/node/webbleabstraction.js.map +1 -1
  403. package/dist/poweredup-browser.d.ts +46 -0
  404. package/dist/poweredup-browser.d.ts.map +1 -0
  405. package/dist/poweredup-browser.js +210 -0
  406. package/dist/poweredup-browser.js.map +1 -0
  407. package/dist/poweredup-node.d.ts +49 -0
  408. package/dist/poweredup-node.d.ts.map +1 -0
  409. package/dist/poweredup-node.js +166 -0
  410. package/dist/poweredup-node.js.map +1 -0
  411. package/dist/tsconfig.tsbuildinfo +1 -0
  412. package/dist/utils.d.ts +13 -0
  413. package/dist/utils.d.ts.map +1 -0
  414. package/dist/utils.js +90 -0
  415. package/dist/utils.js.map +1 -0
  416. package/dist/webbleabstraction.d.ts +27 -0
  417. package/dist/webbleabstraction.d.ts.map +1 -0
  418. package/dist/webbleabstraction.js +104 -0
  419. package/dist/webbleabstraction.js.map +1 -0
  420. package/docs/.nojekyll +1 -0
  421. package/docs/assets/hierarchy.js +1 -0
  422. package/docs/assets/highlight.css +99 -0
  423. package/docs/assets/icons.js +18 -0
  424. package/docs/assets/icons.svg +1 -0
  425. package/docs/assets/main.js +60 -0
  426. package/docs/assets/navigation.js +1 -0
  427. package/docs/assets/search.js +1 -0
  428. package/docs/assets/style.css +1633 -0
  429. package/docs/classes/AbsoluteMotor.html +242 -0
  430. package/docs/classes/BaseHub.html +220 -0
  431. package/docs/classes/BasicMotor.html +201 -0
  432. package/docs/classes/Color.html +3 -0
  433. package/docs/classes/ColorDistanceSensor.html +214 -0
  434. package/docs/classes/CurrentSensor.html +185 -0
  435. package/docs/classes/Device.html +185 -0
  436. package/docs/classes/DuploTrainBase.html +233 -0
  437. package/docs/classes/DuploTrainBaseColorSensor.html +185 -0
  438. package/docs/classes/DuploTrainBaseMotor.html +201 -0
  439. package/docs/classes/DuploTrainBaseSpeaker.html +191 -0
  440. package/docs/classes/DuploTrainBaseSpeedometer.html +185 -0
  441. package/docs/classes/Hub.html +233 -0
  442. package/docs/classes/HubLED.html +191 -0
  443. package/docs/classes/Light.html +195 -0
  444. package/docs/classes/Mario.html +233 -0
  445. package/docs/classes/MediumLinearMotor.html +229 -0
  446. package/docs/classes/MotionSensor.html +185 -0
  447. package/docs/classes/MoveHub.html +233 -0
  448. package/docs/classes/MoveHubMediumLinearMotor.html +229 -0
  449. package/docs/classes/MoveHubTiltSensor.html +185 -0
  450. package/docs/classes/PiezoBuzzer.html +189 -0
  451. package/docs/classes/PoweredUP.html +180 -0
  452. package/docs/classes/RemoteControl.html +233 -0
  453. package/docs/classes/RemoteControlButton.html +185 -0
  454. package/docs/classes/SimpleMediumLinearMotor.html +201 -0
  455. package/docs/classes/TachoMotor.html +229 -0
  456. package/docs/classes/Technic3x3ColorLightMatrix.html +189 -0
  457. package/docs/classes/TechnicColorSensor.html +191 -0
  458. package/docs/classes/TechnicDistanceSensor.html +192 -0
  459. package/docs/classes/TechnicForceSensor.html +185 -0
  460. package/docs/classes/TechnicLargeAngularMotor.html +242 -0
  461. package/docs/classes/TechnicLargeLinearMotor.html +242 -0
  462. package/docs/classes/TechnicMediumAngularMotor.html +242 -0
  463. package/docs/classes/TechnicMediumHub.html +233 -0
  464. package/docs/classes/TechnicMediumHubAccelerometerSensor.html +185 -0
  465. package/docs/classes/TechnicMediumHubGyroSensor.html +185 -0
  466. package/docs/classes/TechnicMediumHubTiltSensor.html +197 -0
  467. package/docs/classes/TechnicSmallAngularMotor.html +242 -0
  468. package/docs/classes/TechnicXLargeLinearMotor.html +242 -0
  469. package/docs/classes/TiltSensor.html +185 -0
  470. package/docs/classes/TrainMotor.html +201 -0
  471. package/docs/classes/VoltageSensor.html +185 -0
  472. package/docs/classes/WeDo2SmartHub.html +229 -0
  473. package/docs/enums/ActionType.html +22 -0
  474. package/docs/enums/AlertOperation.html +10 -0
  475. package/docs/enums/AlertPayload.html +6 -0
  476. package/docs/enums/AlertType.html +10 -0
  477. package/docs/enums/BLECharacteristic.html +15 -0
  478. package/docs/enums/BLEManufacturerData.html +8 -0
  479. package/docs/enums/BLEService.html +7 -0
  480. package/docs/enums/BrakingStyle.html +7 -0
  481. package/docs/enums/ButtonState.html +11 -0
  482. package/docs/enums/Consts.Color.html +25 -0
  483. package/docs/enums/DeviceType.html +79 -0
  484. package/docs/enums/DuploTrainBaseSound.html +11 -0
  485. package/docs/enums/ErrorCode.html +18 -0
  486. package/docs/enums/Event.html +8 -0
  487. package/docs/enums/HWNetWorkCommandType.html +28 -0
  488. package/docs/enums/HWNetworkFamily.html +20 -0
  489. package/docs/enums/HWNetworkSubFamily.html +16 -0
  490. package/docs/enums/HubPropertyOperation.html +14 -0
  491. package/docs/enums/HubPropertyPayload.html +32 -0
  492. package/docs/enums/HubPropertyReference.html +32 -0
  493. package/docs/enums/HubType.html +19 -0
  494. package/docs/enums/IOTypeID.html +30 -0
  495. package/docs/enums/MarioColor.html +17 -0
  496. package/docs/enums/MarioPantsType.html +13 -0
  497. package/docs/enums/MessageType.html +48 -0
  498. package/docs/enums/ModeInformationType.html +22 -0
  499. package/docs/enums/PortInputFormatSetupSubCommand.html +14 -0
  500. package/docs/hierarchy.html +1 -0
  501. package/docs/index.html +18 -120
  502. package/docs/modules/Consts.html +1 -0
  503. package/docs/modules.html +1 -0
  504. package/docs/variables/ColorNames.html +1 -0
  505. package/docs/variables/DeviceTypeNames.html +1 -0
  506. package/docs/variables/HubTypeNames.html +1 -0
  507. package/docs/variables/isWebBluetooth.html +1 -0
  508. package/package.json +19 -25
  509. package/src/color.ts +1 -1
  510. package/src/consts.ts +16 -16
  511. package/src/devices/absolutemotor.ts +4 -7
  512. package/src/devices/basicmotor.ts +4 -8
  513. package/src/devices/colordistancesensor.ts +8 -14
  514. package/src/devices/currentsensor.ts +3 -3
  515. package/src/devices/device.ts +2 -2
  516. package/src/devices/duplotrainbasecolorsensor.ts +4 -4
  517. package/src/devices/duplotrainbasemotor.ts +3 -3
  518. package/src/devices/duplotrainbasespeaker.ts +3 -5
  519. package/src/devices/duplotrainbasespeedometer.ts +3 -3
  520. package/src/devices/hubled.ts +3 -5
  521. package/src/devices/light.ts +4 -6
  522. package/src/devices/marioaccelerometer.ts +3 -3
  523. package/src/devices/mariobarcodesensor.ts +3 -3
  524. package/src/devices/mariopantssensor.ts +3 -3
  525. package/src/devices/mediumlinearmotor.ts +3 -3
  526. package/src/devices/motionsensor.ts +3 -3
  527. package/src/devices/movehubmediumlinearmotor.ts +3 -3
  528. package/src/devices/movehubtiltsensor.ts +3 -3
  529. package/src/devices/piezobuzzer.ts +3 -4
  530. package/src/devices/remotecontrolbutton.ts +3 -3
  531. package/src/devices/simplemediumlinearmotor.ts +3 -3
  532. package/src/devices/tachomotor.ts +5 -11
  533. package/src/devices/technic3x3colorlightmatrix.ts +4 -5
  534. package/src/devices/techniccolorsensor.ts +4 -5
  535. package/src/devices/technicdistancesensor.ts +3 -4
  536. package/src/devices/technicforcesensor.ts +3 -3
  537. package/src/devices/techniclargeangularmotor.ts +3 -3
  538. package/src/devices/techniclargelinearmotor.ts +3 -3
  539. package/src/devices/technicmediumangularmotor.ts +3 -3
  540. package/src/devices/technicmediumhubaccelerometersensor.ts +3 -3
  541. package/src/devices/technicmediumhubgyrosensor.ts +3 -3
  542. package/src/devices/technicmediumhubtiltsensor.ts +6 -9
  543. package/src/devices/technicsmallangularmotor.ts +3 -3
  544. package/src/devices/technicxlargelinearmotor.ts +3 -3
  545. package/src/devices/tiltsensor.ts +3 -3
  546. package/src/devices/trainmotor.ts +3 -3
  547. package/src/devices/voltagesensor.ts +3 -3
  548. package/src/hubs/basehub.ts +42 -51
  549. package/src/hubs/duplotrainbase.ts +5 -5
  550. package/src/hubs/hub.ts +5 -5
  551. package/src/hubs/lpf2hub.ts +4 -7
  552. package/src/hubs/mario.ts +5 -5
  553. package/src/hubs/movehub.ts +5 -5
  554. package/src/hubs/remotecontrol.ts +5 -5
  555. package/src/hubs/technicmediumhub.ts +5 -5
  556. package/src/hubs/technicsmallhub.ts +5 -5
  557. package/src/hubs/wedo2smarthub.ts +7 -9
  558. package/src/index-browser.ts +46 -46
  559. package/src/index-node.ts +47 -46
  560. package/src/interfaces.ts +2 -2
  561. package/src/nobleabstraction.ts +10 -10
  562. package/src/poweredup-browser.ts +15 -19
  563. package/src/poweredup-node.ts +15 -22
  564. package/src/utils.ts +1 -1
  565. package/src/webbleabstraction.ts +3 -3
  566. package/tsconfig.tsbuildinfo +1 -0
  567. package/typedoc.json +14 -0
  568. package/.jsdoc.json +0 -40
  569. package/abandonware-noble.d.ts +0 -129
  570. package/dist/browser/poweredup.js +0 -3
  571. package/dist/browser/poweredup.js.LICENSE.txt +0 -8
  572. package/dist/browser/poweredup.js.map +0 -1
  573. package/docs/AbsoluteMotor.html +0 -2008
  574. package/docs/BaseHub.html +0 -1391
  575. package/docs/BasicMotor.html +0 -1459
  576. package/docs/ColorDistanceSensor.html +0 -3025
  577. package/docs/CurrentSensor.html +0 -1022
  578. package/docs/Device.html +0 -841
  579. package/docs/DuploTrainBase.html +0 -2092
  580. package/docs/DuploTrainBaseColorSensor.html +0 -1509
  581. package/docs/DuploTrainBaseMotor.html +0 -1479
  582. package/docs/DuploTrainBaseSpeaker.html +0 -1193
  583. package/docs/DuploTraniBaseSpeedometer.html +0 -871
  584. package/docs/Hub.html +0 -7451
  585. package/docs/HubLED.html +0 -1239
  586. package/docs/LPF2Hub.html +0 -2066
  587. package/docs/Light.html +0 -1239
  588. package/docs/Mario.html +0 -2092
  589. package/docs/MarioAccelerometer.html +0 -1215
  590. package/docs/MarioBarcodeSensor.html +0 -1215
  591. package/docs/MarioPantsSensor.html +0 -1022
  592. package/docs/MediumLinearMotor.html +0 -1357
  593. package/docs/MotionSensor.html +0 -1022
  594. package/docs/MoveHub.html +0 -2092
  595. package/docs/MoveHubMediumLinearMotor.html +0 -1357
  596. package/docs/MoveHubTiltSensor.html +0 -1045
  597. package/docs/PiezoBuzzer.html +0 -1057
  598. package/docs/PoweredUP.html +0 -4371
  599. package/docs/RemoteControl.html +0 -2092
  600. package/docs/RemoteControlButton.html +0 -1022
  601. package/docs/SimpleMediumLinearMotor.html +0 -871
  602. package/docs/TachoMotor.html +0 -2620
  603. package/docs/Technic3x3ColorLightMatrix.html +0 -1037
  604. package/docs/TechnicColorSensor.html +0 -1525
  605. package/docs/TechnicDistanceSensor.html +0 -1401
  606. package/docs/TechnicForceSensor.html +0 -1316
  607. package/docs/TechnicLargeAngularMotor.html +0 -2028
  608. package/docs/TechnicLargeLinearMotor.html +0 -2028
  609. package/docs/TechnicMediumAngularMotor.html +0 -2028
  610. package/docs/TechnicMediumHub.html +0 -2092
  611. package/docs/TechnicMediumHubAccelerometerSensor.html +0 -1068
  612. package/docs/TechnicMediumHubGyroSensor.html +0 -1068
  613. package/docs/TechnicMediumHubTiltSensor.html +0 -1696
  614. package/docs/TechnicSmallAngularMotor.html +0 -2028
  615. package/docs/TechnicXLargeLinearMotor.html +0 -2028
  616. package/docs/TiltSensor.html +0 -1045
  617. package/docs/TrainMotor.html +0 -1479
  618. package/docs/VoltageSensor.html +0 -1022
  619. package/docs/WeDo2SmartHub.html +0 -1887
  620. package/docs/devices_absolutemotor.js.html +0 -195
  621. package/docs/devices_basicmotor.js.html +0 -138
  622. package/docs/devices_colordistancesensor.js.html +0 -361
  623. package/docs/devices_currentsensor.js.html +0 -132
  624. package/docs/devices_device.js.html +0 -239
  625. package/docs/devices_duplotrainbasecolorsensor.js.html +0 -154
  626. package/docs/devices_duplotrainbasemotor.js.html +0 -89
  627. package/docs/devices_duplotrainbasespeaker.js.html +0 -117
  628. package/docs/devices_duplotrainbasespeedometer.js.html +0 -111
  629. package/docs/devices_hubled.js.html +0 -137
  630. package/docs/devices_light.js.html +0 -123
  631. package/docs/devices_marioaccelerometer.js.html +0 -127
  632. package/docs/devices_mariobarcodesensor.js.html +0 -135
  633. package/docs/devices_mariopantssensor.js.html +0 -111
  634. package/docs/devices_mediumlinearmotor.js.html +0 -89
  635. package/docs/devices_motionsensor.js.html +0 -115
  636. package/docs/devices_movehubmediumlinearmotor.js.html +0 -89
  637. package/docs/devices_movehubtiltsensor.js.html +0 -113
  638. package/docs/devices_piezobuzzer.js.html +0 -105
  639. package/docs/devices_remotecontrolbutton.js.html +0 -117
  640. package/docs/devices_simplemediumlinearmotor.js.html +0 -89
  641. package/docs/devices_tachomotor.js.html +0 -244
  642. package/docs/devices_technic3x3colorlightmatrix.js.html +0 -131
  643. package/docs/devices_techniccolorsensor.js.html +0 -149
  644. package/docs/devices_technicdistancesensor.js.html +0 -135
  645. package/docs/devices_technicforcesensor.js.html +0 -135
  646. package/docs/devices_techniclargeangularmotor.js.html +0 -89
  647. package/docs/devices_techniclargelinearmotor.js.html +0 -89
  648. package/docs/devices_technicmediumangularmotor.js.html +0 -89
  649. package/docs/devices_technicmediumhubaccelerometersensor.js.html +0 -115
  650. package/docs/devices_technicmediumhubgyrosensor.js.html +0 -115
  651. package/docs/devices_technicmediumhubtiltsensor.js.html +0 -183
  652. package/docs/devices_technicsmallangularmotor.js.html +0 -89
  653. package/docs/devices_technicxlargelinearmotor.js.html +0 -89
  654. package/docs/devices_tiltsensor.js.html +0 -113
  655. package/docs/devices_trainmotor.js.html +0 -89
  656. package/docs/devices_voltagesensor.js.html +0 -136
  657. package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
  658. package/docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
  659. package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
  660. package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  661. package/docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  662. package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  663. package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
  664. package/docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
  665. package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
  666. package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
  667. package/docs/fonts/OpenSans-Light-webfont.svg +0 -1831
  668. package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
  669. package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  670. package/docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  671. package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  672. package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
  673. package/docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
  674. package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
  675. package/docs/fonts/OpenSans-Semibold-webfont.eot +0 -0
  676. package/docs/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  677. package/docs/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  678. package/docs/fonts/OpenSans-Semibold-webfont.woff +0 -0
  679. package/docs/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  680. package/docs/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  681. package/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  682. package/docs/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  683. package/docs/global.html +0 -3996
  684. package/docs/hubs_basehub.js.html +0 -469
  685. package/docs/hubs_duplotrainbase.js.html +0 -112
  686. package/docs/hubs_hub.js.html +0 -121
  687. package/docs/hubs_mario.js.html +0 -108
  688. package/docs/hubs_movehub.js.html +0 -123
  689. package/docs/hubs_remotecontrol.js.html +0 -114
  690. package/docs/hubs_technicmediumhub.js.html +0 -119
  691. package/docs/hubs_technicsmallhub.js.html +0 -118
  692. package/docs/hubs_wedo2smarthub.js.html +0 -265
  693. package/docs/icons/home.svg +0 -4
  694. package/docs/icons/search.svg +0 -4
  695. package/docs/poweredup-browser.js.html +0 -292
  696. package/docs/poweredup-node.js.html +0 -250
  697. package/docs/scripts/linenumber.js +0 -25
  698. package/docs/scripts/pagelocation.js +0 -89
  699. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  700. package/docs/scripts/prettify/lang-css.js +0 -2
  701. package/docs/scripts/prettify/prettify.js +0 -28
  702. package/docs/styles/collapse.css +0 -27
  703. package/docs/styles/jsdoc-default.css +0 -358
  704. package/docs/styles/prettify-jsdoc.css +0 -111
  705. package/docs/styles/prettify-tomorrow.css +0 -132
  706. package/noble-mac.d.ts +0 -3
@@ -0,0 +1,24 @@
1
+ import { EventEmitter } from "events";
2
+ import * as Consts from "./consts.js";
3
+ export interface IBLEAbstraction extends EventEmitter {
4
+ uuid: string;
5
+ name: string;
6
+ connecting: boolean;
7
+ connected: boolean;
8
+ connect: () => Promise<void>;
9
+ disconnect: () => Promise<void>;
10
+ discoverCharacteristicsForService: (uuid: string) => Promise<void>;
11
+ subscribeToCharacteristic: (uuid: string, callback: (data: Buffer) => void) => void;
12
+ addToCharacteristicMailbox: (uuid: string, data: Buffer) => void;
13
+ readFromCharacteristic: (uuid: string, callback: (err: Error | null, data: Buffer | null) => void) => void;
14
+ writeToCharacteristic: (uuid: string, data: Buffer) => Promise<void>;
15
+ }
16
+ export interface IDeviceInterface extends EventEmitter {
17
+ type: Consts.HubType;
18
+ getPortNameForPortId: (portId: number) => string | undefined;
19
+ send: (message: Buffer, uuid: string) => Promise<void>;
20
+ subscribe: (portId: number, deviceType: number, mode: number) => void;
21
+ isPortVirtual: (portId: number) => boolean;
22
+ sleep: (delay: number) => Promise<any>;
23
+ }
24
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,iCAAiC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,yBAAyB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACpF,0BAA0B,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3G,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IAClD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;IACrB,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7D,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { EventEmitter } from "events";
2
+ import { IBLEAbstraction } from "./interfaces.js";
3
+ export declare class NobleDevice extends EventEmitter implements IBLEAbstraction {
4
+ private _noblePeripheral;
5
+ private _uuid;
6
+ private _name;
7
+ private _listeners;
8
+ private _characteristics;
9
+ private _queue;
10
+ private _mailbox;
11
+ private _connected;
12
+ private _connecting;
13
+ constructor(device: any);
14
+ get uuid(): string;
15
+ get name(): string;
16
+ get connecting(): boolean;
17
+ get connected(): boolean;
18
+ connect(): Promise<void>;
19
+ disconnect(): Promise<void>;
20
+ discoverCharacteristicsForService(uuid: string): Promise<void>;
21
+ subscribeToCharacteristic(uuid: string, callback: (data: Buffer) => void): void;
22
+ addToCharacteristicMailbox(uuid: string, data: Buffer): void;
23
+ readFromCharacteristic(uuid: string, callback: (err: Error | null, data: Buffer | null) => void): void;
24
+ writeToCharacteristic(uuid: string, data: Buffer): Promise<void>;
25
+ private _sanitizeUUID;
26
+ }
27
+ //# sourceMappingURL=nobleabstraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nobleabstraction.d.ts","sourceRoot":"","sources":["../src/nobleabstraction.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIlD,qBAAa,WAAY,SAAQ,YAAa,YAAW,eAAe;IAEpE,OAAO,CAAC,gBAAgB,CAAa;IAErC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAc;IAE3B,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,gBAAgB,CAAwC;IAEhE,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAgB;IAEhC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAkB;gBAGxB,MAAM,EAAE,GAAG;IAiBxB,IAAW,IAAI,WAEd;IAGD,IAAW,IAAI,WAEd;IAGD,IAAW,UAAU,YAEpB;IAGD,IAAW,SAAS,YAEnB;IAGM,OAAO;IAgBP,UAAU;IAUV,iCAAiC,CAAE,IAAI,EAAE,MAAM;IA6B/C,yBAAyB,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAazE,0BAA0B,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAKtD,sBAAsB,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;IAQhG,qBAAqB,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAcxD,OAAO,CAAC,aAAa;CAKxB"}
@@ -0,0 +1,121 @@
1
+ import Debug from "debug";
2
+ import { EventEmitter } from "events";
3
+ const debug = Debug("bledevice");
4
+ export class NobleDevice extends EventEmitter {
5
+ constructor(device) {
6
+ super();
7
+ this._name = "";
8
+ this._listeners = {};
9
+ this._characteristics = {};
10
+ this._queue = Promise.resolve();
11
+ this._mailbox = [];
12
+ this._connected = false;
13
+ this._connecting = false;
14
+ this._noblePeripheral = device;
15
+ this._uuid = device.uuid;
16
+ device.on("disconnect", () => {
17
+ this._connecting = false;
18
+ this._connected = false;
19
+ this.emit("disconnect");
20
+ });
21
+ // NK: This hack allows LPF2.0 hubs to send a second advertisement packet consisting of the hub name before we try to read it
22
+ setTimeout(() => {
23
+ this._name = device.advertisement.localName;
24
+ this.emit("discoverComplete");
25
+ }, 1000);
26
+ }
27
+ get uuid() {
28
+ return this._uuid;
29
+ }
30
+ get name() {
31
+ return this._name;
32
+ }
33
+ get connecting() {
34
+ return this._connecting;
35
+ }
36
+ get connected() {
37
+ return this._connected;
38
+ }
39
+ connect() {
40
+ return new Promise((resolve, reject) => {
41
+ this._connecting = true;
42
+ this._noblePeripheral.connect((err) => {
43
+ if (err) {
44
+ return reject(err);
45
+ }
46
+ this._connecting = false;
47
+ this._connected = true;
48
+ return resolve();
49
+ });
50
+ });
51
+ }
52
+ disconnect() {
53
+ return new Promise((resolve) => {
54
+ this._noblePeripheral.disconnect();
55
+ this._connecting = false;
56
+ this._connected = false;
57
+ return resolve();
58
+ });
59
+ }
60
+ discoverCharacteristicsForService(uuid) {
61
+ return new Promise(async (discoverResolve, discoverReject) => {
62
+ uuid = this._sanitizeUUID(uuid);
63
+ this._noblePeripheral.discoverServices([uuid], (err, services) => {
64
+ if (err) {
65
+ return discoverReject(err);
66
+ }
67
+ debug("Service/characteristic discovery started");
68
+ const servicePromises = [];
69
+ services.forEach((service) => {
70
+ servicePromises.push(new Promise((resolve) => {
71
+ service.discoverCharacteristics([], (err, characteristics) => {
72
+ characteristics.forEach((characteristic) => {
73
+ this._characteristics[characteristic.uuid] = characteristic;
74
+ });
75
+ return resolve();
76
+ });
77
+ }));
78
+ });
79
+ Promise.all(servicePromises).then(() => {
80
+ debug("Service/characteristic discovery finished");
81
+ return discoverResolve();
82
+ });
83
+ });
84
+ });
85
+ }
86
+ subscribeToCharacteristic(uuid, callback) {
87
+ uuid = this._sanitizeUUID(uuid);
88
+ this._characteristics[uuid].on("data", (data) => {
89
+ return callback(data);
90
+ });
91
+ this._characteristics[uuid].subscribe((err) => {
92
+ if (err) {
93
+ throw err;
94
+ }
95
+ });
96
+ }
97
+ addToCharacteristicMailbox(uuid, data) {
98
+ this._mailbox.push(data);
99
+ }
100
+ readFromCharacteristic(uuid, callback) {
101
+ uuid = this._sanitizeUUID(uuid);
102
+ this._characteristics[uuid].read((err, data) => {
103
+ return callback(err ?? null, data);
104
+ });
105
+ }
106
+ writeToCharacteristic(uuid, data) {
107
+ return new Promise((resolve, reject) => {
108
+ uuid = this._sanitizeUUID(uuid);
109
+ this._characteristics[uuid].write(data, false, (error) => {
110
+ if (error) {
111
+ return reject(error);
112
+ }
113
+ return resolve();
114
+ });
115
+ });
116
+ }
117
+ _sanitizeUUID(uuid) {
118
+ return uuid.replace(/-/g, "");
119
+ }
120
+ }
121
+ //# sourceMappingURL=nobleabstraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nobleabstraction.js","sourceRoot":"","sources":["../src/nobleabstraction.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Color = void 0;
27
- const Consts = __importStar(require("./consts"));
28
- class Color {
1
+ import * as Consts from "./consts";
2
+ export class Color {
29
3
  constructor(color, brightness) {
30
4
  this._brightness = 100;
31
5
  this._color = color;
@@ -38,5 +12,4 @@ class Color {
38
12
  return this._color + (Math.round(this._brightness / 10) << 4);
39
13
  }
40
14
  }
41
- exports.Color = Color;
42
15
  //# sourceMappingURL=color.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/color.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAEnC,MAAa,KAAK;IAKd,YAAa,KAAa,EAAE,UAAmB;QAFvC,gBAAW,GAAW,GAAG,CAAC;QAG9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,UAAU,IAAI,GAAG,CAAC;IACzC,CAAC;IAEM,OAAO;QACV,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;CAEJ;AAjBD,sBAiBC"}
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,MAAM,OAAO,KAAK;IAKd,YAAa,KAAa,EAAE,UAAmB;QAFvC,gBAAW,GAAW,GAAG,CAAC;QAG9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,UAAU,IAAI,GAAG,CAAC;IACzC,CAAC;IAEM,OAAO;QACV,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;CAEJ"}
@@ -0,0 +1,299 @@
1
+ /**
2
+ * PoweredUp Commands
3
+ * Factory functions for creating hub and device commands
4
+ */
5
+ import * as Protocol from "./protocol";
6
+ import { BrakingStyle, Color, Profile, DeviceType, DuploTrainBaseSound } from "./types";
7
+ /**
8
+ * Create a shutdown command
9
+ */
10
+ export declare function shutdown(): Buffer;
11
+ /**
12
+ * Create a disconnect command
13
+ */
14
+ export declare function disconnect(): Buffer;
15
+ /**
16
+ * Create a set name command
17
+ */
18
+ export declare function setName(name: string): Buffer;
19
+ /**
20
+ * Request a hub property update
21
+ */
22
+ export declare function requestProperty(property: Protocol.HubProperty): Buffer;
23
+ /**
24
+ * Enable updates for a hub property
25
+ */
26
+ export declare function enablePropertyUpdates(property: Protocol.HubProperty): Buffer;
27
+ /**
28
+ * Disable updates for a hub property
29
+ */
30
+ export declare function disablePropertyUpdates(property: Protocol.HubProperty): Buffer;
31
+ /**
32
+ * Enable alert notifications
33
+ */
34
+ export declare function enableAlerts(alertType: Protocol.AlertOperation): Buffer;
35
+ /**
36
+ * Disable alert notifications
37
+ */
38
+ export declare function disableAlerts(alertType: Protocol.AlertOperation): Buffer;
39
+ /**
40
+ * Subscribe to port notifications
41
+ */
42
+ export declare function subscribe(portId: number, mode: number, deltaInterval?: number): Buffer;
43
+ /**
44
+ * Unsubscribe from port notifications
45
+ */
46
+ export declare function unsubscribe(portId: number, mode: number): Buffer;
47
+ /**
48
+ * Request port information
49
+ */
50
+ export declare function requestPortInfo(portId: number, informationType: Protocol.PortInformationType): Buffer;
51
+ /**
52
+ * Request port mode information
53
+ */
54
+ export declare function requestPortModeInfo(portId: number, mode: number, infoType: Protocol.ModeInformationType): Buffer;
55
+ /**
56
+ * Create a virtual port from two physical ports
57
+ */
58
+ export declare function createVirtualPort(portIdA: number, portIdB: number): Buffer;
59
+ /**
60
+ * Disconnect a virtual port
61
+ */
62
+ export declare function disconnectVirtualPort(virtualPortId: number): Buffer;
63
+ /**
64
+ * Stop a motor (set power to 0)
65
+ */
66
+ export declare function motorStop(portId: number): Buffer;
67
+ /**
68
+ * Brake a motor
69
+ */
70
+ export declare function motorBrake(portId: number): Buffer;
71
+ /**
72
+ * Set motor power (unregulated)
73
+ * @param portId Port ID
74
+ * @param power Power level (-100 to 100)
75
+ */
76
+ export declare function motorPower(portId: number, power: number): Buffer;
77
+ /**
78
+ * Set dual motor power (for virtual ports)
79
+ */
80
+ export declare function motorPowerDual(portId: number, power1: number, power2: number): Buffer;
81
+ /**
82
+ * Set motor speed (regulated)
83
+ * @param portId Port ID
84
+ * @param speed Speed (-100 to 100)
85
+ * @param maxPower Maximum power (0 to 100)
86
+ * @param profile Acceleration/deceleration profile
87
+ */
88
+ export declare function motorSpeed(portId: number, speed: number, maxPower?: number, profile?: Profile): Buffer;
89
+ /**
90
+ * Set dual motor speed (for virtual ports)
91
+ */
92
+ export declare function motorSpeedDual(portId: number, speed1: number, speed2: number, maxPower?: number, profile?: Profile): Buffer;
93
+ /**
94
+ * Run motor for time
95
+ * @param portId Port ID
96
+ * @param time Time in milliseconds
97
+ * @param speed Speed (-100 to 100)
98
+ * @param maxPower Maximum power (0 to 100)
99
+ * @param endState State after completion
100
+ * @param profile Acceleration/deceleration profile
101
+ */
102
+ export declare function motorRunForTime(portId: number, time: number, speed: number, maxPower?: number, endState?: BrakingStyle, profile?: Profile): Buffer;
103
+ /**
104
+ * Run motor for degrees
105
+ * @param portId Port ID
106
+ * @param degrees Degrees to rotate
107
+ * @param speed Speed (-100 to 100)
108
+ * @param maxPower Maximum power (0 to 100)
109
+ * @param endState State after completion
110
+ * @param profile Acceleration/deceleration profile
111
+ */
112
+ export declare function motorRunForDegrees(portId: number, degrees: number, speed: number, maxPower?: number, endState?: BrakingStyle, profile?: Profile): Buffer;
113
+ /**
114
+ * Go to absolute position
115
+ * @param portId Port ID
116
+ * @param position Target position in degrees
117
+ * @param speed Speed (0 to 100)
118
+ * @param maxPower Maximum power (0 to 100)
119
+ * @param endState State after completion
120
+ * @param profile Acceleration/deceleration profile
121
+ */
122
+ export declare function motorGotoPosition(portId: number, position: number, speed: number, maxPower?: number, endState?: BrakingStyle, profile?: Profile): Buffer;
123
+ /**
124
+ * Reset motor encoder
125
+ * @param portId Port ID
126
+ * @param position Position to set (default 0)
127
+ */
128
+ export declare function motorResetEncoder(portId: number, position?: number): Buffer;
129
+ /**
130
+ * Set motor acceleration time
131
+ * @param portId Port ID
132
+ * @param time Time in milliseconds (0 to 10000)
133
+ * @param profileNumber Profile number (0 to 3)
134
+ */
135
+ export declare function motorSetAccelerationTime(portId: number, time: number, profileNumber?: number): Buffer;
136
+ /**
137
+ * Set motor deceleration time
138
+ * @param portId Port ID
139
+ * @param time Time in milliseconds (0 to 10000)
140
+ * @param profileNumber Profile number (0 to 3)
141
+ */
142
+ export declare function motorSetDecelerationTime(portId: number, time: number, profileNumber?: number): Buffer;
143
+ /**
144
+ * Set LED color by color number
145
+ * @param portId Port ID of the LED
146
+ * @param color Color value
147
+ */
148
+ export declare function ledColor(portId: number, color: Color): Buffer;
149
+ /**
150
+ * Set LED color by RGB values
151
+ * @param portId Port ID of the LED
152
+ * @param red Red component (0-255)
153
+ * @param green Green component (0-255)
154
+ * @param blue Blue component (0-255)
155
+ */
156
+ export declare function ledRGB(portId: number, red: number, green: number, blue: number): Buffer;
157
+ /**
158
+ * Set Technic 3x3 Color Light Matrix pixels
159
+ * @param portId Port ID
160
+ * @param pixels Array of 9 color values (or colors with brightness)
161
+ */
162
+ export declare function technicMatrix3x3(portId: number, pixels: Color[]): Buffer;
163
+ /**
164
+ * Play Duplo Train Base sound
165
+ * @param portId Port ID of the speaker
166
+ * @param sound Sound to play
167
+ */
168
+ export declare function duploTrainSound(portId: number, sound: DuploTrainBaseSound): Buffer;
169
+ /**
170
+ * Set Duplo Train Base speaker tone
171
+ * @param portId Port ID of the speaker
172
+ * @param tone Tone value (0-10)
173
+ */
174
+ export declare function duploTrainTone(portId: number, tone: number): Buffer;
175
+ /**
176
+ * Play piezo buzzer tone
177
+ * @param portId Port ID
178
+ * @param frequency Frequency in Hz
179
+ * @param duration Duration in milliseconds
180
+ */
181
+ export declare function piezoTone(portId: number, frequency: number, duration: number): Buffer;
182
+ /**
183
+ * Stop piezo buzzer
184
+ * @param portId Port ID
185
+ */
186
+ export declare function piezoStop(portId: number): Buffer;
187
+ /**
188
+ * Set light brightness
189
+ * @param portId Port ID
190
+ * @param brightness Brightness (0-100)
191
+ */
192
+ export declare function lightBrightness(portId: number, brightness: number): Buffer;
193
+ /**
194
+ * Configure color sensor mode
195
+ * @param portId Port ID
196
+ * @param mode Mode (0=color, 1=tag, etc.)
197
+ */
198
+ export declare function colorSensorMode(portId: number, mode: number): Buffer;
199
+ /**
200
+ * Configure tilt sensor orientation
201
+ * @param portId Port ID
202
+ * @param orientation Orientation (0-5 for different orientations)
203
+ */
204
+ export declare function tiltSensorOrientation(portId: number, orientation: number): Buffer;
205
+ /**
206
+ * Configure tilt sensor impact threshold
207
+ * @param portId Port ID
208
+ * @param threshold Impact threshold (0-127)
209
+ * @param holdoff Bump holdoff in 10ms units (1-127)
210
+ */
211
+ export declare function tiltSensorImpact(portId: number, threshold: number, holdoff: number): Buffer;
212
+ /**
213
+ * Set Technic Distance Sensor LED brightness
214
+ * The sensor has 4 LEDs that can be individually controlled
215
+ * @param portId Port ID
216
+ * @param upperLeft Upper left LED brightness (0-100)
217
+ * @param upperRight Upper right LED brightness (0-100)
218
+ * @param lowerLeft Lower left LED brightness (0-100)
219
+ * @param lowerRight Lower right LED brightness (0-100)
220
+ */
221
+ export declare function setDistanceSensorLEDs(portId: number, upperLeft: number, upperRight: number, lowerLeft: number, lowerRight: number): Buffer;
222
+ /**
223
+ * Set Technic 3x3 Light Matrix pixels
224
+ * @param portId Port ID
225
+ * @param pixels Array of 9 colors (row by row, left to right)
226
+ */
227
+ export declare function setLightMatrix(portId: number, pixels: number[]): Buffer;
228
+ /**
229
+ * Play sound on Duplo Train Base Speaker
230
+ * @param portId Port ID
231
+ * @param sound Sound index to play
232
+ */
233
+ export declare function playSound(portId: number, sound: number): Buffer;
234
+ export declare const wedo2: {
235
+ /**
236
+ * Set motor power on WeDo 2.0
237
+ */
238
+ motorPower(portId: number, power: number): Buffer;
239
+ /**
240
+ * Brake motor on WeDo 2.0
241
+ */
242
+ motorBrake(portId: number): Buffer;
243
+ /**
244
+ * Float motor on WeDo 2.0
245
+ */
246
+ motorFloat(portId: number): Buffer;
247
+ /**
248
+ * Set LED color on WeDo 2.0
249
+ */
250
+ ledColor(portId: number, color: Color): Buffer;
251
+ /**
252
+ * Set LED RGB on WeDo 2.0
253
+ */
254
+ ledRGB(portId: number, red: number, green: number, blue: number): Buffer;
255
+ /**
256
+ * Play piezo tone on WeDo 2.0
257
+ */
258
+ piezoTone(portId: number, frequency: number, duration: number): Buffer;
259
+ /**
260
+ * Stop piezo on WeDo 2.0
261
+ */
262
+ piezoStop(portId: number): Buffer;
263
+ /**
264
+ * Subscribe to sensor on WeDo 2.0
265
+ */
266
+ subscribe(portId: number, deviceType: DeviceType, mode: number): Buffer;
267
+ /**
268
+ * Unsubscribe from sensor on WeDo 2.0
269
+ */
270
+ unsubscribe(portId: number, deviceType: DeviceType, mode: number): Buffer;
271
+ /**
272
+ * Disconnect WeDo 2.0
273
+ */
274
+ disconnect(): Buffer;
275
+ /**
276
+ * Set name on WeDo 2.0
277
+ */
278
+ setName(name: string): Buffer;
279
+ };
280
+ /**
281
+ * Check if a device type is a motor
282
+ */
283
+ export declare function isMotor(deviceType: DeviceType): boolean;
284
+ /**
285
+ * Check if a device type is a tacho motor (has encoder)
286
+ */
287
+ export declare function isTachoMotor(deviceType: DeviceType): boolean;
288
+ /**
289
+ * Check if a device type is an absolute position motor
290
+ */
291
+ export declare function isAbsoluteMotor(deviceType: DeviceType): boolean;
292
+ /**
293
+ * Check if a device type is a sensor
294
+ */
295
+ export declare function isSensor(deviceType: DeviceType): boolean;
296
+ /**
297
+ * Get default sensor mode for a device type
298
+ */
299
+ export declare function getDefaultSensorMode(deviceType: DeviceType): number;