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