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,72 +1,46 @@
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.BaseHub = void 0;
27
- const events_1 = require("events");
28
- const colordistancesensor_1 = require("../devices/colordistancesensor");
29
- const currentsensor_1 = require("../devices/currentsensor");
30
- const device_1 = require("../devices/device");
31
- const duplotrainbasecolorsensor_1 = require("../devices/duplotrainbasecolorsensor");
32
- const duplotrainbasemotor_1 = require("../devices/duplotrainbasemotor");
33
- const duplotrainbasespeaker_1 = require("../devices/duplotrainbasespeaker");
34
- const duplotrainbasespeedometer_1 = require("../devices/duplotrainbasespeedometer");
35
- const hubled_1 = require("../devices/hubled");
36
- const light_1 = require("../devices/light");
37
- const marioaccelerometer_1 = require("../devices/marioaccelerometer");
38
- const mariobarcodesensor_1 = require("../devices/mariobarcodesensor");
39
- const mariopantssensor_1 = require("../devices/mariopantssensor");
40
- const mediumlinearmotor_1 = require("../devices/mediumlinearmotor");
41
- const motionsensor_1 = require("../devices/motionsensor");
42
- const movehubmediumlinearmotor_1 = require("../devices/movehubmediumlinearmotor");
43
- const movehubtiltsensor_1 = require("../devices/movehubtiltsensor");
44
- const piezobuzzer_1 = require("../devices/piezobuzzer");
45
- const remotecontrolbutton_1 = require("../devices/remotecontrolbutton");
46
- const simplemediumlinearmotor_1 = require("../devices/simplemediumlinearmotor");
47
- const techniccolorsensor_1 = require("../devices/techniccolorsensor");
48
- const technicdistancesensor_1 = require("../devices/technicdistancesensor");
49
- const technicforcesensor_1 = require("../devices/technicforcesensor");
50
- const techniclargeangularmotor_1 = require("../devices/techniclargeangularmotor");
51
- const techniclargelinearmotor_1 = require("../devices/techniclargelinearmotor");
52
- const technicsmallangularmotor_1 = require("../devices/technicsmallangularmotor");
53
- const technicmediumangularmotor_1 = require("../devices/technicmediumangularmotor");
54
- const technicmediumhubaccelerometersensor_1 = require("../devices/technicmediumhubaccelerometersensor");
55
- const technicmediumhubgyrosensor_1 = require("../devices/technicmediumhubgyrosensor");
56
- const technicmediumhubtiltsensor_1 = require("../devices/technicmediumhubtiltsensor");
57
- const technicxlargelinearmotor_1 = require("../devices/technicxlargelinearmotor");
58
- const tiltsensor_1 = require("../devices/tiltsensor");
59
- const trainmotor_1 = require("../devices/trainmotor");
60
- const voltagesensor_1 = require("../devices/voltagesensor");
61
- const Consts = __importStar(require("../consts"));
62
- const Debug = require("debug");
63
- const technic3x3colorlightmatrix_1 = require("../devices/technic3x3colorlightmatrix");
1
+ import { EventEmitter } from "events";
2
+ import { ColorDistanceSensor } from "../devices/colordistancesensor.js";
3
+ import { CurrentSensor } from "../devices/currentsensor.js";
4
+ import { Device } from "../devices/device.js";
5
+ import { DuploTrainBaseColorSensor } from "../devices/duplotrainbasecolorsensor.js";
6
+ import { DuploTrainBaseMotor } from "../devices/duplotrainbasemotor.js";
7
+ import { DuploTrainBaseSpeaker } from "../devices/duplotrainbasespeaker.js";
8
+ import { DuploTrainBaseSpeedometer } from "../devices/duplotrainbasespeedometer.js";
9
+ import { HubLED } from "../devices/hubled.js";
10
+ import { Light } from "../devices/light.js";
11
+ import { MarioAccelerometer } from "../devices/marioaccelerometer.js";
12
+ import { MarioBarcodeSensor } from "../devices/mariobarcodesensor.js";
13
+ import { MarioPantsSensor } from "../devices/mariopantssensor.js";
14
+ import { MediumLinearMotor } from "../devices/mediumlinearmotor.js";
15
+ import { MotionSensor } from "../devices/motionsensor.js";
16
+ import { MoveHubMediumLinearMotor } from "../devices/movehubmediumlinearmotor.js";
17
+ import { MoveHubTiltSensor } from "../devices/movehubtiltsensor.js";
18
+ import { PiezoBuzzer } from "../devices/piezobuzzer.js";
19
+ import { RemoteControlButton } from "../devices/remotecontrolbutton.js";
20
+ import { SimpleMediumLinearMotor } from "../devices/simplemediumlinearmotor.js";
21
+ import { TechnicColorSensor } from "../devices/techniccolorsensor.js";
22
+ import { TechnicDistanceSensor } from "../devices/technicdistancesensor.js";
23
+ import { TechnicForceSensor } from "../devices/technicforcesensor.js";
24
+ import { TechnicLargeAngularMotor } from "../devices/techniclargeangularmotor.js";
25
+ import { TechnicLargeLinearMotor } from "../devices/techniclargelinearmotor.js";
26
+ import { TechnicSmallAngularMotor } from "../devices/technicsmallangularmotor.js";
27
+ import { TechnicMediumAngularMotor } from "../devices/technicmediumangularmotor.js";
28
+ import { TechnicMediumHubAccelerometerSensor } from "../devices/technicmediumhubaccelerometersensor.js";
29
+ import { TechnicMediumHubGyroSensor } from "../devices/technicmediumhubgyrosensor.js";
30
+ import { TechnicMediumHubTiltSensor } from "../devices/technicmediumhubtiltsensor.js";
31
+ import { TechnicXLargeLinearMotor } from "../devices/technicxlargelinearmotor.js";
32
+ import { TiltSensor } from "../devices/tiltsensor.js";
33
+ import { TrainMotor } from "../devices/trainmotor.js";
34
+ import { VoltageSensor } from "../devices/voltagesensor.js";
35
+ import * as Consts from "../consts.js";
36
+ import Debug from "debug";
37
+ import { Technic3x3ColorLightMatrix } from "../devices/technic3x3colorlightmatrix.js";
64
38
  const debug = Debug("basehub");
65
39
  /**
66
40
  * @class BaseHub
67
41
  * @extends EventEmitter
68
42
  */
69
- class BaseHub extends events_1.EventEmitter {
43
+ export class BaseHub extends EventEmitter {
70
44
  constructor(bleDevice, portMap = {}, type = Consts.HubType.UNKNOWN) {
71
45
  super();
72
46
  this._attachedDevices = {};
@@ -170,7 +144,6 @@ class BaseHub extends events_1.EventEmitter {
170
144
  }
171
145
  /**
172
146
  * Connect to the Hub.
173
- * @method Hub#connect
174
147
  * @returns {Promise} Resolved upon successful connect.
175
148
  */
176
149
  connect() {
@@ -184,7 +157,6 @@ class BaseHub extends events_1.EventEmitter {
184
157
  }
185
158
  /**
186
159
  * Disconnect the Hub.
187
- * @method Hub#disconnect
188
160
  * @returns {Promise} Resolved upon successful disconnect.
189
161
  */
190
162
  disconnect() {
@@ -192,7 +164,6 @@ class BaseHub extends events_1.EventEmitter {
192
164
  }
193
165
  /**
194
166
  * Retrieves the device attached to a given port.
195
- * @method Hub#getDeviceAtPort
196
167
  * @param {string} portName The name of the port to retrieve the device from.
197
168
  * @returns {Device | undefined} The device attached to the port.
198
169
  */
@@ -209,7 +180,6 @@ class BaseHub extends events_1.EventEmitter {
209
180
  * Retrieves the device attached to a given port, waiting until one is attached if there isn't one.
210
181
  *
211
182
  * Note: If a device is never attached, the returned promise may never resolve.
212
- * @method Hub#waitForDeviceAtPort
213
183
  * @param {string} portName The name of the port to retrieve the device from.
214
184
  * @returns {Promise} Resolved once a device is attached, or resolved immediately if a device is already attached.
215
185
  */
@@ -232,7 +202,6 @@ class BaseHub extends events_1.EventEmitter {
232
202
  }
233
203
  /**
234
204
  * Retrieves all attached devices.
235
- * @method Hub#getDevices
236
205
  * @returns {Device[]} Array of all attached devices.
237
206
  */
238
207
  getDevices() {
@@ -240,7 +209,6 @@ class BaseHub extends events_1.EventEmitter {
240
209
  }
241
210
  /**
242
211
  * Retrieves an array of devices of the specified type.
243
- * @method Hub#getDevicesByType
244
212
  * @param {number} deviceType The device type to lookup.
245
213
  * @returns {Device[]} Array of all devices of the specified type.
246
214
  */
@@ -251,7 +219,6 @@ class BaseHub extends events_1.EventEmitter {
251
219
  * Retrieves the first device attached of the specified type, waiting until one is attached if there isn't one.
252
220
  *
253
221
  * Note: If a device is never attached, the returned promise may never resolve.
254
- * @method Hub#waitForDeviceByType
255
222
  * @param {number} deviceType The device type to lookup.
256
223
  * @returns {Promise} Resolved once a device is attached, or resolved immediately if a device is already attached.
257
224
  */
@@ -287,7 +254,6 @@ class BaseHub extends events_1.EventEmitter {
287
254
  * Sleep a given amount of time.
288
255
  *
289
256
  * Note: This is a helper method to make it easier to add delays into a chain of commands.
290
- * @method Hub#sleep
291
257
  * @param {number} delay How long to sleep (in milliseconds).
292
258
  * @returns {Promise} Resolved after the delay is finished.
293
259
  */
@@ -300,7 +266,6 @@ class BaseHub extends events_1.EventEmitter {
300
266
  * Wait until a given list of concurrently running commands are complete.
301
267
  *
302
268
  * Note: This is a helper method to make it easier to wait for concurrent commands to complete.
303
- * @method Hub#wait
304
269
  * @param {Array<Promise<any>>} commands Array of executing commands.
305
270
  * @returns {Promise} Resolved after the commands are finished.
306
271
  */
@@ -333,6 +298,23 @@ class BaseHub extends events_1.EventEmitter {
333
298
  }
334
299
  }
335
300
  }
301
+ manuallyDetachDevice(portId) {
302
+ const device = this._attachedDevices[portId];
303
+ if (!device) {
304
+ debug(`No device attached to portId ${portId}, nothing to detach`);
305
+ return;
306
+ }
307
+ debug(`Detaching device type ${device.type} from portId ${portId}`);
308
+ this._detachDevice(device);
309
+ if (this.isPortVirtual(portId)) {
310
+ const portName = this.getPortNameForPortId(portId);
311
+ if (portName) {
312
+ delete this._portMap[portName];
313
+ }
314
+ this._virtualPorts = this._virtualPorts.filter((virtualPortId) => virtualPortId !== portId);
315
+ }
316
+ return device;
317
+ }
336
318
  _attachDevice(device) {
337
319
  if (this._attachedDevices[device.portId] && this._attachedDevices[device.portId].type === device.type) {
338
320
  return;
@@ -367,53 +349,52 @@ class BaseHub extends events_1.EventEmitter {
367
349
  let constructor;
368
350
  // NK TODO: This needs to go in a better place
369
351
  const deviceConstructors = {
370
- [Consts.DeviceType.LIGHT]: light_1.Light,
371
- [Consts.DeviceType.TRAIN_MOTOR]: trainmotor_1.TrainMotor,
372
- [Consts.DeviceType.SIMPLE_MEDIUM_LINEAR_MOTOR]: simplemediumlinearmotor_1.SimpleMediumLinearMotor,
373
- [Consts.DeviceType.MOVE_HUB_MEDIUM_LINEAR_MOTOR]: movehubmediumlinearmotor_1.MoveHubMediumLinearMotor,
374
- [Consts.DeviceType.MOTION_SENSOR]: motionsensor_1.MotionSensor,
375
- [Consts.DeviceType.TILT_SENSOR]: tiltsensor_1.TiltSensor,
376
- [Consts.DeviceType.MOVE_HUB_TILT_SENSOR]: movehubtiltsensor_1.MoveHubTiltSensor,
377
- [Consts.DeviceType.PIEZO_BUZZER]: piezobuzzer_1.PiezoBuzzer,
378
- [Consts.DeviceType.TECHNIC_COLOR_SENSOR]: techniccolorsensor_1.TechnicColorSensor,
379
- [Consts.DeviceType.TECHNIC_DISTANCE_SENSOR]: technicdistancesensor_1.TechnicDistanceSensor,
380
- [Consts.DeviceType.TECHNIC_FORCE_SENSOR]: technicforcesensor_1.TechnicForceSensor,
381
- [Consts.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR]: technicmediumhubtiltsensor_1.TechnicMediumHubTiltSensor,
382
- [Consts.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR]: technicmediumhubgyrosensor_1.TechnicMediumHubGyroSensor,
383
- [Consts.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER]: technicmediumhubaccelerometersensor_1.TechnicMediumHubAccelerometerSensor,
384
- [Consts.DeviceType.MEDIUM_LINEAR_MOTOR]: mediumlinearmotor_1.MediumLinearMotor,
385
- [Consts.DeviceType.TECHNIC_SMALL_ANGULAR_MOTOR]: technicsmallangularmotor_1.TechnicSmallAngularMotor,
386
- [Consts.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR]: technicmediumangularmotor_1.TechnicMediumAngularMotor,
387
- [Consts.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR]: techniclargeangularmotor_1.TechnicLargeAngularMotor,
388
- [Consts.DeviceType.TECHNIC_LARGE_LINEAR_MOTOR]: techniclargelinearmotor_1.TechnicLargeLinearMotor,
389
- [Consts.DeviceType.TECHNIC_XLARGE_LINEAR_MOTOR]: technicxlargelinearmotor_1.TechnicXLargeLinearMotor,
390
- [Consts.DeviceType.COLOR_DISTANCE_SENSOR]: colordistancesensor_1.ColorDistanceSensor,
391
- [Consts.DeviceType.VOLTAGE_SENSOR]: voltagesensor_1.VoltageSensor,
392
- [Consts.DeviceType.CURRENT_SENSOR]: currentsensor_1.CurrentSensor,
393
- [Consts.DeviceType.REMOTE_CONTROL_BUTTON]: remotecontrolbutton_1.RemoteControlButton,
394
- [Consts.DeviceType.HUB_LED]: hubled_1.HubLED,
395
- [Consts.DeviceType.DUPLO_TRAIN_BASE_COLOR_SENSOR]: duplotrainbasecolorsensor_1.DuploTrainBaseColorSensor,
396
- [Consts.DeviceType.DUPLO_TRAIN_BASE_MOTOR]: duplotrainbasemotor_1.DuploTrainBaseMotor,
397
- [Consts.DeviceType.DUPLO_TRAIN_BASE_SPEAKER]: duplotrainbasespeaker_1.DuploTrainBaseSpeaker,
398
- [Consts.DeviceType.DUPLO_TRAIN_BASE_SPEEDOMETER]: duplotrainbasespeedometer_1.DuploTrainBaseSpeedometer,
399
- [Consts.DeviceType.MARIO_ACCELEROMETER]: marioaccelerometer_1.MarioAccelerometer,
400
- [Consts.DeviceType.MARIO_BARCODE_SENSOR]: mariobarcodesensor_1.MarioBarcodeSensor,
401
- [Consts.DeviceType.MARIO_PANTS_SENSOR]: mariopantssensor_1.MarioPantsSensor,
402
- [Consts.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY]: technicmediumangularmotor_1.TechnicMediumAngularMotor,
403
- [Consts.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR_GREY]: techniclargeangularmotor_1.TechnicLargeAngularMotor,
404
- [Consts.DeviceType.TECHNIC_3X3_COLOR_LIGHT_MATRIX]: technic3x3colorlightmatrix_1.Technic3x3ColorLightMatrix,
352
+ [Consts.DeviceType.LIGHT]: Light,
353
+ [Consts.DeviceType.TRAIN_MOTOR]: TrainMotor,
354
+ [Consts.DeviceType.SIMPLE_MEDIUM_LINEAR_MOTOR]: SimpleMediumLinearMotor,
355
+ [Consts.DeviceType.MOVE_HUB_MEDIUM_LINEAR_MOTOR]: MoveHubMediumLinearMotor,
356
+ [Consts.DeviceType.MOTION_SENSOR]: MotionSensor,
357
+ [Consts.DeviceType.TILT_SENSOR]: TiltSensor,
358
+ [Consts.DeviceType.MOVE_HUB_TILT_SENSOR]: MoveHubTiltSensor,
359
+ [Consts.DeviceType.PIEZO_BUZZER]: PiezoBuzzer,
360
+ [Consts.DeviceType.TECHNIC_COLOR_SENSOR]: TechnicColorSensor,
361
+ [Consts.DeviceType.TECHNIC_DISTANCE_SENSOR]: TechnicDistanceSensor,
362
+ [Consts.DeviceType.TECHNIC_FORCE_SENSOR]: TechnicForceSensor,
363
+ [Consts.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR]: TechnicMediumHubTiltSensor,
364
+ [Consts.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR]: TechnicMediumHubGyroSensor,
365
+ [Consts.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER]: TechnicMediumHubAccelerometerSensor,
366
+ [Consts.DeviceType.MEDIUM_LINEAR_MOTOR]: MediumLinearMotor,
367
+ [Consts.DeviceType.TECHNIC_SMALL_ANGULAR_MOTOR]: TechnicSmallAngularMotor,
368
+ [Consts.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR]: TechnicMediumAngularMotor,
369
+ [Consts.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR]: TechnicLargeAngularMotor,
370
+ [Consts.DeviceType.TECHNIC_LARGE_LINEAR_MOTOR]: TechnicLargeLinearMotor,
371
+ [Consts.DeviceType.TECHNIC_XLARGE_LINEAR_MOTOR]: TechnicXLargeLinearMotor,
372
+ [Consts.DeviceType.COLOR_DISTANCE_SENSOR]: ColorDistanceSensor,
373
+ [Consts.DeviceType.VOLTAGE_SENSOR]: VoltageSensor,
374
+ [Consts.DeviceType.CURRENT_SENSOR]: CurrentSensor,
375
+ [Consts.DeviceType.REMOTE_CONTROL_BUTTON]: RemoteControlButton,
376
+ [Consts.DeviceType.HUB_LED]: HubLED,
377
+ [Consts.DeviceType.DUPLO_TRAIN_BASE_COLOR_SENSOR]: DuploTrainBaseColorSensor,
378
+ [Consts.DeviceType.DUPLO_TRAIN_BASE_MOTOR]: DuploTrainBaseMotor,
379
+ [Consts.DeviceType.DUPLO_TRAIN_BASE_SPEAKER]: DuploTrainBaseSpeaker,
380
+ [Consts.DeviceType.DUPLO_TRAIN_BASE_SPEEDOMETER]: DuploTrainBaseSpeedometer,
381
+ [Consts.DeviceType.MARIO_ACCELEROMETER]: MarioAccelerometer,
382
+ [Consts.DeviceType.MARIO_BARCODE_SENSOR]: MarioBarcodeSensor,
383
+ [Consts.DeviceType.MARIO_PANTS_SENSOR]: MarioPantsSensor,
384
+ [Consts.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY]: TechnicMediumAngularMotor,
385
+ [Consts.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR_GREY]: TechnicLargeAngularMotor,
386
+ [Consts.DeviceType.TECHNIC_3X3_COLOR_LIGHT_MATRIX]: Technic3x3ColorLightMatrix,
405
387
  };
406
388
  constructor = deviceConstructors[deviceType];
407
389
  if (constructor) {
408
390
  return new constructor(this, portId, undefined, deviceType);
409
391
  }
410
392
  else {
411
- return new device_1.Device(this, portId, undefined, deviceType);
393
+ return new Device(this, portId, undefined, deviceType);
412
394
  }
413
395
  }
414
396
  _getDeviceByPortId(portId) {
415
397
  return this._attachedDevices[portId];
416
398
  }
417
399
  }
418
- exports.BaseHub = BaseHub;
419
400
  //# sourceMappingURL=basehub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basehub.js","sourceRoot":"","sources":["../../src/hubs/basehub.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- /// <reference path="../../../abandonware-noble.d.ts" />
2
- import { Peripheral } from "@abandonware/noble";
3
- import { LPF2Hub } from "./lpf2hub";
4
- import { IBLEAbstraction } from "../interfaces";
1
+ import { Peripheral } from "@stoprocent/noble";
2
+ import { LPF2Hub } from "./lpf2hub.js";
3
+ import { IBLEAbstraction } from "../interfaces.js";
5
4
  /**
6
5
  * The DuploTrainBase is emitted if the discovered device is a Duplo Train Base.
7
6
  * @class DuploTrainBase
@@ -16,3 +15,4 @@ export declare class DuploTrainBase extends LPF2Hub {
16
15
  export declare const PortMap: {
17
16
  [portName: string]: number;
18
17
  };
18
+ //# sourceMappingURL=duplotrainbase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplotrainbase.d.ts","sourceRoot":"","sources":["../../src/hubs/duplotrainbase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAKvC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,OAAO;WAGzB,gBAAgB,CAAE,UAAU,EAAE,UAAU;gBAYzC,MAAM,EAAE,eAAe;IAMvB,OAAO;CAOvB;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAIhD,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { LPF2Hub } from "./lpf2hub.js";
2
+ import * as Consts from "../consts.js";
3
+ import Debug from "debug";
4
+ const debug = Debug("duplotrainbase");
5
+ /**
6
+ * The DuploTrainBase is emitted if the discovered device is a Duplo Train Base.
7
+ * @class DuploTrainBase
8
+ * @extends LPF2Hub
9
+ * @extends BaseHub
10
+ */
11
+ export class DuploTrainBase extends LPF2Hub {
12
+ static IsDuploTrainBase(peripheral) {
13
+ return (peripheral.advertisement &&
14
+ peripheral.advertisement.serviceUuids &&
15
+ peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
16
+ peripheral.advertisement.manufacturerData &&
17
+ peripheral.advertisement.manufacturerData.length > 3 &&
18
+ peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.DUPLO_TRAIN_BASE_ID);
19
+ }
20
+ constructor(device) {
21
+ super(device, PortMap, Consts.HubType.DUPLO_TRAIN_BASE);
22
+ debug("Discovered Duplo Train Base");
23
+ }
24
+ async connect() {
25
+ debug("Connecting to Duplo Train Base");
26
+ await super.connect();
27
+ debug("Connect completed");
28
+ }
29
+ }
30
+ export const PortMap = {
31
+ "MOTOR": 0,
32
+ "COLOR": 18,
33
+ "SPEEDOMETER": 19
34
+ };
35
+ //# sourceMappingURL=duplotrainbase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplotrainbase.js","sourceRoot":"","sources":["../../src/hubs/duplotrainbase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAGtC;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAO;IAGhC,MAAM,CAAC,gBAAgB,CAAE,UAAsB;QAClD,OAAO,CACH,UAAU,CAAC,aAAa;YACxB,UAAU,CAAC,aAAa,CAAC,YAAY;YACrC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;YAChG,UAAU,CAAC,aAAa,CAAC,gBAAgB;YACzC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACpD,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAClG,CAAC;IACN,CAAC;IAGD,YAAa,MAAuB;QAChC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACxD,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACzC,CAAC;IAGM,KAAK,CAAC,OAAO;QAChB,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;CAGJ;AAED,MAAM,CAAC,MAAM,OAAO,GAAiC;IACjD,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,EAAE;IACX,aAAa,EAAE,EAAE;CACpB,CAAC"}
@@ -1,7 +1,6 @@
1
- /// <reference path="../../../abandonware-noble.d.ts" />
2
- import { Peripheral } from "@abandonware/noble";
3
- import { IBLEAbstraction } from "../interfaces";
4
- import { LPF2Hub } from "./lpf2hub";
1
+ import { Peripheral } from "@stoprocent/noble";
2
+ import { IBLEAbstraction } from "../interfaces.js";
3
+ import { LPF2Hub } from "./lpf2hub.js";
5
4
  /**
6
5
  * The Hub is emitted if the discovered device is a Hub.
7
6
  * @class Hub
@@ -18,3 +17,4 @@ export declare class Hub extends LPF2Hub {
18
17
  export declare const PortMap: {
19
18
  [portName: string]: number;
20
19
  };
20
+ //# sourceMappingURL=hub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/hubs/hub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQvC;;;;;GAKG;AACH,qBAAa,GAAI,SAAQ,OAAO;WAGd,KAAK,CAAE,UAAU,EAAE,UAAU;IAW3C,SAAS,CAAC,YAAY,SAAQ;gBAEjB,MAAM,EAAE,eAAe;IAMvB,OAAO;IAOpB,SAAS,CAAC,cAAc,CAAE,OAAO,EAAE,MAAM;CAO5C;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAMhD,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { compareVersions } from "compare-versions";
2
+ import { LPF2Hub } from "./lpf2hub.js";
3
+ import * as Consts from "../consts.js";
4
+ import Debug from "debug";
5
+ const debug = Debug("hub");
6
+ /**
7
+ * The Hub is emitted if the discovered device is a Hub.
8
+ * @class Hub
9
+ * @extends LPF2Hub
10
+ * @extends BaseHub
11
+ */
12
+ export class Hub extends LPF2Hub {
13
+ static IsHub(peripheral) {
14
+ return (peripheral.advertisement &&
15
+ peripheral.advertisement.serviceUuids &&
16
+ peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
17
+ peripheral.advertisement.manufacturerData &&
18
+ peripheral.advertisement.manufacturerData.length > 3 &&
19
+ peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.HUB_ID);
20
+ }
21
+ constructor(device) {
22
+ super(device, PortMap, Consts.HubType.HUB);
23
+ this._currentPort = 0x3b;
24
+ debug("Discovered Powered UP Hub");
25
+ }
26
+ async connect() {
27
+ debug("Connecting to Powered UP Hub");
28
+ await super.connect();
29
+ debug("Connect completed");
30
+ }
31
+ _checkFirmware(version) {
32
+ if (compareVersions("1.1.00.0004", version) === 1) {
33
+ throw new Error(`Your Powered Up Hub's (${this.name}) firmware is out of date and unsupported by this library. Please update it via the official Powered Up app.`);
34
+ }
35
+ }
36
+ }
37
+ export const PortMap = {
38
+ "A": 0,
39
+ "B": 1,
40
+ "HUB_LED": 50,
41
+ "CURRENT_SENSOR": 59,
42
+ "VOLTAGE_SENSOR": 60
43
+ };
44
+ //# sourceMappingURL=hub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/hubs/hub.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAG3B;;;;;GAKG;AACH,MAAM,OAAO,GAAI,SAAQ,OAAO;IAGrB,MAAM,CAAC,KAAK,CAAE,UAAsB;QACvC,OAAO,CACH,UAAU,CAAC,aAAa;YACxB,UAAU,CAAC,aAAa,CAAC,YAAY;YACrC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;YAChG,UAAU,CAAC,aAAa,CAAC,gBAAgB;YACzC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACpD,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,mBAAmB,CAAC,MAAM,CACrF,CAAC;IACN,CAAC;IAID,YAAa,MAAuB;QAChC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAHrC,iBAAY,GAAG,IAAI,CAAC;QAI1B,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACvC,CAAC;IAGM,KAAK,CAAC,OAAO;QAChB,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IAGS,cAAc,CAAE,OAAe;QACrC,IAAI,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,IAAI,8GAA8G,CAAC,CAAC;QACvK,CAAC;IACL,CAAC;CAGJ;AAED,MAAM,CAAC,MAAM,OAAO,GAAiC;IACjD,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;CACvB,CAAC"}
@@ -1,5 +1,4 @@
1
- /// <reference types="node" />
2
- import { BaseHub } from "./basehub";
1
+ import { BaseHub } from "./basehub.js";
3
2
  /**
4
3
  * @class LPF2Hub
5
4
  * @extends BaseHub
@@ -10,13 +9,11 @@ export declare class LPF2Hub extends BaseHub {
10
9
  connect(): Promise<void>;
11
10
  /**
12
11
  * Shutdown the Hub.
13
- * @method LPF2Hub#shutdown
14
12
  * @returns {Promise} Resolved upon successful disconnect.
15
13
  */
16
14
  shutdown(): Promise<void>;
17
15
  /**
18
16
  * Set the name of the Hub.
19
- * @method LPF2Hub#setName
20
17
  * @param {string} name New name of the hub (14 characters or less, ASCII only).
21
18
  * @returns {Promise} Resolved upon successful issuance of command.
22
19
  */
@@ -28,7 +25,6 @@ export declare class LPF2Hub extends BaseHub {
28
25
  * Combines two ports with into a single virtual port.
29
26
  *
30
27
  * Note: The devices attached to the ports must be of the same device type.
31
- * @method LPF2Hub#createVirtualPort
32
28
  * @param {string} firstPortName First port name
33
29
  * @param {string} secondPortName Second port name
34
30
  * @returns {Promise} Resolved upon successful issuance of command.
@@ -46,4 +42,6 @@ export declare class LPF2Hub extends BaseHub {
46
42
  private _parseModeInformationResponse;
47
43
  private _parsePortAction;
48
44
  private _parseSensorMessage;
45
+ private _parsePortInputFormatMessage;
49
46
  }
47
+ //# sourceMappingURL=lpf2hub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lpf2hub.d.ts","sourceRoot":"","sources":["../../src/hubs/lpf2hub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAWvC;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,OAAO;IAEhC,OAAO,CAAC,cAAc,CAA2B;IAEjD,OAAO,CAAC,yBAAyB,CAAsD;IAG1E,OAAO;IAgBpB;;;OAGG;IACI,QAAQ;IAKf;;;;OAIG;IACU,OAAO,CAAE,IAAI,EAAE,MAAM;IAa3B,IAAI,CAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQnC,SAAS,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAK3D,WAAW,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAKhD;;;;;;;OAOG;IACI,iBAAiB,CAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAgBvE,SAAS,CAAC,cAAc,CAAE,OAAO,EAAE,MAAM;IAKzC,OAAO,CAAC,aAAa;IAgErB,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,yBAAyB;YA2CnB,iBAAiB;YAgDjB,2BAA2B;YAM3B,6BAA6B;IA0B3C,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,6BAA6B;IA6BrC,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,4BAA4B;CAQvC"}