node-poweredup 9.0.0 → 10.1.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 (633) hide show
  1. package/README.md +6 -12
  2. package/dist/browser/poweredup.js +6193 -3
  3. package/dist/browser/poweredup.js.map +7 -1
  4. package/dist/{node/color.d.ts → color.d.ts} +1 -0
  5. package/dist/color.d.ts.map +1 -0
  6. package/dist/color.js +15 -0
  7. package/dist/color.js.map +1 -0
  8. package/dist/{node/consts.d.ts → consts.d.ts} +57 -16
  9. package/dist/consts.d.ts.map +1 -0
  10. package/dist/{node/consts.js → consts.js} +115 -76
  11. package/dist/consts.js.map +1 -0
  12. package/dist/{node/devices → devices}/absolutemotor.d.ts +12 -13
  13. package/dist/devices/absolutemotor.d.ts.map +1 -0
  14. package/dist/devices/absolutemotor.js +108 -0
  15. package/dist/devices/absolutemotor.js.map +1 -0
  16. package/dist/devices/basicmotor.d.ts +38 -0
  17. package/dist/devices/basicmotor.d.ts.map +1 -0
  18. package/dist/devices/basicmotor.js +51 -0
  19. package/dist/devices/basicmotor.js.map +1 -0
  20. package/dist/{node/devices → devices}/colordistancesensor.d.ts +20 -25
  21. package/dist/devices/colordistancesensor.d.ts.map +1 -0
  22. package/dist/{node/devices → devices}/colordistancesensor.js +40 -79
  23. package/dist/devices/colordistancesensor.js.map +1 -0
  24. package/dist/{node/devices → devices}/currentsensor.d.ts +3 -3
  25. package/dist/devices/currentsensor.d.ts.map +1 -0
  26. package/dist/{node/devices → devices}/currentsensor.js +7 -34
  27. package/dist/devices/currentsensor.js.map +1 -0
  28. package/dist/{node/devices → devices}/device.d.ts +18 -11
  29. package/dist/devices/device.d.ts.map +1 -0
  30. package/dist/devices/device.js +350 -0
  31. package/dist/devices/device.js.map +1 -0
  32. package/dist/{node/devices → devices}/duplotrainbasecolorsensor.d.ts +3 -3
  33. package/dist/devices/duplotrainbasecolorsensor.d.ts.map +1 -0
  34. package/dist/{node/devices → devices}/duplotrainbasecolorsensor.js +9 -36
  35. package/dist/devices/duplotrainbasecolorsensor.js.map +1 -0
  36. package/dist/{node/devices → devices}/duplotrainbasemotor.d.ts +3 -2
  37. package/dist/devices/duplotrainbasemotor.d.ts.map +1 -0
  38. package/dist/devices/duplotrainbasemotor.js +12 -0
  39. package/dist/devices/duplotrainbasemotor.js.map +1 -0
  40. package/dist/devices/duplotrainbasespeaker.d.ts +27 -0
  41. package/dist/devices/duplotrainbasespeaker.d.ts.map +1 -0
  42. package/dist/devices/duplotrainbasespeaker.js +35 -0
  43. package/dist/devices/duplotrainbasespeaker.js.map +1 -0
  44. package/dist/{node/devices → devices}/duplotrainbasespeedometer.d.ts +3 -3
  45. package/dist/devices/duplotrainbasespeedometer.d.ts.map +1 -0
  46. package/dist/devices/duplotrainbasespeedometer.js +34 -0
  47. package/dist/devices/duplotrainbasespeedometer.js.map +1 -0
  48. package/dist/devices/hubled.d.ts +29 -0
  49. package/dist/devices/hubled.d.ts.map +1 -0
  50. package/dist/devices/hubled.js +58 -0
  51. package/dist/devices/hubled.js.map +1 -0
  52. package/dist/{node/devices → devices}/light.d.ts +10 -8
  53. package/dist/devices/light.d.ts.map +1 -0
  54. package/dist/devices/light.js +38 -0
  55. package/dist/devices/light.js.map +1 -0
  56. package/dist/{node/devices → devices}/marioaccelerometer.d.ts +3 -3
  57. package/dist/devices/marioaccelerometer.d.ts.map +1 -0
  58. package/dist/devices/marioaccelerometer.js +50 -0
  59. package/dist/devices/marioaccelerometer.js.map +1 -0
  60. package/dist/{node/devices → devices}/mariobarcodesensor.d.ts +3 -3
  61. package/dist/devices/mariobarcodesensor.d.ts.map +1 -0
  62. package/dist/{node/devices → devices}/mariobarcodesensor.js +7 -34
  63. package/dist/devices/mariobarcodesensor.js.map +1 -0
  64. package/dist/{node/devices → devices}/mariopantssensor.d.ts +3 -3
  65. package/dist/devices/mariopantssensor.d.ts.map +1 -0
  66. package/dist/devices/mariopantssensor.js +34 -0
  67. package/dist/devices/mariopantssensor.js.map +1 -0
  68. package/dist/{node/devices → devices}/mediumlinearmotor.d.ts +3 -2
  69. package/dist/devices/mediumlinearmotor.d.ts.map +1 -0
  70. package/dist/devices/mediumlinearmotor.js +12 -0
  71. package/dist/devices/mediumlinearmotor.js.map +1 -0
  72. package/dist/{node/devices → devices}/motionsensor.d.ts +3 -3
  73. package/dist/devices/motionsensor.d.ts.map +1 -0
  74. package/dist/devices/motionsensor.js +38 -0
  75. package/dist/devices/motionsensor.js.map +1 -0
  76. package/dist/{node/devices → devices}/movehubmediumlinearmotor.d.ts +3 -2
  77. package/dist/devices/movehubmediumlinearmotor.d.ts.map +1 -0
  78. package/dist/devices/movehubmediumlinearmotor.js +12 -0
  79. package/dist/devices/movehubmediumlinearmotor.js.map +1 -0
  80. package/dist/{node/devices → devices}/movehubtiltsensor.d.ts +3 -3
  81. package/dist/devices/movehubtiltsensor.d.ts.map +1 -0
  82. package/dist/devices/movehubtiltsensor.js +36 -0
  83. package/dist/devices/movehubtiltsensor.js.map +1 -0
  84. package/dist/devices/piezobuzzer.d.ts +18 -0
  85. package/dist/devices/piezobuzzer.d.ts.map +1 -0
  86. package/dist/devices/piezobuzzer.js +27 -0
  87. package/dist/devices/piezobuzzer.js.map +1 -0
  88. package/dist/{node/devices → devices}/remotecontrolbutton.d.ts +3 -3
  89. package/dist/devices/remotecontrolbutton.d.ts.map +1 -0
  90. package/dist/devices/remotecontrolbutton.js +40 -0
  91. package/dist/devices/remotecontrolbutton.js.map +1 -0
  92. package/dist/{node/devices → devices}/simplemediumlinearmotor.d.ts +3 -2
  93. package/dist/devices/simplemediumlinearmotor.d.ts.map +1 -0
  94. package/dist/devices/simplemediumlinearmotor.js +12 -0
  95. package/dist/devices/simplemediumlinearmotor.js.map +1 -0
  96. package/dist/{node/devices → devices}/tachomotor.d.ts +19 -19
  97. package/dist/devices/tachomotor.d.ts.map +1 -0
  98. package/dist/devices/tachomotor.js +155 -0
  99. package/dist/devices/tachomotor.js.map +1 -0
  100. package/dist/{node/devices → devices}/technic3x3colorlightmatrix.d.ts +6 -5
  101. package/dist/devices/technic3x3colorlightmatrix.d.ts.map +1 -0
  102. package/dist/devices/technic3x3colorlightmatrix.js +50 -0
  103. package/dist/devices/technic3x3colorlightmatrix.js.map +1 -0
  104. package/dist/{node/devices → devices}/techniccolorsensor.d.ts +12 -8
  105. package/dist/devices/techniccolorsensor.d.ts.map +1 -0
  106. package/dist/devices/techniccolorsensor.js +162 -0
  107. package/dist/devices/techniccolorsensor.js.map +1 -0
  108. package/dist/{node/devices → devices}/technicdistancesensor.d.ts +4 -5
  109. package/dist/devices/technicdistancesensor.d.ts.map +1 -0
  110. package/dist/{node/devices → devices}/technicdistancesensor.js +8 -36
  111. package/dist/devices/technicdistancesensor.js.map +1 -0
  112. package/dist/{node/devices → devices}/technicforcesensor.d.ts +3 -3
  113. package/dist/devices/technicforcesensor.d.ts.map +1 -0
  114. package/dist/{node/devices → devices}/technicforcesensor.js +7 -34
  115. package/dist/devices/technicforcesensor.js.map +1 -0
  116. package/dist/{node/devices → devices}/techniclargeangularmotor.d.ts +4 -3
  117. package/dist/devices/techniclargeangularmotor.d.ts.map +1 -0
  118. package/dist/devices/techniclargeangularmotor.js +12 -0
  119. package/dist/devices/techniclargeangularmotor.js.map +1 -0
  120. package/dist/{node/devices → devices}/techniclargelinearmotor.d.ts +3 -2
  121. package/dist/devices/techniclargelinearmotor.d.ts.map +1 -0
  122. package/dist/devices/techniclargelinearmotor.js +12 -0
  123. package/dist/devices/techniclargelinearmotor.js.map +1 -0
  124. package/dist/{node/devices → devices}/technicmediumangularmotor.d.ts +4 -3
  125. package/dist/devices/technicmediumangularmotor.d.ts.map +1 -0
  126. package/dist/devices/technicmediumangularmotor.js +12 -0
  127. package/dist/devices/technicmediumangularmotor.js.map +1 -0
  128. package/dist/{node/devices → devices}/technicmediumhubaccelerometersensor.d.ts +3 -3
  129. package/dist/devices/technicmediumhubaccelerometersensor.d.ts.map +1 -0
  130. package/dist/devices/technicmediumhubaccelerometersensor.js +38 -0
  131. package/dist/devices/technicmediumhubaccelerometersensor.js.map +1 -0
  132. package/dist/{node/devices → devices}/technicmediumhubgyrosensor.d.ts +3 -3
  133. package/dist/devices/technicmediumhubgyrosensor.d.ts.map +1 -0
  134. package/dist/devices/technicmediumhubgyrosensor.js +38 -0
  135. package/dist/devices/technicmediumhubgyrosensor.js.map +1 -0
  136. package/dist/devices/technicmediumhubtiltsensor.d.ts +39 -0
  137. package/dist/devices/technicmediumhubtiltsensor.d.ts.map +1 -0
  138. package/dist/devices/technicmediumhubtiltsensor.js +94 -0
  139. package/dist/devices/technicmediumhubtiltsensor.js.map +1 -0
  140. package/dist/{node/devices → devices}/technicsmallangularmotor.d.ts +4 -3
  141. package/dist/devices/technicsmallangularmotor.d.ts.map +1 -0
  142. package/dist/devices/technicsmallangularmotor.js +12 -0
  143. package/dist/devices/technicsmallangularmotor.js.map +1 -0
  144. package/dist/{node/devices → devices}/technicxlargelinearmotor.d.ts +3 -2
  145. package/dist/devices/technicxlargelinearmotor.d.ts.map +1 -0
  146. package/dist/devices/technicxlargelinearmotor.js +12 -0
  147. package/dist/devices/technicxlargelinearmotor.js.map +1 -0
  148. package/dist/{node/devices → devices}/tiltsensor.d.ts +7 -4
  149. package/dist/devices/tiltsensor.d.ts.map +1 -0
  150. package/dist/devices/tiltsensor.js +117 -0
  151. package/dist/devices/tiltsensor.js.map +1 -0
  152. package/dist/{node/devices → devices}/trainmotor.d.ts +3 -2
  153. package/dist/devices/trainmotor.d.ts.map +1 -0
  154. package/dist/devices/trainmotor.js +12 -0
  155. package/dist/devices/trainmotor.js.map +1 -0
  156. package/dist/{node/devices → devices}/voltagesensor.d.ts +3 -3
  157. package/dist/devices/voltagesensor.d.ts.map +1 -0
  158. package/dist/{node/devices → devices}/voltagesensor.js +7 -34
  159. package/dist/devices/voltagesensor.js.map +1 -0
  160. package/dist/{node/hubs → hubs}/basehub.d.ts +5 -14
  161. package/dist/hubs/basehub.d.ts.map +1 -0
  162. package/dist/{node/hubs → hubs}/basehub.js +91 -110
  163. package/dist/hubs/basehub.js.map +1 -0
  164. package/dist/{node/hubs → hubs}/duplotrainbase.d.ts +4 -4
  165. package/dist/hubs/duplotrainbase.d.ts.map +1 -0
  166. package/dist/hubs/duplotrainbase.js +35 -0
  167. package/dist/hubs/duplotrainbase.js.map +1 -0
  168. package/dist/{node/hubs → hubs}/hub.d.ts +4 -4
  169. package/dist/hubs/hub.d.ts.map +1 -0
  170. package/dist/hubs/hub.js +44 -0
  171. package/dist/hubs/hub.js.map +1 -0
  172. package/dist/{node/hubs → hubs}/lpf2hub.d.ts +3 -5
  173. package/dist/hubs/lpf2hub.d.ts.map +1 -0
  174. package/dist/{node/hubs → hubs}/lpf2hub.js +28 -47
  175. package/dist/hubs/lpf2hub.js.map +1 -0
  176. package/dist/{node/hubs → hubs}/mario.d.ts +4 -4
  177. package/dist/hubs/mario.d.ts.map +1 -0
  178. package/dist/hubs/mario.js +31 -0
  179. package/dist/hubs/mario.js.map +1 -0
  180. package/dist/{node/hubs → hubs}/movehub.d.ts +4 -4
  181. package/dist/hubs/movehub.d.ts.map +1 -0
  182. package/dist/hubs/movehub.js +46 -0
  183. package/dist/hubs/movehub.js.map +1 -0
  184. package/dist/{node/hubs → hubs}/remotecontrol.d.ts +4 -4
  185. package/dist/hubs/remotecontrol.d.ts.map +1 -0
  186. package/dist/hubs/remotecontrol.js +37 -0
  187. package/dist/hubs/remotecontrol.js.map +1 -0
  188. package/dist/{node/hubs → hubs}/technicmediumhub.d.ts +4 -4
  189. package/dist/hubs/technicmediumhub.d.ts.map +1 -0
  190. package/dist/hubs/technicmediumhub.js +42 -0
  191. package/dist/hubs/technicmediumhub.js.map +1 -0
  192. package/dist/{node/hubs → hubs}/technicsmallhub.d.ts +4 -4
  193. package/dist/hubs/technicsmallhub.d.ts.map +1 -0
  194. package/dist/hubs/technicsmallhub.js +41 -0
  195. package/dist/hubs/technicsmallhub.js.map +1 -0
  196. package/dist/{node/hubs → hubs}/wedo2smarthub.d.ts +4 -7
  197. package/dist/hubs/wedo2smarthub.d.ts.map +1 -0
  198. package/dist/{node/hubs → hubs}/wedo2smarthub.js +10 -39
  199. package/dist/hubs/wedo2smarthub.js.map +1 -0
  200. package/dist/index-browser.d.ts +2 -0
  201. package/dist/index-browser.d.ts.map +1 -0
  202. package/dist/index-browser.js +96 -0
  203. package/dist/index-browser.js.map +1 -0
  204. package/dist/index-node.d.ts +50 -0
  205. package/dist/index-node.d.ts.map +1 -0
  206. package/dist/{node/index-node.d.ts → index-node.js} +48 -46
  207. package/dist/index-node.js.map +1 -0
  208. package/dist/{node/interfaces.d.ts → interfaces.d.ts} +3 -4
  209. package/dist/interfaces.d.ts.map +1 -0
  210. package/dist/interfaces.js +2 -0
  211. package/dist/{node/interfaces.js.map → interfaces.js.map} +1 -1
  212. package/dist/{node/nobleabstraction.d.ts → nobleabstraction.d.ts} +3 -4
  213. package/dist/nobleabstraction.d.ts.map +1 -0
  214. package/dist/{node/nobleabstraction.js → nobleabstraction.js} +5 -9
  215. package/dist/nobleabstraction.js.map +1 -0
  216. package/dist/portoutputcommand.d.ts +13 -0
  217. package/dist/portoutputcommand.d.ts.map +1 -0
  218. package/dist/portoutputcommand.js +30 -0
  219. package/dist/portoutputcommand.js.map +1 -0
  220. package/dist/portoutputsleep.d.ts +6 -0
  221. package/dist/portoutputsleep.d.ts.map +1 -0
  222. package/dist/portoutputsleep.js +10 -0
  223. package/dist/portoutputsleep.js.map +1 -0
  224. package/dist/{node/poweredup-browser.d.ts → poweredup-browser.d.ts} +2 -8
  225. package/dist/poweredup-browser.d.ts.map +1 -0
  226. package/dist/{node/poweredup-browser.js → poweredup-browser.js} +23 -55
  227. package/dist/poweredup-browser.js.map +1 -0
  228. package/dist/{node/poweredup-node.d.ts → poweredup-node.d.ts} +3 -10
  229. package/dist/poweredup-node.d.ts.map +1 -0
  230. package/dist/{node/poweredup-node.js → poweredup-node.js} +32 -66
  231. package/dist/poweredup-node.js.map +1 -0
  232. package/dist/{node/utils.d.ts → utils.d.ts} +2 -4
  233. package/dist/utils.d.ts.map +1 -0
  234. package/dist/utils.js +84 -0
  235. package/dist/utils.js.map +1 -0
  236. package/dist/{node/webbleabstraction.d.ts → webbleabstraction.d.ts} +3 -4
  237. package/dist/webbleabstraction.d.ts.map +1 -0
  238. package/dist/{node/webbleabstraction.js → webbleabstraction.js} +3 -7
  239. package/dist/webbleabstraction.js.map +1 -0
  240. package/docs/.nojekyll +1 -0
  241. package/docs/assets/hierarchy.js +1 -0
  242. package/docs/assets/highlight.css +99 -0
  243. package/docs/assets/icons.js +18 -0
  244. package/docs/assets/icons.svg +1 -0
  245. package/docs/assets/main.js +60 -0
  246. package/docs/assets/navigation.js +1 -0
  247. package/docs/assets/search.js +1 -0
  248. package/docs/assets/style.css +1633 -0
  249. package/docs/classes/AbsoluteMotor.html +242 -0
  250. package/docs/classes/BaseHub.html +220 -0
  251. package/docs/classes/BasicMotor.html +201 -0
  252. package/docs/classes/Color.html +3 -0
  253. package/docs/classes/ColorDistanceSensor.html +214 -0
  254. package/docs/classes/CurrentSensor.html +185 -0
  255. package/docs/classes/Device.html +185 -0
  256. package/docs/classes/DuploTrainBase.html +233 -0
  257. package/docs/classes/DuploTrainBaseColorSensor.html +185 -0
  258. package/docs/classes/DuploTrainBaseMotor.html +201 -0
  259. package/docs/classes/DuploTrainBaseSpeaker.html +191 -0
  260. package/docs/classes/DuploTrainBaseSpeedometer.html +185 -0
  261. package/docs/classes/Hub.html +233 -0
  262. package/docs/classes/HubLED.html +191 -0
  263. package/docs/classes/Light.html +195 -0
  264. package/docs/classes/Mario.html +233 -0
  265. package/docs/classes/MediumLinearMotor.html +229 -0
  266. package/docs/classes/MotionSensor.html +185 -0
  267. package/docs/classes/MoveHub.html +233 -0
  268. package/docs/classes/MoveHubMediumLinearMotor.html +229 -0
  269. package/docs/classes/MoveHubTiltSensor.html +185 -0
  270. package/docs/classes/PiezoBuzzer.html +189 -0
  271. package/docs/classes/PoweredUP.html +180 -0
  272. package/docs/classes/RemoteControl.html +233 -0
  273. package/docs/classes/RemoteControlButton.html +185 -0
  274. package/docs/classes/SimpleMediumLinearMotor.html +201 -0
  275. package/docs/classes/TachoMotor.html +229 -0
  276. package/docs/classes/Technic3x3ColorLightMatrix.html +189 -0
  277. package/docs/classes/TechnicColorSensor.html +191 -0
  278. package/docs/classes/TechnicDistanceSensor.html +192 -0
  279. package/docs/classes/TechnicForceSensor.html +185 -0
  280. package/docs/classes/TechnicLargeAngularMotor.html +242 -0
  281. package/docs/classes/TechnicLargeLinearMotor.html +242 -0
  282. package/docs/classes/TechnicMediumAngularMotor.html +242 -0
  283. package/docs/classes/TechnicMediumHub.html +233 -0
  284. package/docs/classes/TechnicMediumHubAccelerometerSensor.html +185 -0
  285. package/docs/classes/TechnicMediumHubGyroSensor.html +185 -0
  286. package/docs/classes/TechnicMediumHubTiltSensor.html +197 -0
  287. package/docs/classes/TechnicSmallAngularMotor.html +242 -0
  288. package/docs/classes/TechnicXLargeLinearMotor.html +242 -0
  289. package/docs/classes/TiltSensor.html +185 -0
  290. package/docs/classes/TrainMotor.html +201 -0
  291. package/docs/classes/VoltageSensor.html +185 -0
  292. package/docs/classes/WeDo2SmartHub.html +229 -0
  293. package/docs/enums/ActionType.html +22 -0
  294. package/docs/enums/AlertOperation.html +10 -0
  295. package/docs/enums/AlertPayload.html +6 -0
  296. package/docs/enums/AlertType.html +10 -0
  297. package/docs/enums/BLECharacteristic.html +15 -0
  298. package/docs/enums/BLEManufacturerData.html +8 -0
  299. package/docs/enums/BLEService.html +7 -0
  300. package/docs/enums/BrakingStyle.html +7 -0
  301. package/docs/enums/ButtonState.html +11 -0
  302. package/docs/enums/Consts.Color.html +25 -0
  303. package/docs/enums/DeviceType.html +79 -0
  304. package/docs/enums/DuploTrainBaseSound.html +11 -0
  305. package/docs/enums/ErrorCode.html +18 -0
  306. package/docs/enums/Event.html +8 -0
  307. package/docs/enums/HWNetWorkCommandType.html +28 -0
  308. package/docs/enums/HWNetworkFamily.html +20 -0
  309. package/docs/enums/HWNetworkSubFamily.html +16 -0
  310. package/docs/enums/HubPropertyOperation.html +14 -0
  311. package/docs/enums/HubPropertyPayload.html +32 -0
  312. package/docs/enums/HubPropertyReference.html +32 -0
  313. package/docs/enums/HubType.html +19 -0
  314. package/docs/enums/IOTypeID.html +30 -0
  315. package/docs/enums/MarioColor.html +17 -0
  316. package/docs/enums/MarioPantsType.html +13 -0
  317. package/docs/enums/MessageType.html +48 -0
  318. package/docs/enums/ModeInformationType.html +22 -0
  319. package/docs/enums/PortInputFormatSetupSubCommand.html +14 -0
  320. package/docs/hierarchy.html +1 -0
  321. package/docs/index.html +18 -120
  322. package/docs/modules/Consts.html +1 -0
  323. package/docs/modules.html +1 -0
  324. package/docs/variables/ColorNames.html +1 -0
  325. package/docs/variables/DeviceTypeNames.html +1 -0
  326. package/docs/variables/HubTypeNames.html +1 -0
  327. package/docs/variables/isWebBluetooth.html +1 -0
  328. package/package.json +19 -25
  329. package/src/color.ts +1 -1
  330. package/src/consts.ts +60 -16
  331. package/src/devices/absolutemotor.ts +28 -38
  332. package/src/devices/basicmotor.ts +20 -30
  333. package/src/devices/colordistancesensor.ts +31 -43
  334. package/src/devices/currentsensor.ts +3 -3
  335. package/src/devices/device.ts +200 -22
  336. package/src/devices/duplotrainbasecolorsensor.ts +4 -4
  337. package/src/devices/duplotrainbasemotor.ts +3 -3
  338. package/src/devices/duplotrainbasespeaker.ts +8 -13
  339. package/src/devices/duplotrainbasespeedometer.ts +3 -3
  340. package/src/devices/hubled.ts +25 -27
  341. package/src/devices/light.ts +15 -24
  342. package/src/devices/marioaccelerometer.ts +3 -3
  343. package/src/devices/mariobarcodesensor.ts +3 -3
  344. package/src/devices/mariopantssensor.ts +3 -3
  345. package/src/devices/mediumlinearmotor.ts +3 -3
  346. package/src/devices/motionsensor.ts +3 -3
  347. package/src/devices/movehubmediumlinearmotor.ts +3 -3
  348. package/src/devices/movehubtiltsensor.ts +3 -3
  349. package/src/devices/piezobuzzer.ts +6 -7
  350. package/src/devices/remotecontrolbutton.ts +3 -3
  351. package/src/devices/simplemediumlinearmotor.ts +3 -3
  352. package/src/devices/tachomotor.ts +52 -64
  353. package/src/devices/technic3x3colorlightmatrix.ts +24 -28
  354. package/src/devices/techniccolorsensor.ts +106 -15
  355. package/src/devices/technicdistancesensor.ts +4 -5
  356. package/src/devices/technicforcesensor.ts +3 -3
  357. package/src/devices/techniclargeangularmotor.ts +3 -3
  358. package/src/devices/techniclargelinearmotor.ts +3 -3
  359. package/src/devices/technicmediumangularmotor.ts +3 -3
  360. package/src/devices/technicmediumhubaccelerometersensor.ts +3 -3
  361. package/src/devices/technicmediumhubgyrosensor.ts +3 -3
  362. package/src/devices/technicmediumhubtiltsensor.ts +15 -27
  363. package/src/devices/technicsmallangularmotor.ts +3 -3
  364. package/src/devices/technicxlargelinearmotor.ts +3 -3
  365. package/src/devices/tiltsensor.ts +88 -8
  366. package/src/devices/trainmotor.ts +3 -3
  367. package/src/devices/voltagesensor.ts +3 -3
  368. package/src/hubs/basehub.ts +60 -51
  369. package/src/hubs/duplotrainbase.ts +5 -5
  370. package/src/hubs/hub.ts +5 -5
  371. package/src/hubs/lpf2hub.ts +16 -12
  372. package/src/hubs/mario.ts +5 -5
  373. package/src/hubs/movehub.ts +5 -5
  374. package/src/hubs/remotecontrol.ts +5 -5
  375. package/src/hubs/technicmediumhub.ts +5 -5
  376. package/src/hubs/technicsmallhub.ts +5 -5
  377. package/src/hubs/wedo2smarthub.ts +7 -9
  378. package/src/index-browser.ts +46 -46
  379. package/src/index-node.ts +47 -46
  380. package/src/interfaces.ts +2 -2
  381. package/src/nobleabstraction.ts +10 -10
  382. package/src/portoutputcommand.ts +37 -0
  383. package/src/portoutputsleep.ts +11 -0
  384. package/src/poweredup-browser.ts +15 -19
  385. package/src/poweredup-node.ts +15 -22
  386. package/src/utils.ts +15 -20
  387. package/src/webbleabstraction.ts +3 -3
  388. package/tsconfig.tsbuildinfo +1 -0
  389. package/typedoc.json +14 -0
  390. package/webpack.config.cjs +35 -0
  391. package/.jsdoc.json +0 -40
  392. package/abandonware-noble.d.ts +0 -129
  393. package/dist/browser/poweredup.js.LICENSE.txt +0 -8
  394. package/dist/node/color.js +0 -42
  395. package/dist/node/color.js.map +0 -1
  396. package/dist/node/consts.js.map +0 -1
  397. package/dist/node/devices/absolutemotor.js +0 -145
  398. package/dist/node/devices/absolutemotor.js.map +0 -1
  399. package/dist/node/devices/basicmotor.d.ts +0 -40
  400. package/dist/node/devices/basicmotor.js +0 -88
  401. package/dist/node/devices/basicmotor.js.map +0 -1
  402. package/dist/node/devices/colordistancesensor.js.map +0 -1
  403. package/dist/node/devices/currentsensor.js.map +0 -1
  404. package/dist/node/devices/device.js +0 -189
  405. package/dist/node/devices/device.js.map +0 -1
  406. package/dist/node/devices/duplotrainbasecolorsensor.js.map +0 -1
  407. package/dist/node/devices/duplotrainbasemotor.js +0 -39
  408. package/dist/node/devices/duplotrainbasemotor.js.map +0 -1
  409. package/dist/node/devices/duplotrainbasespeaker.d.ts +0 -28
  410. package/dist/node/devices/duplotrainbasespeaker.js +0 -67
  411. package/dist/node/devices/duplotrainbasespeaker.js.map +0 -1
  412. package/dist/node/devices/duplotrainbasespeedometer.js +0 -61
  413. package/dist/node/devices/duplotrainbasespeedometer.js.map +0 -1
  414. package/dist/node/devices/hubled.d.ts +0 -29
  415. package/dist/node/devices/hubled.js +0 -87
  416. package/dist/node/devices/hubled.js.map +0 -1
  417. package/dist/node/devices/light.js +0 -73
  418. package/dist/node/devices/light.js.map +0 -1
  419. package/dist/node/devices/marioaccelerometer.js +0 -77
  420. package/dist/node/devices/marioaccelerometer.js.map +0 -1
  421. package/dist/node/devices/mariobarcodesensor.js.map +0 -1
  422. package/dist/node/devices/mariopantssensor.js +0 -61
  423. package/dist/node/devices/mariopantssensor.js.map +0 -1
  424. package/dist/node/devices/mediumlinearmotor.js +0 -39
  425. package/dist/node/devices/mediumlinearmotor.js.map +0 -1
  426. package/dist/node/devices/motionsensor.js +0 -65
  427. package/dist/node/devices/motionsensor.js.map +0 -1
  428. package/dist/node/devices/movehubmediumlinearmotor.js +0 -39
  429. package/dist/node/devices/movehubmediumlinearmotor.js.map +0 -1
  430. package/dist/node/devices/movehubtiltsensor.js +0 -63
  431. package/dist/node/devices/movehubtiltsensor.js.map +0 -1
  432. package/dist/node/devices/piezobuzzer.d.ts +0 -17
  433. package/dist/node/devices/piezobuzzer.js +0 -55
  434. package/dist/node/devices/piezobuzzer.js.map +0 -1
  435. package/dist/node/devices/remotecontrolbutton.js +0 -67
  436. package/dist/node/devices/remotecontrolbutton.js.map +0 -1
  437. package/dist/node/devices/simplemediumlinearmotor.js +0 -39
  438. package/dist/node/devices/simplemediumlinearmotor.js.map +0 -1
  439. package/dist/node/devices/tachomotor.js +0 -194
  440. package/dist/node/devices/tachomotor.js.map +0 -1
  441. package/dist/node/devices/technic3x3colorlightmatrix.js +0 -81
  442. package/dist/node/devices/technic3x3colorlightmatrix.js.map +0 -1
  443. package/dist/node/devices/techniccolorsensor.js +0 -99
  444. package/dist/node/devices/techniccolorsensor.js.map +0 -1
  445. package/dist/node/devices/technicdistancesensor.js.map +0 -1
  446. package/dist/node/devices/technicforcesensor.js.map +0 -1
  447. package/dist/node/devices/techniclargeangularmotor.js +0 -39
  448. package/dist/node/devices/techniclargeangularmotor.js.map +0 -1
  449. package/dist/node/devices/techniclargelinearmotor.js +0 -39
  450. package/dist/node/devices/techniclargelinearmotor.js.map +0 -1
  451. package/dist/node/devices/technicmediumangularmotor.js +0 -39
  452. package/dist/node/devices/technicmediumangularmotor.js.map +0 -1
  453. package/dist/node/devices/technicmediumhubaccelerometersensor.js +0 -65
  454. package/dist/node/devices/technicmediumhubaccelerometersensor.js.map +0 -1
  455. package/dist/node/devices/technicmediumhubgyrosensor.js +0 -65
  456. package/dist/node/devices/technicmediumhubgyrosensor.js.map +0 -1
  457. package/dist/node/devices/technicmediumhubtiltsensor.d.ts +0 -41
  458. package/dist/node/devices/technicmediumhubtiltsensor.js +0 -133
  459. package/dist/node/devices/technicmediumhubtiltsensor.js.map +0 -1
  460. package/dist/node/devices/technicsmallangularmotor.js +0 -39
  461. package/dist/node/devices/technicsmallangularmotor.js.map +0 -1
  462. package/dist/node/devices/technicxlargelinearmotor.js +0 -39
  463. package/dist/node/devices/technicxlargelinearmotor.js.map +0 -1
  464. package/dist/node/devices/tiltsensor.js +0 -63
  465. package/dist/node/devices/tiltsensor.js.map +0 -1
  466. package/dist/node/devices/trainmotor.js +0 -39
  467. package/dist/node/devices/trainmotor.js.map +0 -1
  468. package/dist/node/devices/voltagesensor.js.map +0 -1
  469. package/dist/node/hubs/basehub.js.map +0 -1
  470. package/dist/node/hubs/duplotrainbase.js +0 -62
  471. package/dist/node/hubs/duplotrainbase.js.map +0 -1
  472. package/dist/node/hubs/hub.js +0 -71
  473. package/dist/node/hubs/hub.js.map +0 -1
  474. package/dist/node/hubs/lpf2hub.js.map +0 -1
  475. package/dist/node/hubs/mario.js +0 -58
  476. package/dist/node/hubs/mario.js.map +0 -1
  477. package/dist/node/hubs/movehub.js +0 -73
  478. package/dist/node/hubs/movehub.js.map +0 -1
  479. package/dist/node/hubs/remotecontrol.js +0 -64
  480. package/dist/node/hubs/remotecontrol.js.map +0 -1
  481. package/dist/node/hubs/technicmediumhub.js +0 -69
  482. package/dist/node/hubs/technicmediumhub.js.map +0 -1
  483. package/dist/node/hubs/technicsmallhub.js +0 -68
  484. package/dist/node/hubs/technicsmallhub.js.map +0 -1
  485. package/dist/node/hubs/wedo2smarthub.js.map +0 -1
  486. package/dist/node/index-browser.d.ts +0 -1
  487. package/dist/node/index-browser.js +0 -121
  488. package/dist/node/index-browser.js.map +0 -1
  489. package/dist/node/index-node.js +0 -120
  490. package/dist/node/index-node.js.map +0 -1
  491. package/dist/node/interfaces.js +0 -3
  492. package/dist/node/nobleabstraction.js.map +0 -1
  493. package/dist/node/poweredup-browser.js.map +0 -1
  494. package/dist/node/poweredup-node.js.map +0 -1
  495. package/dist/node/utils.js +0 -102
  496. package/dist/node/utils.js.map +0 -1
  497. package/dist/node/webbleabstraction.js.map +0 -1
  498. package/docs/AbsoluteMotor.html +0 -2008
  499. package/docs/BaseHub.html +0 -1391
  500. package/docs/BasicMotor.html +0 -1459
  501. package/docs/ColorDistanceSensor.html +0 -3025
  502. package/docs/CurrentSensor.html +0 -1022
  503. package/docs/Device.html +0 -841
  504. package/docs/DuploTrainBase.html +0 -2092
  505. package/docs/DuploTrainBaseColorSensor.html +0 -1509
  506. package/docs/DuploTrainBaseMotor.html +0 -1479
  507. package/docs/DuploTrainBaseSpeaker.html +0 -1193
  508. package/docs/DuploTraniBaseSpeedometer.html +0 -871
  509. package/docs/Hub.html +0 -7451
  510. package/docs/HubLED.html +0 -1239
  511. package/docs/LPF2Hub.html +0 -2066
  512. package/docs/Light.html +0 -1239
  513. package/docs/Mario.html +0 -2092
  514. package/docs/MarioAccelerometer.html +0 -1215
  515. package/docs/MarioBarcodeSensor.html +0 -1215
  516. package/docs/MarioPantsSensor.html +0 -1022
  517. package/docs/MediumLinearMotor.html +0 -1357
  518. package/docs/MotionSensor.html +0 -1022
  519. package/docs/MoveHub.html +0 -2092
  520. package/docs/MoveHubMediumLinearMotor.html +0 -1357
  521. package/docs/MoveHubTiltSensor.html +0 -1045
  522. package/docs/PiezoBuzzer.html +0 -1057
  523. package/docs/PoweredUP.html +0 -4371
  524. package/docs/RemoteControl.html +0 -2092
  525. package/docs/RemoteControlButton.html +0 -1022
  526. package/docs/SimpleMediumLinearMotor.html +0 -871
  527. package/docs/TachoMotor.html +0 -2620
  528. package/docs/Technic3x3ColorLightMatrix.html +0 -1037
  529. package/docs/TechnicColorSensor.html +0 -1525
  530. package/docs/TechnicDistanceSensor.html +0 -1401
  531. package/docs/TechnicForceSensor.html +0 -1316
  532. package/docs/TechnicLargeAngularMotor.html +0 -2028
  533. package/docs/TechnicLargeLinearMotor.html +0 -2028
  534. package/docs/TechnicMediumAngularMotor.html +0 -2028
  535. package/docs/TechnicMediumHub.html +0 -2092
  536. package/docs/TechnicMediumHubAccelerometerSensor.html +0 -1068
  537. package/docs/TechnicMediumHubGyroSensor.html +0 -1068
  538. package/docs/TechnicMediumHubTiltSensor.html +0 -1696
  539. package/docs/TechnicSmallAngularMotor.html +0 -2028
  540. package/docs/TechnicXLargeLinearMotor.html +0 -2028
  541. package/docs/TiltSensor.html +0 -1045
  542. package/docs/TrainMotor.html +0 -1479
  543. package/docs/VoltageSensor.html +0 -1022
  544. package/docs/WeDo2SmartHub.html +0 -1887
  545. package/docs/consts.js.html +0 -728
  546. package/docs/devices_absolutemotor.js.html +0 -195
  547. package/docs/devices_basicmotor.js.html +0 -138
  548. package/docs/devices_colordistancesensor.js.html +0 -361
  549. package/docs/devices_currentsensor.js.html +0 -132
  550. package/docs/devices_device.js.html +0 -239
  551. package/docs/devices_duplotrainbasecolorsensor.js.html +0 -154
  552. package/docs/devices_duplotrainbasemotor.js.html +0 -89
  553. package/docs/devices_duplotrainbasespeaker.js.html +0 -117
  554. package/docs/devices_duplotrainbasespeedometer.js.html +0 -111
  555. package/docs/devices_hubled.js.html +0 -137
  556. package/docs/devices_light.js.html +0 -123
  557. package/docs/devices_marioaccelerometer.js.html +0 -127
  558. package/docs/devices_mariobarcodesensor.js.html +0 -135
  559. package/docs/devices_mariopantssensor.js.html +0 -111
  560. package/docs/devices_mediumlinearmotor.js.html +0 -89
  561. package/docs/devices_motionsensor.js.html +0 -115
  562. package/docs/devices_movehubmediumlinearmotor.js.html +0 -89
  563. package/docs/devices_movehubtiltsensor.js.html +0 -113
  564. package/docs/devices_piezobuzzer.js.html +0 -105
  565. package/docs/devices_remotecontrolbutton.js.html +0 -117
  566. package/docs/devices_simplemediumlinearmotor.js.html +0 -89
  567. package/docs/devices_tachomotor.js.html +0 -244
  568. package/docs/devices_technic3x3colorlightmatrix.js.html +0 -131
  569. package/docs/devices_techniccolorsensor.js.html +0 -149
  570. package/docs/devices_technicdistancesensor.js.html +0 -135
  571. package/docs/devices_technicforcesensor.js.html +0 -135
  572. package/docs/devices_techniclargeangularmotor.js.html +0 -89
  573. package/docs/devices_techniclargelinearmotor.js.html +0 -89
  574. package/docs/devices_technicmediumangularmotor.js.html +0 -89
  575. package/docs/devices_technicmediumhubaccelerometersensor.js.html +0 -115
  576. package/docs/devices_technicmediumhubgyrosensor.js.html +0 -115
  577. package/docs/devices_technicmediumhubtiltsensor.js.html +0 -183
  578. package/docs/devices_technicsmallangularmotor.js.html +0 -89
  579. package/docs/devices_technicxlargelinearmotor.js.html +0 -89
  580. package/docs/devices_tiltsensor.js.html +0 -113
  581. package/docs/devices_trainmotor.js.html +0 -89
  582. package/docs/devices_voltagesensor.js.html +0 -136
  583. package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
  584. package/docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
  585. package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
  586. package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  587. package/docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  588. package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  589. package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
  590. package/docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
  591. package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
  592. package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
  593. package/docs/fonts/OpenSans-Light-webfont.svg +0 -1831
  594. package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
  595. package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  596. package/docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  597. package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  598. package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
  599. package/docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
  600. package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
  601. package/docs/fonts/OpenSans-Semibold-webfont.eot +0 -0
  602. package/docs/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  603. package/docs/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  604. package/docs/fonts/OpenSans-Semibold-webfont.woff +0 -0
  605. package/docs/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  606. package/docs/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  607. package/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  608. package/docs/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  609. package/docs/global.html +0 -3996
  610. package/docs/hubs_basehub.js.html +0 -469
  611. package/docs/hubs_duplotrainbase.js.html +0 -112
  612. package/docs/hubs_hub.js.html +0 -121
  613. package/docs/hubs_lpf2hub.js.html +0 -391
  614. package/docs/hubs_mario.js.html +0 -108
  615. package/docs/hubs_movehub.js.html +0 -123
  616. package/docs/hubs_remotecontrol.js.html +0 -114
  617. package/docs/hubs_technicmediumhub.js.html +0 -119
  618. package/docs/hubs_technicsmallhub.js.html +0 -118
  619. package/docs/hubs_wedo2smarthub.js.html +0 -265
  620. package/docs/icons/home.svg +0 -4
  621. package/docs/icons/search.svg +0 -4
  622. package/docs/poweredup-browser.js.html +0 -292
  623. package/docs/poweredup-node.js.html +0 -250
  624. package/docs/scripts/linenumber.js +0 -25
  625. package/docs/scripts/pagelocation.js +0 -89
  626. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  627. package/docs/scripts/prettify/lang-css.js +0 -2
  628. package/docs/scripts/prettify/prettify.js +0 -28
  629. package/docs/styles/collapse.css +0 -27
  630. package/docs/styles/jsdoc-default.css +0 -358
  631. package/docs/styles/prettify-jsdoc.css +0 -111
  632. package/docs/styles/prettify-tomorrow.css +0 -132
  633. package/noble-mac.d.ts +0 -3
@@ -0,0 +1,18 @@
1
+ import { Device } from "./device.js";
2
+ import { IDeviceInterface } from "../interfaces.js";
3
+ import * as Consts from "../consts.js";
4
+ /**
5
+ * @class PiezoBuzzer
6
+ * @extends Device
7
+ */
8
+ export declare class PiezoBuzzer extends Device {
9
+ constructor(hub: IDeviceInterface, portId: number);
10
+ /**
11
+ * Play a tone on the Hub's in-built buzzer
12
+ * @param {number} frequency
13
+ * @param {number} time How long the tone should play for (in milliseconds).
14
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the tone has finished playing).
15
+ */
16
+ playTone(frequency: number, time: number): Promise<Consts.CommandFeedback>;
17
+ }
18
+ //# sourceMappingURL=piezobuzzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"piezobuzzer.d.ts","sourceRoot":"","sources":["../../src/devices/piezobuzzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,qBAAa,WAAY,SAAQ,MAAM;gBAGtB,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;IAKlD;;;;;OAKG;IACI,QAAQ,CAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAWnD"}
@@ -0,0 +1,27 @@
1
+ import { Device } from "./device.js";
2
+ import * as Consts from "../consts.js";
3
+ /**
4
+ * @class PiezoBuzzer
5
+ * @extends Device
6
+ */
7
+ export class PiezoBuzzer extends Device {
8
+ constructor(hub, portId) {
9
+ super(hub, portId, {}, Consts.DeviceType.PIEZO_BUZZER);
10
+ }
11
+ /**
12
+ * Play a tone on the Hub's in-built buzzer
13
+ * @param {number} frequency
14
+ * @param {number} time How long the tone should play for (in milliseconds).
15
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the tone has finished playing).
16
+ */
17
+ playTone(frequency, time) {
18
+ return new Promise((resolve) => {
19
+ const data = Buffer.from([0x05, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00]);
20
+ data.writeUInt16LE(frequency, 3);
21
+ data.writeUInt16LE(time, 5);
22
+ this.send(data, Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE);
23
+ global.setTimeout(() => { return resolve(Consts.CommandFeedback.FEEDBACK_DISABLED); }, time);
24
+ });
25
+ }
26
+ }
27
+ //# sourceMappingURL=piezobuzzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"piezobuzzer.js","sourceRoot":"","sources":["../../src/devices/piezobuzzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM;IAGnC,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IAGD;;;;;OAKG;IACI,QAAQ,CAAE,SAAiB,EAAE,IAAY;QAC5C,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;YAClE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAE,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA,CAAA,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACP,CAAC;CAGJ"}
@@ -1,6 +1,5 @@
1
- /// <reference types="node" />
2
- import { Device } from "./device";
3
- import { IDeviceInterface } from "../interfaces";
1
+ import { Device } from "./device.js";
2
+ import { IDeviceInterface } from "../interfaces.js";
4
3
  /**
5
4
  * @class RemoteControlButton
6
5
  * @extends Device
@@ -18,3 +17,4 @@ export declare const ModeMap: {
18
17
  export declare const ButtonState: {
19
18
  [state: string]: number;
20
19
  };
20
+ //# sourceMappingURL=remotecontrolbutton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remotecontrolbutton.d.ts","sourceRoot":"","sources":["../../src/devices/remotecontrolbutton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,MAAM;gBAE9B,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;IAI3C,OAAO,CAAE,OAAO,EAAE,MAAM;CAiBlC;AAED,oBAAY,IAAI;IACZ,aAAa,IAAO;CACvB;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAE7C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAKjD,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { Device } from "./device.js";
2
+ import * as Consts from "../consts.js";
3
+ /**
4
+ * @class RemoteControlButton
5
+ * @extends Device
6
+ */
7
+ export class RemoteControlButton extends Device {
8
+ constructor(hub, portId) {
9
+ super(hub, portId, ModeMap, Consts.DeviceType.REMOTE_CONTROL_BUTTON);
10
+ }
11
+ receive(message) {
12
+ const mode = this._mode;
13
+ switch (mode) {
14
+ case Mode.BUTTON_EVENTS:
15
+ /**
16
+ * Emits when a button on the remote is pressed or released.
17
+ * @event RemoteControlButton#remoteButton
18
+ * @type {object}
19
+ * @param {number} event
20
+ */
21
+ const event = message[4];
22
+ this.notify("remoteButton", { event });
23
+ break;
24
+ }
25
+ }
26
+ }
27
+ export var Mode;
28
+ (function (Mode) {
29
+ Mode[Mode["BUTTON_EVENTS"] = 0] = "BUTTON_EVENTS";
30
+ })(Mode || (Mode = {}));
31
+ export const ModeMap = {
32
+ "remoteButton": Mode.BUTTON_EVENTS
33
+ };
34
+ export const ButtonState = {
35
+ "UP": 0x01,
36
+ "DOWN": 0xff,
37
+ "STOP": 0x7f,
38
+ "RELEASED": 0x00,
39
+ };
40
+ //# sourceMappingURL=remotecontrolbutton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remotecontrolbutton.js","sourceRoot":"","sources":["../../src/devices/remotecontrolbutton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,MAAM;IAE3C,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;IACzE,CAAC;IAEM,OAAO,CAAE,OAAe;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,aAAa;gBACnB;;;;;mBAKG;gBACH,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvC,MAAM;QACd,CAAC;IACL,CAAC;CAEJ;AAED,MAAM,CAAN,IAAY,IAEX;AAFD,WAAY,IAAI;IACZ,iDAAoB,CAAA;AACxB,CAAC,EAFW,IAAI,KAAJ,IAAI,QAEf;AAED,MAAM,CAAC,MAAM,OAAO,GAA8B;IAC9C,cAAc,EAAE,IAAI,CAAC,aAAa;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA8B;IAClD,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;CACnB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { BasicMotor } from "./basicmotor";
2
- import { IDeviceInterface } from "../interfaces";
1
+ import { BasicMotor } from "./basicmotor.js";
2
+ import { IDeviceInterface } from "../interfaces.js";
3
3
  /**
4
4
  * @class SimpleMediumLinearMotor
5
5
  * @extends Device
@@ -7,3 +7,4 @@ import { IDeviceInterface } from "../interfaces";
7
7
  export declare class SimpleMediumLinearMotor extends BasicMotor {
8
8
  constructor(hub: IDeviceInterface, portId: number);
9
9
  }
10
+ //# sourceMappingURL=simplemediumlinearmotor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplemediumlinearmotor.d.ts","sourceRoot":"","sources":["../../src/devices/simplemediumlinearmotor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;gBAEtC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;CAIrD"}
@@ -0,0 +1,12 @@
1
+ import { BasicMotor } from "./basicmotor.js";
2
+ import * as Consts from "../consts.js";
3
+ /**
4
+ * @class SimpleMediumLinearMotor
5
+ * @extends Device
6
+ */
7
+ export class SimpleMediumLinearMotor extends BasicMotor {
8
+ constructor(hub, portId) {
9
+ super(hub, portId, {}, Consts.DeviceType.SIMPLE_MEDIUM_LINEAR_MOTOR);
10
+ }
11
+ }
12
+ //# sourceMappingURL=simplemediumlinearmotor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplemediumlinearmotor.js","sourceRoot":"","sources":["../../src/devices/simplemediumlinearmotor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,UAAU;IAEnD,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;IACzE,CAAC;CAEJ"}
@@ -1,7 +1,6 @@
1
- /// <reference types="node" />
2
- import { BasicMotor } from "./basicmotor";
3
- import { IDeviceInterface } from "../interfaces";
4
- import * as Consts from "../consts";
1
+ import { BasicMotor } from "./basicmotor.js";
2
+ import { IDeviceInterface } from "../interfaces.js";
3
+ import * as Consts from "../consts.js";
5
4
  /**
6
5
  * @class TachoMotor
7
6
  * @extends BasicMotor
@@ -19,7 +18,6 @@ export declare class TachoMotor extends BasicMotor {
19
18
  * Set the braking style of the motor.
20
19
  *
21
20
  * Note: This applies to setSpeed, rotateByDegrees, and gotoAngle.
22
- * @method TachoMotor#setBrakingStyle
23
21
  * @param {number} style Either BRAKE or HOLD
24
22
  */
25
23
  setBrakingStyle(style: Consts.BrakingStyle): void;
@@ -27,40 +25,41 @@ export declare class TachoMotor extends BasicMotor {
27
25
  * Set the max power of the motor.
28
26
  *
29
27
  * Note: This applies to setSpeed, rotateByDegrees, and gotoAngle.
30
- * @method TachoMotor#setMaxPower
31
- * @param {number} style Either BRAKE or HOLD
28
+ * @param {number} maxPower Maximum power level (0-100)
32
29
  */
33
30
  setMaxPower(maxPower: number): void;
34
31
  /**
35
32
  * Set the global acceleration time
36
- * @method TachoMotor#setAccelerationTime
37
33
  * @param {number} time How long acceleration should last (in milliseconds).
38
- * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
34
+ * @param {number} profile 0 by default
35
+ * @param {boolean} [interrupt=false] If true, previous commands are discarded.
36
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
39
37
  */
40
- setAccelerationTime(time: number, profile?: number): void;
38
+ setAccelerationTime(time: number, profile?: number, interrupt?: boolean): Promise<Consts.CommandFeedback> | undefined;
41
39
  /**
42
40
  * Set the global deceleration time
43
- * @method TachoMotor#setDecelerationTime
44
41
  * @param {number} time How long deceleration should last (in milliseconds).
45
- * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
42
+ * @param {number} profile 0 by default
43
+ * @param {boolean} [interrupt=false] If true, previous commands are discarded.
44
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
46
45
  */
47
- setDecelerationTime(time: number, profile?: number): void;
46
+ setDecelerationTime(time: number, profile?: number, interrupt?: boolean): Promise<Consts.CommandFeedback> | undefined;
48
47
  /**
49
48
  * Set the motor speed.
50
- * @method TachoMotor#setSpeed
51
49
  * @param {number} speed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
52
50
  * @param {number} time How long the motor should run for (in milliseconds).
53
- * @returns {Promise} Resolved upon successful issuance of the command.
51
+ * @param {boolean} [interrupt=false] If true, previous commands are discarded.
52
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
54
53
  */
55
- setSpeed(speed: [number, number] | number, time: number | undefined): Promise<void>;
54
+ setSpeed(speed: [number, number] | number, time: number | undefined, interrupt?: boolean): Promise<Consts.CommandFeedback> | undefined;
56
55
  /**
57
56
  * Rotate a motor by a given amount of degrees.
58
- * @method TachoMotor#rotateByDegrees
59
57
  * @param {number} degrees How much the motor should be rotated (in degrees).
60
58
  * @param {number} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100.
61
- * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
59
+ * @param {boolean} [interrupt=false] If true, previous commands are discarded.
60
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
62
61
  */
63
- rotateByDegrees(degrees: number, speed: [number, number] | number): Promise<void>;
62
+ rotateByDegrees(degrees: number, speed: [number, number] | number, interrupt?: boolean): Promise<Consts.CommandFeedback> | undefined;
64
63
  protected useProfile(): number;
65
64
  }
66
65
  export declare enum Mode {
@@ -69,3 +68,4 @@ export declare enum Mode {
69
68
  export declare const ModeMap: {
70
69
  [event: string]: number;
71
70
  };
71
+ //# sourceMappingURL=tachomotor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tachomotor.d.ts","sourceRoot":"","sources":["../../src/devices/tachomotor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAGvC;;;GAGG;AACH,qBAAa,UAAW,SAAQ,UAAU;IAEtC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAA6B;IACvE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAO;IAC3B,sBAAsB,EAAE,OAAO,CAAQ;IACvC,sBAAsB,EAAE,OAAO,CAAQ;gBAEjC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAM,EAAE,IAAI,GAAE,MAAM,CAAC,UAAsC;IAIzI,OAAO,CAAE,OAAO,EAAE,MAAM;IAkB/B;;;;;OAKG;IACI,eAAe,CAAE,KAAK,EAAE,MAAM,CAAC,YAAY;IAKlD;;;;;OAKG;IACI,WAAW,CAAE,QAAQ,EAAE,MAAM;IAKpC;;;;;;OAMG;IACI,mBAAmB,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAa,EAAE,SAAS,GAAE,OAAe;IAO5F;;;;;;OAMG;IACI,mBAAmB,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAa,EAAE,SAAS,GAAE,OAAc;IAO3F;;;;;;OAMG;IACI,QAAQ,CAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,GAAE,OAAe;IA4BvG;;;;;;OAMG;IACI,eAAe,CAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,SAAS,GAAE,OAAe;IAqBrG,SAAS,CAAC,UAAU;CAYvB;AAED,oBAAY,IAAI;IACZ,QAAQ,IAAO;CAClB;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAE7C,CAAC"}
@@ -0,0 +1,155 @@
1
+ import { BasicMotor } from "./basicmotor.js";
2
+ import * as Consts from "../consts.js";
3
+ import { mapSpeed } from "../utils.js";
4
+ /**
5
+ * @class TachoMotor
6
+ * @extends BasicMotor
7
+ */
8
+ export class TachoMotor extends BasicMotor {
9
+ constructor(hub, portId, modeMap = {}, type = Consts.DeviceType.UNKNOWN) {
10
+ super(hub, portId, Object.assign({}, modeMap, ModeMap), type);
11
+ this._brakeStyle = Consts.BrakingStyle.BRAKE;
12
+ this._maxPower = 100;
13
+ this.useAccelerationProfile = true;
14
+ this.useDecelerationProfile = true;
15
+ }
16
+ receive(message) {
17
+ const mode = this._mode;
18
+ switch (mode) {
19
+ case Mode.ROTATION:
20
+ const degrees = message.readInt32LE(this.isWeDo2SmartHub ? 2 : 4);
21
+ /**
22
+ * Emits when a rotation sensor is activated.
23
+ * @event TachoMotor#rotate
24
+ * @type {object}
25
+ * @param {number} rotation
26
+ */
27
+ this.notify("rotate", { degrees });
28
+ break;
29
+ }
30
+ }
31
+ /**
32
+ * Set the braking style of the motor.
33
+ *
34
+ * Note: This applies to setSpeed, rotateByDegrees, and gotoAngle.
35
+ * @param {number} style Either BRAKE or HOLD
36
+ */
37
+ setBrakingStyle(style) {
38
+ this._brakeStyle = style;
39
+ }
40
+ /**
41
+ * Set the max power of the motor.
42
+ *
43
+ * Note: This applies to setSpeed, rotateByDegrees, and gotoAngle.
44
+ * @param {number} maxPower Maximum power level (0-100)
45
+ */
46
+ setMaxPower(maxPower) {
47
+ this._maxPower = maxPower;
48
+ }
49
+ /**
50
+ * Set the global acceleration time
51
+ * @param {number} time How long acceleration should last (in milliseconds).
52
+ * @param {number} profile 0 by default
53
+ * @param {boolean} [interrupt=false] If true, previous commands are discarded.
54
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
55
+ */
56
+ setAccelerationTime(time, profile = 0x00, interrupt = false) {
57
+ const message = Buffer.from([0x05, 0x00, 0x00, profile]);
58
+ message.writeUInt16LE(time, 1);
59
+ return this.sendPortOutputCommand(message, interrupt);
60
+ }
61
+ /**
62
+ * Set the global deceleration time
63
+ * @param {number} time How long deceleration should last (in milliseconds).
64
+ * @param {number} profile 0 by default
65
+ * @param {boolean} [interrupt=false] If true, previous commands are discarded.
66
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
67
+ */
68
+ setDecelerationTime(time, profile = 0x00, interrupt = true) {
69
+ const message = Buffer.from([0x06, 0x00, 0x00, profile]);
70
+ message.writeUInt16LE(time, 1);
71
+ return this.sendPortOutputCommand(message, interrupt);
72
+ }
73
+ /**
74
+ * Set the motor speed.
75
+ * @param {number} speed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
76
+ * @param {number} time How long the motor should run for (in milliseconds).
77
+ * @param {boolean} [interrupt=false] If true, previous commands are discarded.
78
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
79
+ */
80
+ setSpeed(speed, time, interrupt = false) {
81
+ if (!this.isVirtualPort && speed instanceof Array) {
82
+ throw new Error("Only virtual ports can accept multiple speeds");
83
+ }
84
+ if (this.isWeDo2SmartHub) {
85
+ throw new Error("Motor speed is not available on the WeDo 2.0 Smart Hub");
86
+ }
87
+ if (speed === undefined || speed === null) {
88
+ speed = 100;
89
+ }
90
+ let message;
91
+ if (time !== undefined) {
92
+ if (speed instanceof Array) {
93
+ message = Buffer.from([0x0a, 0x00, 0x00, mapSpeed(speed[0]), mapSpeed(speed[1]), this._maxPower, this._brakeStyle, this.useProfile()]);
94
+ }
95
+ else {
96
+ message = Buffer.from([0x09, 0x00, 0x00, mapSpeed(speed), this._maxPower, this._brakeStyle, this.useProfile()]);
97
+ }
98
+ message.writeUInt16LE(time, 1);
99
+ }
100
+ else {
101
+ if (speed instanceof Array) {
102
+ message = Buffer.from([0x08, mapSpeed(speed[0]), mapSpeed(speed[1]), this._maxPower, this.useProfile()]);
103
+ }
104
+ else {
105
+ message = Buffer.from([0x07, mapSpeed(speed), this._maxPower, this.useProfile()]);
106
+ }
107
+ }
108
+ return this.sendPortOutputCommand(message, interrupt);
109
+ }
110
+ /**
111
+ * Rotate a motor by a given amount of degrees.
112
+ * @param {number} degrees How much the motor should be rotated (in degrees).
113
+ * @param {number} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100.
114
+ * @param {boolean} [interrupt=false] If true, previous commands are discarded.
115
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
116
+ */
117
+ rotateByDegrees(degrees, speed, interrupt = false) {
118
+ if (!this.isVirtualPort && speed instanceof Array) {
119
+ throw new Error("Only virtual ports can accept multiple speeds");
120
+ }
121
+ if (this.isWeDo2SmartHub) {
122
+ throw new Error("Rotation is not available on the WeDo 2.0 Smart Hub");
123
+ }
124
+ if (speed === undefined || speed === null) {
125
+ speed = 100;
126
+ }
127
+ let message;
128
+ if (speed instanceof Array) {
129
+ message = Buffer.from([0x0c, 0x00, 0x00, 0x00, 0x00, mapSpeed(speed[0]), mapSpeed(speed[1]), this._maxPower, this._brakeStyle, this.useProfile()]);
130
+ }
131
+ else {
132
+ message = Buffer.from([0x0b, 0x00, 0x00, 0x00, 0x00, mapSpeed(speed), this._maxPower, this._brakeStyle, this.useProfile()]);
133
+ }
134
+ message.writeUInt32LE(degrees, 1);
135
+ return this.sendPortOutputCommand(message, interrupt);
136
+ }
137
+ useProfile() {
138
+ let value = 0x00;
139
+ if (this.useAccelerationProfile) {
140
+ value += 0x01;
141
+ }
142
+ if (this.useDecelerationProfile) {
143
+ value += 0x02;
144
+ }
145
+ return value;
146
+ }
147
+ }
148
+ export var Mode;
149
+ (function (Mode) {
150
+ Mode[Mode["ROTATION"] = 2] = "ROTATION";
151
+ })(Mode || (Mode = {}));
152
+ export const ModeMap = {
153
+ "rotate": Mode.ROTATION
154
+ };
155
+ //# sourceMappingURL=tachomotor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tachomotor.js","sourceRoot":"","sources":["../../src/devices/tachomotor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { Device } from "./device";
2
- import { IDeviceInterface } from "../interfaces";
1
+ import { Device } from "./device.js";
2
+ import { IDeviceInterface } from "../interfaces.js";
3
+ import * as Consts from "../consts.js";
3
4
  /**
4
5
  * @class Technic3x3ColorLightMatrix
5
6
  * @extends Device
@@ -8,11 +9,10 @@ export declare class Technic3x3ColorLightMatrix extends Device {
8
9
  constructor(hub: IDeviceInterface, portId: number);
9
10
  /**
10
11
  * Set the LED matrix, one color per LED
11
- * @method Technic3x3ColorLightMatrix#setMatrix
12
12
  * @param {Color[] | Color} colors Array of 9 colors, 9 Color objects, or a single color
13
- * @returns {Promise} Resolved upon successful issuance of the command.
13
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command.
14
14
  */
15
- setMatrix(colors: number[] | number): Promise<void>;
15
+ setMatrix(colors: number[] | number): Promise<Consts.CommandFeedback> | undefined;
16
16
  }
17
17
  export declare enum Mode {
18
18
  LEV_0 = 0,
@@ -20,3 +20,4 @@ export declare enum Mode {
20
20
  PIX_0 = 2,
21
21
  TRANS = 3
22
22
  }
23
+ //# sourceMappingURL=technic3x3colorlightmatrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technic3x3colorlightmatrix.d.ts","sourceRoot":"","sources":["../../src/devices/technic3x3colorlightmatrix.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,MAAM;gBAGrC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;IAKlD;;;;OAIG;IACI,SAAS,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;CA2B9C;AAED,oBAAY,IAAI;IACZ,KAAK,IAAO;IACZ,KAAK,IAAO;IACZ,KAAK,IAAO;IACZ,KAAK,IAAO;CACf"}
@@ -0,0 +1,50 @@
1
+ import { Color } from "../color.js";
2
+ import { Device } from "./device.js";
3
+ import * as Consts from "../consts.js";
4
+ /**
5
+ * @class Technic3x3ColorLightMatrix
6
+ * @extends Device
7
+ */
8
+ export class Technic3x3ColorLightMatrix extends Device {
9
+ constructor(hub, portId) {
10
+ super(hub, portId, {}, Consts.DeviceType.TECHNIC_3X3_COLOR_LIGHT_MATRIX);
11
+ }
12
+ /**
13
+ * Set the LED matrix, one color per LED
14
+ * @param {Color[] | Color} colors Array of 9 colors, 9 Color objects, or a single color
15
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of command.
16
+ */
17
+ setMatrix(colors) {
18
+ this.subscribe(Mode.PIX_0);
19
+ const colorArray = new Array(9);
20
+ for (let i = 0; i < colorArray.length; i++) {
21
+ if (typeof colors === 'number') {
22
+ // @ts-ignore
23
+ colorArray[i] = colors + (10 << 4);
24
+ }
25
+ // @ts-ignore
26
+ if (colors[i] instanceof Color) {
27
+ // @ts-ignore
28
+ colorArray[i] = colors[i].toValue();
29
+ }
30
+ // @ts-ignore
31
+ if (colors[i] === Consts.Color.NONE) {
32
+ colorArray[i] = Consts.Color.NONE;
33
+ }
34
+ // @ts-ignore
35
+ if (colors[i] <= 10) {
36
+ // @ts-ignore
37
+ colorArray[i] = colors[i] + (10 << 4); // If a raw color value, set it to max brightness (10)
38
+ }
39
+ }
40
+ return this.writeDirect(Mode.PIX_0, Buffer.from(colorArray));
41
+ }
42
+ }
43
+ export var Mode;
44
+ (function (Mode) {
45
+ Mode[Mode["LEV_0"] = 0] = "LEV_0";
46
+ Mode[Mode["COL_0"] = 1] = "COL_0";
47
+ Mode[Mode["PIX_0"] = 2] = "PIX_0";
48
+ Mode[Mode["TRANS"] = 3] = "TRANS";
49
+ })(Mode || (Mode = {}));
50
+ //# sourceMappingURL=technic3x3colorlightmatrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technic3x3colorlightmatrix.js","sourceRoot":"","sources":["../../src/devices/technic3x3colorlightmatrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,MAAM;IAGlD,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;IAC7E,CAAC;IAGD;;;;OAIG;IACI,SAAS,CAAE,MAAyB;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,OAAO,MAAM,KAAM,QAAQ,EAAE,CAAC;gBAC9B,aAAa;gBACb,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,aAAa;YACb,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,KAAK,EAAE,CAAC;gBAC7B,aAAa;gBACb,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACxC,CAAC;YACD,aAAa;YACb,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACtC,CAAC;YACD,aAAa;YACb,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,aAAa;gBACb,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,sDAAsD;YACjG,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;CAGJ;AAED,MAAM,CAAN,IAAY,IAKX;AALD,WAAY,IAAI;IACZ,iCAAY,CAAA;IACZ,iCAAY,CAAA;IACZ,iCAAY,CAAA;IACZ,iCAAY,CAAA;AAChB,CAAC,EALW,IAAI,KAAJ,IAAI,QAKf"}
@@ -1,6 +1,6 @@
1
- /// <reference types="node" />
2
- import { Device } from "./device";
3
- import { IDeviceInterface } from "../interfaces";
1
+ import { Device } from "./device.js";
2
+ import { IDeviceInterface } from "../interfaces.js";
3
+ import * as Consts from "../consts.js";
4
4
  /**
5
5
  * @class TechnicColorSensor
6
6
  * @extends Device
@@ -10,19 +10,23 @@ export declare class TechnicColorSensor extends Device {
10
10
  receive(message: Buffer): void;
11
11
  /**
12
12
  * Set the brightness (or turn on/off) of the lights around the sensor.
13
- * @method TechnicColorSensor#setBrightness
14
13
  * @param {number} firstSegment First light segment. 0-100 brightness.
15
14
  * @param {number} secondSegment Second light segment. 0-100 brightness.
16
15
  * @param {number} thirdSegment Third light segment. 0-100 brightness.
17
- * @returns {Promise} Resolved upon successful issuance of the command.
16
+ * @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
18
17
  */
19
- setBrightness(firstSegment: number, secondSegment: number, thirdSegment: number): void;
18
+ setBrightness(firstSegment: number, secondSegment: number, thirdSegment: number): Promise<Consts.CommandFeedback> | undefined;
20
19
  }
21
20
  export declare enum Mode {
22
21
  COLOR = 0,
23
- REFLECTIVITY = 1,
24
- AMBIENT_LIGHT = 2
22
+ REFLECT = 1,
23
+ AMBIENT = 2,
24
+ LIGHT = 3,
25
+ RGB_I = 5,
26
+ HSV = 6,
27
+ SHSV = 7
25
28
  }
26
29
  export declare const ModeMap: {
27
30
  [event: string]: number;
28
31
  };
32
+ //# sourceMappingURL=techniccolorsensor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"techniccolorsensor.d.ts","sourceRoot":"","sources":["../../src/devices/techniccolorsensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAGvC;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,MAAM;gBAE7B,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;IAI3C,OAAO,CAAE,OAAO,EAAE,MAAM;IAgI/B;;;;;;OAMG;IACI,aAAa,CAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;CAK1F;AAED,oBAAY,IAAI;IACZ,KAAK,IAAO;IACZ,OAAO,IAAO;IACd,OAAO,IAAO;IACd,KAAK,IAAO;IACZ,KAAK,IAAO;IACZ,GAAG,IAAO;IACV,IAAI,IAAO;CACd;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAO7C,CAAC"}