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
@@ -1,194 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ModeMap = exports.Mode = exports.TachoMotor = void 0;
27
- const basicmotor_1 = require("./basicmotor");
28
- const Consts = __importStar(require("../consts"));
29
- const utils_1 = require("../utils");
30
- /**
31
- * @class TachoMotor
32
- * @extends BasicMotor
33
- */
34
- class TachoMotor extends basicmotor_1.BasicMotor {
35
- constructor(hub, portId, modeMap = {}, type = Consts.DeviceType.UNKNOWN) {
36
- super(hub, portId, Object.assign({}, modeMap, exports.ModeMap), type);
37
- this._brakeStyle = Consts.BrakingStyle.BRAKE;
38
- this._maxPower = 100;
39
- this.useAccelerationProfile = true;
40
- this.useDecelerationProfile = true;
41
- }
42
- receive(message) {
43
- const mode = this._mode;
44
- switch (mode) {
45
- case Mode.ROTATION:
46
- const degrees = message.readInt32LE(this.isWeDo2SmartHub ? 2 : 4);
47
- /**
48
- * Emits when a rotation sensor is activated.
49
- * @event TachoMotor#rotate
50
- * @type {object}
51
- * @param {number} rotation
52
- */
53
- this.notify("rotate", { degrees });
54
- break;
55
- }
56
- }
57
- /**
58
- * Set the braking style of the motor.
59
- *
60
- * Note: This applies to setSpeed, rotateByDegrees, and gotoAngle.
61
- * @method TachoMotor#setBrakingStyle
62
- * @param {number} style Either BRAKE or HOLD
63
- */
64
- setBrakingStyle(style) {
65
- this._brakeStyle = style;
66
- }
67
- /**
68
- * Set the max power of the motor.
69
- *
70
- * Note: This applies to setSpeed, rotateByDegrees, and gotoAngle.
71
- * @method TachoMotor#setMaxPower
72
- * @param {number} style Either BRAKE or HOLD
73
- */
74
- setMaxPower(maxPower) {
75
- this._maxPower = maxPower;
76
- }
77
- /**
78
- * Set the global acceleration time
79
- * @method TachoMotor#setAccelerationTime
80
- * @param {number} time How long acceleration should last (in milliseconds).
81
- * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
82
- */
83
- setAccelerationTime(time, profile = 0x00) {
84
- const message = Buffer.from([0x81, this.portId, 0x11, 0x05, 0x00, 0x00, profile]);
85
- message.writeUInt16LE(time, 4);
86
- this.send(message);
87
- }
88
- /**
89
- * Set the global deceleration time
90
- * @method TachoMotor#setDecelerationTime
91
- * @param {number} time How long deceleration should last (in milliseconds).
92
- * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
93
- */
94
- setDecelerationTime(time, profile = 0x00) {
95
- const message = Buffer.from([0x81, this.portId, 0x11, 0x06, 0x00, 0x00, profile]);
96
- message.writeUInt16LE(time, 4);
97
- this.send(message);
98
- }
99
- /**
100
- * Set the motor speed.
101
- * @method TachoMotor#setSpeed
102
- * @param {number} speed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
103
- * @param {number} time How long the motor should run for (in milliseconds).
104
- * @returns {Promise} Resolved upon successful issuance of the command.
105
- */
106
- setSpeed(speed, time) {
107
- if (!this.isVirtualPort && speed instanceof Array) {
108
- throw new Error("Only virtual ports can accept multiple speeds");
109
- }
110
- if (this.isWeDo2SmartHub) {
111
- throw new Error("Motor speed is not available on the WeDo 2.0 Smart Hub");
112
- }
113
- this.cancelEventTimer();
114
- return new Promise((resolve) => {
115
- if (speed === undefined || speed === null) {
116
- speed = 100;
117
- }
118
- let message;
119
- if (time !== undefined) {
120
- if (speed instanceof Array) {
121
- message = Buffer.from([0x81, this.portId, 0x11, 0x0a, 0x00, 0x00, (0, utils_1.mapSpeed)(speed[0]), (0, utils_1.mapSpeed)(speed[1]), this._maxPower, this._brakeStyle, this.useProfile()]);
122
- }
123
- else {
124
- message = Buffer.from([0x81, this.portId, 0x11, 0x09, 0x00, 0x00, (0, utils_1.mapSpeed)(speed), this._maxPower, this._brakeStyle, this.useProfile()]);
125
- }
126
- message.writeUInt16LE(time, 4);
127
- }
128
- else {
129
- if (speed instanceof Array) {
130
- message = Buffer.from([0x81, this.portId, 0x11, 0x08, (0, utils_1.mapSpeed)(speed[0]), (0, utils_1.mapSpeed)(speed[1]), this._maxPower, this.useProfile()]);
131
- }
132
- else {
133
- message = Buffer.from([0x81, this.portId, 0x11, 0x07, (0, utils_1.mapSpeed)(speed), this._maxPower, this.useProfile()]);
134
- }
135
- }
136
- this.send(message);
137
- this._finishedCallbacks.push(() => {
138
- return resolve();
139
- });
140
- });
141
- }
142
- /**
143
- * Rotate a motor by a given amount of degrees.
144
- * @method TachoMotor#rotateByDegrees
145
- * @param {number} degrees How much the motor should be rotated (in degrees).
146
- * @param {number} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100.
147
- * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
148
- */
149
- rotateByDegrees(degrees, speed) {
150
- if (!this.isVirtualPort && speed instanceof Array) {
151
- throw new Error("Only virtual ports can accept multiple speeds");
152
- }
153
- if (this.isWeDo2SmartHub) {
154
- throw new Error("Rotation is not available on the WeDo 2.0 Smart Hub");
155
- }
156
- this.cancelEventTimer();
157
- return new Promise((resolve) => {
158
- if (speed === undefined || speed === null) {
159
- speed = 100;
160
- }
161
- let message;
162
- if (speed instanceof Array) {
163
- message = Buffer.from([0x81, this.portId, 0x11, 0x0c, 0x00, 0x00, 0x00, 0x00, (0, utils_1.mapSpeed)(speed[0]), (0, utils_1.mapSpeed)(speed[1]), this._maxPower, this._brakeStyle, this.useProfile()]);
164
- }
165
- else {
166
- message = Buffer.from([0x81, this.portId, 0x11, 0x0b, 0x00, 0x00, 0x00, 0x00, (0, utils_1.mapSpeed)(speed), this._maxPower, this._brakeStyle, this.useProfile()]);
167
- }
168
- message.writeUInt32LE(degrees, 4);
169
- this.send(message);
170
- this._finishedCallbacks.push(() => {
171
- return resolve();
172
- });
173
- });
174
- }
175
- useProfile() {
176
- let value = 0x00;
177
- if (this.useAccelerationProfile) {
178
- value += 0x01;
179
- }
180
- if (this.useDecelerationProfile) {
181
- value += 0x02;
182
- }
183
- return value;
184
- }
185
- }
186
- exports.TachoMotor = TachoMotor;
187
- var Mode;
188
- (function (Mode) {
189
- Mode[Mode["ROTATION"] = 2] = "ROTATION";
190
- })(Mode || (exports.Mode = Mode = {}));
191
- exports.ModeMap = {
192
- "rotate": Mode.ROTATION
193
- };
194
- //# sourceMappingURL=tachomotor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tachomotor.js","sourceRoot":"","sources":["../../../src/devices/tachomotor.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Mode = exports.Technic3x3ColorLightMatrix = void 0;
27
- const color_1 = require("../color");
28
- const device_1 = require("./device");
29
- const Consts = __importStar(require("../consts"));
30
- /**
31
- * @class Technic3x3ColorLightMatrix
32
- * @extends Device
33
- */
34
- class Technic3x3ColorLightMatrix extends device_1.Device {
35
- constructor(hub, portId) {
36
- super(hub, portId, {}, Consts.DeviceType.TECHNIC_3X3_COLOR_LIGHT_MATRIX);
37
- }
38
- /**
39
- * Set the LED matrix, one color per LED
40
- * @method Technic3x3ColorLightMatrix#setMatrix
41
- * @param {Color[] | Color} colors Array of 9 colors, 9 Color objects, or a single color
42
- * @returns {Promise} Resolved upon successful issuance of the command.
43
- */
44
- setMatrix(colors) {
45
- return new Promise((resolve) => {
46
- this.subscribe(Mode.PIX_0);
47
- const colorArray = new Array(9);
48
- for (let i = 0; i < colorArray.length; i++) {
49
- if (typeof colors === 'number') {
50
- // @ts-ignore
51
- colorArray[i] = colors + (10 << 4);
52
- }
53
- // @ts-ignore
54
- if (colors[i] instanceof color_1.Color) {
55
- // @ts-ignore
56
- colorArray[i] = colors[i].toValue();
57
- }
58
- // @ts-ignore
59
- if (colors[i] === Consts.Color.NONE) {
60
- colorArray[i] = Consts.Color.NONE;
61
- }
62
- // @ts-ignore
63
- if (colors[i] <= 10) {
64
- // @ts-ignore
65
- colorArray[i] = colors[i] + (10 << 4); // If a raw color value, set it to max brightness (10)
66
- }
67
- }
68
- this.writeDirect(Mode.PIX_0, Buffer.from(colorArray));
69
- return resolve();
70
- });
71
- }
72
- }
73
- exports.Technic3x3ColorLightMatrix = Technic3x3ColorLightMatrix;
74
- var Mode;
75
- (function (Mode) {
76
- Mode[Mode["LEV_0"] = 0] = "LEV_0";
77
- Mode[Mode["COL_0"] = 1] = "COL_0";
78
- Mode[Mode["PIX_0"] = 2] = "PIX_0";
79
- Mode[Mode["TRANS"] = 3] = "TRANS";
80
- })(Mode || (exports.Mode = Mode = {}));
81
- //# sourceMappingURL=technic3x3colorlightmatrix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"technic3x3colorlightmatrix.js","sourceRoot":"","sources":["../../../src/devices/technic3x3colorlightmatrix.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAiC;AAEjC,qCAAkC;AAIlC,kDAAoC;AAEpC;;;GAGG;AACH,MAAa,0BAA2B,SAAQ,eAAM;IAGlD,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;IAC7E,CAAC;IAGD;;;;;OAKG;IACI,SAAS,CAAE,MAAyB;QACvC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,OAAO,MAAM,KAAM,QAAQ,EAAE,CAAC;oBAC9B,aAAa;oBACb,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvC,CAAC;gBACD,aAAa;gBACb,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,aAAK,EAAE,CAAC;oBAC7B,aAAa;oBACb,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACxC,CAAC;gBACD,aAAa;gBACb,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAClC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBACtC,CAAC;gBACD,aAAa;gBACb,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,aAAa;oBACb,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,sDAAsD;gBACjG,CAAC;YACL,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACtD,OAAO,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;CAGJ;AA5CD,gEA4CC;AAED,IAAY,IAKX;AALD,WAAY,IAAI;IACZ,iCAAY,CAAA;IACZ,iCAAY,CAAA;IACZ,iCAAY,CAAA;IACZ,iCAAY,CAAA;AAChB,CAAC,EALW,IAAI,oBAAJ,IAAI,QAKf"}
@@ -1,99 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ModeMap = exports.Mode = exports.TechnicColorSensor = void 0;
27
- const device_1 = require("./device");
28
- const Consts = __importStar(require("../consts"));
29
- const utils_1 = require("../utils");
30
- /**
31
- * @class TechnicColorSensor
32
- * @extends Device
33
- */
34
- class TechnicColorSensor extends device_1.Device {
35
- constructor(hub, portId) {
36
- super(hub, portId, exports.ModeMap, Consts.DeviceType.TECHNIC_COLOR_SENSOR);
37
- }
38
- receive(message) {
39
- const mode = this._mode;
40
- switch (mode) {
41
- case Mode.COLOR:
42
- if (message[4] <= 10) {
43
- const color = (0, utils_1.parseColor)(message[4]);
44
- /**
45
- * Emits when a color sensor is activated.
46
- * @event TechnicColorSensor#color
47
- * @type {object}
48
- * @param {Color} color
49
- */
50
- this.notify("color", { color });
51
- }
52
- break;
53
- case Mode.REFLECTIVITY:
54
- const reflect = message[4];
55
- /**
56
- * Emits when the light reflectivity changes.
57
- * @event TechnicColorSensor#reflect
58
- * @type {object}
59
- * @param {number} reflect Percentage, from 0 to 100.
60
- */
61
- this.notify("reflect", { reflect });
62
- break;
63
- case Mode.AMBIENT_LIGHT:
64
- const ambient = message[4];
65
- /**
66
- * Emits when the ambient light changes.
67
- * @event TechnicColorSensor#ambient
68
- * @type {object}
69
- * @param {number} ambient Percentage, from 0 to 100.
70
- */
71
- this.notify("ambient", { ambient });
72
- break;
73
- }
74
- }
75
- /**
76
- * Set the brightness (or turn on/off) of the lights around the sensor.
77
- * @method TechnicColorSensor#setBrightness
78
- * @param {number} firstSegment First light segment. 0-100 brightness.
79
- * @param {number} secondSegment Second light segment. 0-100 brightness.
80
- * @param {number} thirdSegment Third light segment. 0-100 brightness.
81
- * @returns {Promise} Resolved upon successful issuance of the command.
82
- */
83
- setBrightness(firstSegment, secondSegment, thirdSegment) {
84
- this.writeDirect(0x03, Buffer.from([firstSegment, secondSegment, thirdSegment]));
85
- }
86
- }
87
- exports.TechnicColorSensor = TechnicColorSensor;
88
- var Mode;
89
- (function (Mode) {
90
- Mode[Mode["COLOR"] = 0] = "COLOR";
91
- Mode[Mode["REFLECTIVITY"] = 1] = "REFLECTIVITY";
92
- Mode[Mode["AMBIENT_LIGHT"] = 2] = "AMBIENT_LIGHT";
93
- })(Mode || (exports.Mode = Mode = {}));
94
- exports.ModeMap = {
95
- "color": Mode.COLOR,
96
- "reflect": Mode.REFLECTIVITY,
97
- "ambient": Mode.AMBIENT_LIGHT
98
- };
99
- //# sourceMappingURL=techniccolorsensor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"techniccolorsensor.js","sourceRoot":"","sources":["../../../src/devices/techniccolorsensor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAkC;AAIlC,kDAAoC;AACpC,oCAAsC;AAEtC;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,eAAM;IAE1C,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,eAAO,EAAE,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxE,CAAC;IAEM,OAAO,CAAE,OAAe;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,KAAK;gBACX,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAErC;;;;;uBAKG;oBACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM;YAEV,KAAK,IAAI,CAAC,YAAY;gBAClB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAE3B;;;;;mBAKG;gBACH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpC,MAAM;YAEV,KAAK,IAAI,CAAC,aAAa;gBACnB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAE3B;;;;;mBAKG;gBACH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpC,MAAM;QACd,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,aAAa,CAAE,YAAoB,EAAE,aAAqB,EAAE,YAAoB;QACnF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;CAEJ;AA9DD,gDA8DC;AAED,IAAY,IAIX;AAJD,WAAY,IAAI;IACZ,iCAAY,CAAA;IACZ,+CAAmB,CAAA;IACnB,iDAAoB,CAAA;AACxB,CAAC,EAJW,IAAI,oBAAJ,IAAI,QAIf;AAEY,QAAA,OAAO,GAA8B;IAC9C,OAAO,EAAE,IAAI,CAAC,KAAK;IACnB,SAAS,EAAE,IAAI,CAAC,YAAY;IAC5B,SAAS,EAAE,IAAI,CAAC,aAAa;CAChC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"technicdistancesensor.js","sourceRoot":"","sources":["../../../src/devices/technicdistancesensor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAkC;AAIlC,kDAAoC;AAEpC;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,eAAM;IAE7C,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,eAAO,EAAE,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC3E,CAAC;IAEM,OAAO,CAAE,OAAe;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,QAAQ;gBACd,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEzC;;;;;mBAKG;gBACH,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACtC,MAAM;YAEV,KAAK,IAAI,CAAC,aAAa;gBACnB,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE7C;;;;;mBAKG;gBACH,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC9C,MAAM;QACd,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,aAAa,CAAE,OAAe,EAAE,UAAkB,EAAE,QAAgB,EAAE,WAAmB;QAC5F,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;CAEJ;AAjDD,sDAiDC;AAED,IAAY,IAGX;AAHD,WAAY,IAAI;IACZ,uCAAe,CAAA;IACf,iDAAoB,CAAA;AACxB,CAAC,EAHW,IAAI,oBAAJ,IAAI,QAGf;AAEY,QAAA,OAAO,GAA8B;IAC9C,UAAU,EAAE,IAAI,CAAC,QAAQ;IACzB,cAAc,EAAE,IAAI,CAAC,aAAa;CACrC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"technicforcesensor.js","sourceRoot":"","sources":["../../../src/devices/technicforcesensor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAkC;AAIlC,kDAAoC;AAEpC;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,eAAM;IAE1C,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,eAAO,EAAE,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxE,CAAC;IAEM,OAAO,CAAE,OAAe;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,KAAK;gBACX,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAEzD;;;;;mBAKG;gBACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChC,MAAM;YAEV,KAAK,IAAI,CAAC,OAAO;gBACb,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAE1C;;;;;mBAKG;gBACH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpC,MAAM;YAEV,KAAK,IAAI,CAAC,MAAM;gBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAE1B;;;;;mBAKG;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClC,MAAM;QACd,CAAC;IACL,CAAC;CAEJ;AAhDD,gDAgDC;AAED,IAAY,IAIX;AAJD,WAAY,IAAI;IACZ,iCAAY,CAAA;IACZ,qCAAc,CAAA;IACd,mCAAa,CAAA;AACjB,CAAC,EAJW,IAAI,oBAAJ,IAAI,QAIf;AAEY,QAAA,OAAO,GAA8B;IAC9C,OAAO,EAAE,IAAI,CAAC,KAAK;IACnB,SAAS,EAAE,IAAI,CAAC,OAAO;IACvB,QAAQ,EAAE,IAAI,CAAC,MAAM;CACxB,CAAC"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.TechnicLargeAngularMotor = void 0;
27
- const absolutemotor_1 = require("./absolutemotor");
28
- const Consts = __importStar(require("../consts"));
29
- /**
30
- * @class TechnicLargeAngularMotor
31
- * @extends AbsoluteMotor
32
- */
33
- class TechnicLargeAngularMotor extends absolutemotor_1.AbsoluteMotor {
34
- constructor(hub, portId, modeMap = {}, type = Consts.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR) {
35
- super(hub, portId, {}, type);
36
- }
37
- }
38
- exports.TechnicLargeAngularMotor = TechnicLargeAngularMotor;
39
- //# sourceMappingURL=techniclargeangularmotor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"techniclargeangularmotor.js","sourceRoot":"","sources":["../../../src/devices/techniclargeangularmotor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAgD;AAIhD,kDAAoC;AAEpC;;;GAGG;AACH,MAAa,wBAAyB,SAAQ,6BAAa;IAEvD,YAAa,GAAqB,EAAE,MAAc,EAAE,UAAqC,EAAE,EAAE,OAA0B,MAAM,CAAC,UAAU,CAAC,2BAA2B;QAChK,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;CAEJ;AAND,4DAMC"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.TechnicLargeLinearMotor = void 0;
27
- const absolutemotor_1 = require("./absolutemotor");
28
- const Consts = __importStar(require("../consts"));
29
- /**
30
- * @class TechnicLargeLinearMotor
31
- * @extends AbsoluteMotor
32
- */
33
- class TechnicLargeLinearMotor extends absolutemotor_1.AbsoluteMotor {
34
- constructor(hub, portId) {
35
- super(hub, portId, {}, Consts.DeviceType.TECHNIC_LARGE_LINEAR_MOTOR);
36
- }
37
- }
38
- exports.TechnicLargeLinearMotor = TechnicLargeLinearMotor;
39
- //# sourceMappingURL=techniclargelinearmotor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"techniclargelinearmotor.js","sourceRoot":"","sources":["../../../src/devices/techniclargelinearmotor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAgD;AAIhD,kDAAoC;AAEpC;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,6BAAa;IAEtD,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;IACzE,CAAC;CAEJ;AAND,0DAMC"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.TechnicMediumAngularMotor = void 0;
27
- const absolutemotor_1 = require("./absolutemotor");
28
- const Consts = __importStar(require("../consts"));
29
- /**
30
- * @class TechnicMediumAngularMotor
31
- * @extends AbsoluteMotor
32
- */
33
- class TechnicMediumAngularMotor extends absolutemotor_1.AbsoluteMotor {
34
- constructor(hub, portId, modeMap = {}, type = Consts.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR) {
35
- super(hub, portId, {}, type);
36
- }
37
- }
38
- exports.TechnicMediumAngularMotor = TechnicMediumAngularMotor;
39
- //# sourceMappingURL=technicmediumangularmotor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"technicmediumangularmotor.js","sourceRoot":"","sources":["../../../src/devices/technicmediumangularmotor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAgD;AAIhD,kDAAoC;AAEpC;;;GAGG;AACH,MAAa,yBAA0B,SAAQ,6BAAa;IAExD,YAAa,GAAqB,EAAE,MAAc,EAAE,UAAqC,EAAE,EAAE,OAA0B,MAAM,CAAC,UAAU,CAAC,4BAA4B;QACjK,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;CAEJ;AAND,8DAMC"}
@@ -1,65 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ModeMap = exports.Mode = exports.TechnicMediumHubAccelerometerSensor = void 0;
27
- const device_1 = require("./device");
28
- const Consts = __importStar(require("../consts"));
29
- /**
30
- * @class TechnicMediumHubAccelerometerSensor
31
- * @extends Device
32
- */
33
- class TechnicMediumHubAccelerometerSensor extends device_1.Device {
34
- constructor(hub, portId) {
35
- super(hub, portId, exports.ModeMap, Consts.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER);
36
- }
37
- receive(message) {
38
- const mode = this._mode;
39
- switch (mode) {
40
- case Mode.ACCEL:
41
- /**
42
- * Emits when accelerometer detects movement. Measured in mG.
43
- * @event TechnicMediumHubAccelerometerSensor#accel
44
- * @type {object}
45
- * @param {number} x
46
- * @param {number} y
47
- * @param {number} z
48
- */
49
- const x = Math.round(message.readInt16LE(4) / 4.096);
50
- const y = Math.round(message.readInt16LE(6) / 4.096);
51
- const z = Math.round(message.readInt16LE(8) / 4.096);
52
- this.notify("accel", { x, y, z });
53
- break;
54
- }
55
- }
56
- }
57
- exports.TechnicMediumHubAccelerometerSensor = TechnicMediumHubAccelerometerSensor;
58
- var Mode;
59
- (function (Mode) {
60
- Mode[Mode["ACCEL"] = 0] = "ACCEL";
61
- })(Mode || (exports.Mode = Mode = {}));
62
- exports.ModeMap = {
63
- "accel": Mode.ACCEL
64
- };
65
- //# sourceMappingURL=technicmediumhubaccelerometersensor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"technicmediumhubaccelerometersensor.js","sourceRoot":"","sources":["../../../src/devices/technicmediumhubaccelerometersensor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAkC;AAIlC,kDAAoC;AAEpC;;;GAGG;AACH,MAAa,mCAAoC,SAAQ,eAAM;IAE3D,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,eAAO,EAAE,MAAM,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAAC;IACpF,CAAC;IAEM,OAAO,CAAE,OAAe;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,KAAK;gBACX;;;;;;;mBAOG;gBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;gBACrD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;gBACrD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClC,MAAM;QACd,CAAC;IACL,CAAC;CAEJ;AA3BD,kFA2BC;AAED,IAAY,IAEX;AAFD,WAAY,IAAI;IACZ,iCAAY,CAAA;AAChB,CAAC,EAFW,IAAI,oBAAJ,IAAI,QAEf;AAEY,QAAA,OAAO,GAA8B;IAC9C,OAAO,EAAE,IAAI,CAAC,KAAK;CACtB,CAAC"}