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,158 @@
1
+ /**
2
+ * PoweredUp Protocol - WeDo 2.0
3
+ * WeDo 2.0 Smart Hub uses a different BLE protocol than LWP3
4
+ */
5
+ import { DeviceType, PortEvent, Color } from "./types";
6
+ export declare const WEDO2_SERVICE_UUID = "00001523-1212-efde-1523-785feabcd123";
7
+ export declare const WEDO2_SERVICE_UUID_2 = "00004f0e-1212-efde-1523-785feabcd123";
8
+ export declare const WEDO2_BATTERY_SERVICE_UUID = "180f";
9
+ export declare const WEDO2_DEVICE_INFO_SERVICE_UUID = "180a";
10
+ export declare const WEDO2_CHARACTERISTICS: {
11
+ NAME_ID: string;
12
+ BUTTON: string;
13
+ PORT_TYPE: string;
14
+ LOW_VOLTAGE_ALERT: string;
15
+ HIGH_CURRENT_ALERT: string;
16
+ LOW_SIGNAL_ALERT: string;
17
+ DISCONNECT: string;
18
+ SENSOR_VALUE: string;
19
+ VALUE_FORMAT: string;
20
+ PORT_TYPE_WRITE: string;
21
+ MOTOR_VALUE_WRITE: string;
22
+ BATTERY: string;
23
+ FIRMWARE_REVISION: string;
24
+ };
25
+ export declare enum WeDo2DeviceType {
26
+ UNKNOWN = 0,
27
+ SIMPLE_MEDIUM_LINEAR_MOTOR = 1,// WeDo2 motor
28
+ VOLTAGE_SENSOR = 20,
29
+ CURRENT_SENSOR = 21,
30
+ PIEZO_BUZZER = 22,
31
+ RGB_LIGHT = 23,
32
+ TILT_SENSOR = 34,
33
+ MOTION_SENSOR = 35,
34
+ MEDIUM_LINEAR_MOTOR = 38
35
+ }
36
+ export declare const WEDO2_PORT_MAP: {
37
+ [key: string]: number;
38
+ };
39
+ export interface WeDo2PortMessage {
40
+ kind: "port";
41
+ portId: number;
42
+ event: PortEvent;
43
+ deviceType: DeviceType;
44
+ }
45
+ export interface WeDo2SensorMessage {
46
+ kind: "sensor";
47
+ portId: number;
48
+ values: number[];
49
+ }
50
+ export interface WeDo2ButtonMessage {
51
+ kind: "button";
52
+ pressed: boolean;
53
+ }
54
+ export interface WeDo2BatteryMessage {
55
+ kind: "battery";
56
+ level: number;
57
+ }
58
+ export interface WeDo2AlertMessage {
59
+ kind: "alert";
60
+ alertType: "lowVoltage" | "highCurrent" | "lowSignal";
61
+ }
62
+ export type WeDo2DecodedMessage = WeDo2PortMessage | WeDo2SensorMessage | WeDo2ButtonMessage | WeDo2BatteryMessage | WeDo2AlertMessage;
63
+ /**
64
+ * Decode WeDo 2.0 port attachment/detachment message
65
+ */
66
+ export declare function decodeWeDo2PortMessage(data: Buffer): WeDo2PortMessage | null;
67
+ /**
68
+ * Decode WeDo 2.0 sensor value message
69
+ */
70
+ export declare function decodeWeDo2SensorMessage(data: Buffer): WeDo2SensorMessage | null;
71
+ /**
72
+ * Decode WeDo 2.0 button message
73
+ */
74
+ export declare function decodeWeDo2ButtonMessage(data: Buffer): WeDo2ButtonMessage | null;
75
+ /**
76
+ * Decode WeDo 2.0 battery message
77
+ */
78
+ export declare function decodeWeDo2BatteryMessage(data: Buffer): WeDo2BatteryMessage | null;
79
+ /**
80
+ * Create WeDo 2.0 sensor subscription message
81
+ */
82
+ export declare function createWeDo2Subscribe(portId: number, deviceType: DeviceType, mode: number, enable: boolean): Buffer;
83
+ /**
84
+ * Create WeDo 2.0 motor power command
85
+ */
86
+ export declare function createWeDo2MotorPower(portId: number, power: number): Buffer;
87
+ /**
88
+ * Create WeDo 2.0 motor brake command
89
+ */
90
+ export declare function createWeDo2MotorBrake(portId: number): Buffer;
91
+ /**
92
+ * Create WeDo 2.0 motor float command
93
+ */
94
+ export declare function createWeDo2MotorFloat(portId: number): Buffer;
95
+ /**
96
+ * Create WeDo 2.0 LED color command (by color number)
97
+ */
98
+ export declare function createWeDo2LEDColor(portId: number, color: Color): Buffer;
99
+ /**
100
+ * Create WeDo 2.0 LED RGB command
101
+ */
102
+ export declare function createWeDo2LEDRGB(portId: number, red: number, green: number, blue: number): Buffer;
103
+ /**
104
+ * Create WeDo 2.0 piezo tone command
105
+ */
106
+ export declare function createWeDo2PiezoTone(portId: number, frequency: number, duration: number): Buffer;
107
+ /**
108
+ * Create WeDo 2.0 piezo stop command
109
+ */
110
+ export declare function createWeDo2PiezoStop(portId: number): Buffer;
111
+ /**
112
+ * Create WeDo 2.0 disconnect command
113
+ */
114
+ export declare function createWeDo2Disconnect(): Buffer;
115
+ /**
116
+ * Create WeDo 2.0 name set command
117
+ */
118
+ export declare function createWeDo2SetName(name: string): Buffer;
119
+ /**
120
+ * Parse WeDo 2.0 tilt sensor values
121
+ */
122
+ export declare function parseWeDo2TiltValue(data: Buffer): {
123
+ x: number;
124
+ y: number;
125
+ };
126
+ /**
127
+ * Parse WeDo 2.0 motion sensor value
128
+ */
129
+ export declare function parseWeDo2MotionValue(data: Buffer): {
130
+ distance: number;
131
+ count?: number;
132
+ };
133
+ /**
134
+ * Parse WeDo 2.0 voltage sensor value
135
+ */
136
+ export declare function parseWeDo2VoltageValue(data: Buffer): number;
137
+ /**
138
+ * Parse WeDo 2.0 current sensor value
139
+ */
140
+ export declare function parseWeDo2CurrentValue(data: Buffer): number;
141
+ export declare enum WeDo2TiltMode {
142
+ ANGLE = 0,// X and Y angle
143
+ TILT = 1,// Tilt direction (0-3)
144
+ CRASH = 2,// Crash detection
145
+ UNKNOWN_3 = 3
146
+ }
147
+ export declare enum WeDo2MotionMode {
148
+ DETECT = 0,// Object detection (distance)
149
+ COUNT = 1,// Object count
150
+ UNKNOWN_2 = 2
151
+ }
152
+ export declare enum WeDo2TiltDirection {
153
+ NEUTRAL = 0,
154
+ BACKWARD = 3,
155
+ RIGHT = 5,
156
+ LEFT = 7,
157
+ FORWARD = 9
158
+ }
@@ -0,0 +1,342 @@
1
+ "use strict";
2
+ /**
3
+ * PoweredUp Protocol - WeDo 2.0
4
+ * WeDo 2.0 Smart Hub uses a different BLE protocol than LWP3
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.WeDo2TiltDirection = exports.WeDo2MotionMode = exports.WeDo2TiltMode = exports.WEDO2_PORT_MAP = exports.WeDo2DeviceType = exports.WEDO2_CHARACTERISTICS = exports.WEDO2_DEVICE_INFO_SERVICE_UUID = exports.WEDO2_BATTERY_SERVICE_UUID = exports.WEDO2_SERVICE_UUID_2 = exports.WEDO2_SERVICE_UUID = void 0;
8
+ exports.decodeWeDo2PortMessage = decodeWeDo2PortMessage;
9
+ exports.decodeWeDo2SensorMessage = decodeWeDo2SensorMessage;
10
+ exports.decodeWeDo2ButtonMessage = decodeWeDo2ButtonMessage;
11
+ exports.decodeWeDo2BatteryMessage = decodeWeDo2BatteryMessage;
12
+ exports.createWeDo2Subscribe = createWeDo2Subscribe;
13
+ exports.createWeDo2MotorPower = createWeDo2MotorPower;
14
+ exports.createWeDo2MotorBrake = createWeDo2MotorBrake;
15
+ exports.createWeDo2MotorFloat = createWeDo2MotorFloat;
16
+ exports.createWeDo2LEDColor = createWeDo2LEDColor;
17
+ exports.createWeDo2LEDRGB = createWeDo2LEDRGB;
18
+ exports.createWeDo2PiezoTone = createWeDo2PiezoTone;
19
+ exports.createWeDo2PiezoStop = createWeDo2PiezoStop;
20
+ exports.createWeDo2Disconnect = createWeDo2Disconnect;
21
+ exports.createWeDo2SetName = createWeDo2SetName;
22
+ exports.parseWeDo2TiltValue = parseWeDo2TiltValue;
23
+ exports.parseWeDo2MotionValue = parseWeDo2MotionValue;
24
+ exports.parseWeDo2VoltageValue = parseWeDo2VoltageValue;
25
+ exports.parseWeDo2CurrentValue = parseWeDo2CurrentValue;
26
+ const types_1 = require("./types");
27
+ // ============================================================================
28
+ // BLE Service and Characteristic UUIDs for WeDo 2.0
29
+ // ============================================================================
30
+ exports.WEDO2_SERVICE_UUID = "00001523-1212-efde-1523-785feabcd123";
31
+ exports.WEDO2_SERVICE_UUID_2 = "00004f0e-1212-efde-1523-785feabcd123";
32
+ exports.WEDO2_BATTERY_SERVICE_UUID = "180f";
33
+ exports.WEDO2_DEVICE_INFO_SERVICE_UUID = "180a";
34
+ // Characteristic UUIDs - normalized (no dashes, lowercase) to match noble's format
35
+ exports.WEDO2_CHARACTERISTICS = {
36
+ NAME_ID: "000015241212efde1523785feabcd123",
37
+ BUTTON: "000015261212efde1523785feabcd123",
38
+ PORT_TYPE: "000015271212efde1523785feabcd123",
39
+ LOW_VOLTAGE_ALERT: "000015281212efde1523785feabcd123",
40
+ HIGH_CURRENT_ALERT: "000015291212efde1523785feabcd123",
41
+ LOW_SIGNAL_ALERT: "0000152a1212efde1523785feabcd123",
42
+ DISCONNECT: "0000152b1212efde1523785feabcd123",
43
+ SENSOR_VALUE: "000015601212efde1523785feabcd123",
44
+ VALUE_FORMAT: "000015611212efde1523785feabcd123",
45
+ PORT_TYPE_WRITE: "000015631212efde1523785feabcd123",
46
+ MOTOR_VALUE_WRITE: "000015651212efde1523785feabcd123",
47
+ BATTERY: "2a19",
48
+ FIRMWARE_REVISION: "2a26",
49
+ };
50
+ // ============================================================================
51
+ // WeDo 2.0 Device Types
52
+ // These map directly to DeviceType values - WeDo2 uses the same type IDs
53
+ // ============================================================================
54
+ var WeDo2DeviceType;
55
+ (function (WeDo2DeviceType) {
56
+ WeDo2DeviceType[WeDo2DeviceType["UNKNOWN"] = 0] = "UNKNOWN";
57
+ WeDo2DeviceType[WeDo2DeviceType["SIMPLE_MEDIUM_LINEAR_MOTOR"] = 1] = "SIMPLE_MEDIUM_LINEAR_MOTOR";
58
+ WeDo2DeviceType[WeDo2DeviceType["VOLTAGE_SENSOR"] = 20] = "VOLTAGE_SENSOR";
59
+ WeDo2DeviceType[WeDo2DeviceType["CURRENT_SENSOR"] = 21] = "CURRENT_SENSOR";
60
+ WeDo2DeviceType[WeDo2DeviceType["PIEZO_BUZZER"] = 22] = "PIEZO_BUZZER";
61
+ WeDo2DeviceType[WeDo2DeviceType["RGB_LIGHT"] = 23] = "RGB_LIGHT";
62
+ WeDo2DeviceType[WeDo2DeviceType["TILT_SENSOR"] = 34] = "TILT_SENSOR";
63
+ WeDo2DeviceType[WeDo2DeviceType["MOTION_SENSOR"] = 35] = "MOTION_SENSOR";
64
+ WeDo2DeviceType[WeDo2DeviceType["MEDIUM_LINEAR_MOTOR"] = 38] = "MEDIUM_LINEAR_MOTOR";
65
+ })(WeDo2DeviceType || (exports.WeDo2DeviceType = WeDo2DeviceType = {}));
66
+ // ============================================================================
67
+ // WeDo 2.0 Port Map
68
+ // ============================================================================
69
+ exports.WEDO2_PORT_MAP = {
70
+ A: 1,
71
+ B: 2,
72
+ HUB_LED: 6,
73
+ CURRENT: 3,
74
+ VOLTAGE: 4,
75
+ PIEZO: 5,
76
+ };
77
+ // ============================================================================
78
+ // Message Decoding
79
+ // ============================================================================
80
+ /**
81
+ * Decode WeDo 2.0 port attachment/detachment message
82
+ */
83
+ function decodeWeDo2PortMessage(data) {
84
+ if (data.length < 2) {
85
+ return null;
86
+ }
87
+ const portId = data[0];
88
+ const event = data[1];
89
+ let deviceType = types_1.DeviceType.UNKNOWN;
90
+ if (event === 0x01 && data.length >= 4) {
91
+ // Attached
92
+ deviceType = mapWeDo2DeviceType(data[3]);
93
+ }
94
+ return {
95
+ kind: "port",
96
+ portId,
97
+ event: event === 0x01 ? types_1.PortEvent.ATTACHED : types_1.PortEvent.DETACHED,
98
+ deviceType,
99
+ };
100
+ }
101
+ /**
102
+ * Map WeDo 2.0 device types to standard device types
103
+ * WeDo2 uses the same device type IDs as DeviceType enum
104
+ */
105
+ function mapWeDo2DeviceType(wedo2Type) {
106
+ // WeDo2 device types map directly to DeviceType values
107
+ switch (wedo2Type) {
108
+ case WeDo2DeviceType.SIMPLE_MEDIUM_LINEAR_MOTOR:
109
+ return types_1.DeviceType.SIMPLE_MEDIUM_LINEAR_MOTOR;
110
+ case WeDo2DeviceType.MEDIUM_LINEAR_MOTOR:
111
+ return types_1.DeviceType.MEDIUM_LINEAR_MOTOR;
112
+ case WeDo2DeviceType.VOLTAGE_SENSOR:
113
+ return types_1.DeviceType.VOLTAGE_SENSOR;
114
+ case WeDo2DeviceType.CURRENT_SENSOR:
115
+ return types_1.DeviceType.CURRENT_SENSOR;
116
+ case WeDo2DeviceType.PIEZO_BUZZER:
117
+ return types_1.DeviceType.PIEZO_BUZZER;
118
+ case WeDo2DeviceType.RGB_LIGHT:
119
+ return types_1.DeviceType.HUB_LED;
120
+ case WeDo2DeviceType.TILT_SENSOR:
121
+ return types_1.DeviceType.TILT_SENSOR;
122
+ case WeDo2DeviceType.MOTION_SENSOR:
123
+ return types_1.DeviceType.MOTION_SENSOR;
124
+ default:
125
+ console.log(`Unknown WeDo2 device type: ${wedo2Type} (0x${wedo2Type.toString(16)})`);
126
+ return types_1.DeviceType.UNKNOWN;
127
+ }
128
+ }
129
+ /**
130
+ * Decode WeDo 2.0 sensor value message
131
+ */
132
+ function decodeWeDo2SensorMessage(data) {
133
+ if (data.length < 2) {
134
+ return null;
135
+ }
136
+ const portId = data[1];
137
+ const values = [];
138
+ // Parse remaining bytes as values (interpretation depends on device type)
139
+ for (let i = 2; i < data.length; i++) {
140
+ values.push(data[i]);
141
+ }
142
+ return {
143
+ kind: "sensor",
144
+ portId,
145
+ values,
146
+ };
147
+ }
148
+ /**
149
+ * Decode WeDo 2.0 button message
150
+ */
151
+ function decodeWeDo2ButtonMessage(data) {
152
+ if (data.length < 1) {
153
+ return null;
154
+ }
155
+ return {
156
+ kind: "button",
157
+ pressed: data[0] === 1,
158
+ };
159
+ }
160
+ /**
161
+ * Decode WeDo 2.0 battery message
162
+ */
163
+ function decodeWeDo2BatteryMessage(data) {
164
+ if (data.length < 1) {
165
+ return null;
166
+ }
167
+ return {
168
+ kind: "battery",
169
+ level: data[0],
170
+ };
171
+ }
172
+ // ============================================================================
173
+ // Message Encoding
174
+ // ============================================================================
175
+ /**
176
+ * Create WeDo 2.0 sensor subscription message
177
+ */
178
+ function createWeDo2Subscribe(portId, deviceType, mode, enable) {
179
+ return Buffer.from([
180
+ 0x01, // Command
181
+ 0x02, // Notification
182
+ portId,
183
+ deviceType,
184
+ mode,
185
+ 0x01, // Delta interval (byte 0)
186
+ 0x00, // Delta interval (byte 1)
187
+ 0x00, // Delta interval (byte 2)
188
+ 0x00, // Delta interval (byte 3)
189
+ 0x00, // Unknown
190
+ enable ? 0x01 : 0x00, // Enable/disable
191
+ ]);
192
+ }
193
+ /**
194
+ * Create WeDo 2.0 motor power command
195
+ */
196
+ function createWeDo2MotorPower(portId, power) {
197
+ // Clamp power to -100..100
198
+ power = Math.max(-100, Math.min(100, power));
199
+ // Convert to unsigned byte representation for negative values
200
+ const signedPower = power < 0 ? 256 + power : power;
201
+ return Buffer.from([portId, 0x01, 0x02, signedPower]);
202
+ }
203
+ /**
204
+ * Create WeDo 2.0 motor brake command
205
+ */
206
+ function createWeDo2MotorBrake(portId) {
207
+ return Buffer.from([portId, 0x01, 0x00, 0x7f]); // 127 = brake
208
+ }
209
+ /**
210
+ * Create WeDo 2.0 motor float command
211
+ */
212
+ function createWeDo2MotorFloat(portId) {
213
+ return Buffer.from([portId, 0x01, 0x00, 0x00]); // 0 = float
214
+ }
215
+ /**
216
+ * Create WeDo 2.0 LED color command (by color number)
217
+ */
218
+ function createWeDo2LEDColor(portId, color) {
219
+ return Buffer.from([0x06, 0x04, 0x01, color]);
220
+ }
221
+ /**
222
+ * Create WeDo 2.0 LED RGB command
223
+ */
224
+ function createWeDo2LEDRGB(portId, red, green, blue) {
225
+ red = Math.max(0, Math.min(255, red));
226
+ green = Math.max(0, Math.min(255, green));
227
+ blue = Math.max(0, Math.min(255, blue));
228
+ return Buffer.from([0x06, 0x04, 0x03, red, green, blue]);
229
+ }
230
+ /**
231
+ * Create WeDo 2.0 piezo tone command
232
+ */
233
+ function createWeDo2PiezoTone(portId, frequency, duration) {
234
+ const payload = Buffer.alloc(6);
235
+ payload[0] = 0x05; // Piezo port
236
+ payload[1] = 0x02; // Play tone
237
+ payload.writeUInt16LE(frequency, 2);
238
+ payload.writeUInt16LE(duration, 4);
239
+ return payload;
240
+ }
241
+ /**
242
+ * Create WeDo 2.0 piezo stop command
243
+ */
244
+ function createWeDo2PiezoStop(portId) {
245
+ return Buffer.from([0x05, 0x01, 0x00]);
246
+ }
247
+ /**
248
+ * Create WeDo 2.0 disconnect command
249
+ */
250
+ function createWeDo2Disconnect() {
251
+ return Buffer.from([0x00]);
252
+ }
253
+ /**
254
+ * Create WeDo 2.0 name set command
255
+ */
256
+ function createWeDo2SetName(name) {
257
+ if (name.length > 14) {
258
+ name = name.substring(0, 14);
259
+ }
260
+ return Buffer.from(name, "ascii");
261
+ }
262
+ // ============================================================================
263
+ // Sensor Value Parsing
264
+ // ============================================================================
265
+ /**
266
+ * Parse WeDo 2.0 tilt sensor values
267
+ */
268
+ function parseWeDo2TiltValue(data) {
269
+ if (data.length < 2) {
270
+ return { x: 0, y: 0 };
271
+ }
272
+ return {
273
+ x: data.readInt8(0),
274
+ y: data.readInt8(1),
275
+ };
276
+ }
277
+ /**
278
+ * Parse WeDo 2.0 motion sensor value
279
+ */
280
+ function parseWeDo2MotionValue(data) {
281
+ if (data.length < 1) {
282
+ return { distance: 0 };
283
+ }
284
+ const distance = data[0];
285
+ const count = data.length >= 4 ? data.readUInt32LE(0) : undefined;
286
+ return { distance, count };
287
+ }
288
+ /**
289
+ * Parse WeDo 2.0 voltage sensor value
290
+ */
291
+ function parseWeDo2VoltageValue(data) {
292
+ if (data.length < 2) {
293
+ return 0;
294
+ }
295
+ // Raw value from sensor, needs to be converted to actual voltage
296
+ const raw = data.readUInt16LE(0);
297
+ // WeDo 2.0 voltage conversion factor (approximate)
298
+ return (raw * 3.3) / 4095;
299
+ }
300
+ /**
301
+ * Parse WeDo 2.0 current sensor value
302
+ */
303
+ function parseWeDo2CurrentValue(data) {
304
+ if (data.length < 2) {
305
+ return 0;
306
+ }
307
+ // Raw value from sensor, needs to be converted to actual current
308
+ const raw = data.readUInt16LE(0);
309
+ // WeDo 2.0 current conversion factor (approximate)
310
+ return raw / 4095 * 2048; // mA
311
+ }
312
+ // ============================================================================
313
+ // Tilt Sensor Modes
314
+ // ============================================================================
315
+ var WeDo2TiltMode;
316
+ (function (WeDo2TiltMode) {
317
+ WeDo2TiltMode[WeDo2TiltMode["ANGLE"] = 0] = "ANGLE";
318
+ WeDo2TiltMode[WeDo2TiltMode["TILT"] = 1] = "TILT";
319
+ WeDo2TiltMode[WeDo2TiltMode["CRASH"] = 2] = "CRASH";
320
+ WeDo2TiltMode[WeDo2TiltMode["UNKNOWN_3"] = 3] = "UNKNOWN_3";
321
+ })(WeDo2TiltMode || (exports.WeDo2TiltMode = WeDo2TiltMode = {}));
322
+ // ============================================================================
323
+ // Motion Sensor Modes
324
+ // ============================================================================
325
+ var WeDo2MotionMode;
326
+ (function (WeDo2MotionMode) {
327
+ WeDo2MotionMode[WeDo2MotionMode["DETECT"] = 0] = "DETECT";
328
+ WeDo2MotionMode[WeDo2MotionMode["COUNT"] = 1] = "COUNT";
329
+ WeDo2MotionMode[WeDo2MotionMode["UNKNOWN_2"] = 2] = "UNKNOWN_2";
330
+ })(WeDo2MotionMode || (exports.WeDo2MotionMode = WeDo2MotionMode = {}));
331
+ // ============================================================================
332
+ // Tilt Direction Values
333
+ // ============================================================================
334
+ var WeDo2TiltDirection;
335
+ (function (WeDo2TiltDirection) {
336
+ WeDo2TiltDirection[WeDo2TiltDirection["NEUTRAL"] = 0] = "NEUTRAL";
337
+ WeDo2TiltDirection[WeDo2TiltDirection["BACKWARD"] = 3] = "BACKWARD";
338
+ WeDo2TiltDirection[WeDo2TiltDirection["RIGHT"] = 5] = "RIGHT";
339
+ WeDo2TiltDirection[WeDo2TiltDirection["LEFT"] = 7] = "LEFT";
340
+ WeDo2TiltDirection[WeDo2TiltDirection["FORWARD"] = 9] = "FORWARD";
341
+ })(WeDo2TiltDirection || (exports.WeDo2TiltDirection = WeDo2TiltDirection = {}));
342
+ //# sourceMappingURL=protocol-wedo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-wedo.js","sourceRoot":"","sources":["../../src/protocol-wedo.ts"],"names":[],"mappings":"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"}