node-poweredup 10.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 (313) hide show
  1. package/README.md +0 -1
  2. package/dist/browser/poweredup.js +6193 -0
  3. package/dist/browser/poweredup.js.map +7 -0
  4. package/dist/consts.d.ts +40 -0
  5. package/dist/consts.d.ts.map +1 -1
  6. package/dist/consts.js +42 -0
  7. package/dist/consts.js.map +1 -1
  8. package/dist/devices/absolutemotor.d.ts +8 -6
  9. package/dist/devices/absolutemotor.d.ts.map +1 -1
  10. package/dist/devices/absolutemotor.js +24 -31
  11. package/dist/devices/absolutemotor.js.map +1 -1
  12. package/dist/devices/basicmotor.d.ts +11 -10
  13. package/dist/devices/basicmotor.d.ts.map +1 -1
  14. package/dist/devices/basicmotor.js +16 -22
  15. package/dist/devices/basicmotor.js.map +1 -1
  16. package/dist/devices/colordistancesensor.d.ts +13 -12
  17. package/dist/devices/colordistancesensor.d.ts.map +1 -1
  18. package/dist/devices/colordistancesensor.js +25 -31
  19. package/dist/devices/colordistancesensor.js.map +1 -1
  20. package/dist/devices/device.d.ts +15 -6
  21. package/dist/devices/device.d.ts.map +1 -1
  22. package/dist/devices/device.js +209 -21
  23. package/dist/devices/device.js.map +1 -1
  24. package/dist/devices/duplotrainbasespeaker.d.ts +4 -4
  25. package/dist/devices/duplotrainbasespeaker.d.ts.map +1 -1
  26. package/dist/devices/duplotrainbasespeaker.js +5 -8
  27. package/dist/devices/duplotrainbasespeaker.js.map +1 -1
  28. package/dist/devices/hubled.d.ts +5 -4
  29. package/dist/devices/hubled.d.ts.map +1 -1
  30. package/dist/devices/hubled.js +24 -24
  31. package/dist/devices/hubled.js.map +1 -1
  32. package/dist/devices/light.d.ts +7 -4
  33. package/dist/devices/light.d.ts.map +1 -1
  34. package/dist/devices/light.js +11 -17
  35. package/dist/devices/light.js.map +1 -1
  36. package/dist/devices/piezobuzzer.d.ts +3 -2
  37. package/dist/devices/piezobuzzer.d.ts.map +1 -1
  38. package/dist/devices/piezobuzzer.js +2 -2
  39. package/dist/devices/piezobuzzer.js.map +1 -1
  40. package/dist/devices/tachomotor.d.ts +14 -8
  41. package/dist/devices/tachomotor.d.ts.map +1 -1
  42. package/dist/devices/tachomotor.js +50 -56
  43. package/dist/devices/tachomotor.js.map +1 -1
  44. package/dist/devices/technic3x3colorlightmatrix.d.ts +3 -2
  45. package/dist/devices/technic3x3colorlightmatrix.d.ts.map +1 -1
  46. package/dist/devices/technic3x3colorlightmatrix.js +20 -23
  47. package/dist/devices/technic3x3colorlightmatrix.js.map +1 -1
  48. package/dist/devices/techniccolorsensor.d.ts +9 -4
  49. package/dist/devices/techniccolorsensor.d.ts.map +1 -1
  50. package/dist/devices/techniccolorsensor.js +99 -8
  51. package/dist/devices/techniccolorsensor.js.map +1 -1
  52. package/dist/devices/technicdistancesensor.d.ts +1 -1
  53. package/dist/devices/technicdistancesensor.js +1 -1
  54. package/dist/devices/technicmediumhubtiltsensor.d.ts +7 -6
  55. package/dist/devices/technicmediumhubtiltsensor.d.ts.map +1 -1
  56. package/dist/devices/technicmediumhubtiltsensor.js +9 -18
  57. package/dist/devices/technicmediumhubtiltsensor.js.map +1 -1
  58. package/dist/devices/tiltsensor.d.ts +4 -1
  59. package/dist/devices/tiltsensor.d.ts.map +1 -1
  60. package/dist/devices/tiltsensor.js +84 -3
  61. package/dist/devices/tiltsensor.js.map +1 -1
  62. package/dist/hubs/basehub.d.ts +1 -0
  63. package/dist/hubs/basehub.d.ts.map +1 -1
  64. package/dist/hubs/basehub.js +17 -0
  65. package/dist/hubs/basehub.js.map +1 -1
  66. package/dist/hubs/lpf2hub.d.ts +1 -0
  67. package/dist/hubs/lpf2hub.d.ts.map +1 -1
  68. package/dist/hubs/lpf2hub.js +11 -0
  69. package/dist/hubs/lpf2hub.js.map +1 -1
  70. package/dist/portoutputcommand.d.ts +13 -0
  71. package/dist/portoutputcommand.d.ts.map +1 -0
  72. package/dist/portoutputcommand.js +30 -0
  73. package/dist/portoutputcommand.js.map +1 -0
  74. package/dist/portoutputsleep.d.ts +6 -0
  75. package/dist/portoutputsleep.d.ts.map +1 -0
  76. package/dist/portoutputsleep.js +10 -0
  77. package/dist/portoutputsleep.js.map +1 -0
  78. package/dist/utils.d.ts +1 -3
  79. package/dist/utils.d.ts.map +1 -1
  80. package/dist/utils.js +13 -19
  81. package/dist/utils.js.map +1 -1
  82. package/package.json +1 -1
  83. package/src/consts.ts +44 -0
  84. package/src/devices/absolutemotor.ts +24 -31
  85. package/src/devices/basicmotor.ts +16 -22
  86. package/src/devices/colordistancesensor.ts +23 -29
  87. package/src/devices/device.ts +198 -20
  88. package/src/devices/duplotrainbasespeaker.ts +5 -8
  89. package/src/devices/hubled.ts +22 -22
  90. package/src/devices/light.ts +11 -18
  91. package/src/devices/piezobuzzer.ts +3 -3
  92. package/src/devices/tachomotor.ts +47 -53
  93. package/src/devices/technic3x3colorlightmatrix.ts +20 -23
  94. package/src/devices/techniccolorsensor.ts +102 -10
  95. package/src/devices/technicdistancesensor.ts +1 -1
  96. package/src/devices/technicmediumhubtiltsensor.ts +9 -18
  97. package/src/devices/tiltsensor.ts +85 -5
  98. package/src/hubs/basehub.ts +18 -0
  99. package/src/hubs/lpf2hub.ts +12 -5
  100. package/src/portoutputcommand.ts +37 -0
  101. package/src/portoutputsleep.ts +11 -0
  102. package/src/utils.ts +14 -19
  103. package/tsconfig.tsbuildinfo +1 -1
  104. package/webpack.config.cjs +35 -0
  105. package/dist/node/color.d.ts +0 -6
  106. package/dist/node/color.js +0 -15
  107. package/dist/node/color.js.map +0 -1
  108. package/dist/node/commands.d.ts +0 -299
  109. package/dist/node/commands.js +0 -672
  110. package/dist/node/commands.js.map +0 -1
  111. package/dist/node/connection.d.ts +0 -187
  112. package/dist/node/connection.js +0 -478
  113. package/dist/node/connection.js.map +0 -1
  114. package/dist/node/consts.d.ts +0 -644
  115. package/dist/node/consts.js +0 -675
  116. package/dist/node/consts.js.map +0 -1
  117. package/dist/node/devices/absolutemotor.d.ts +0 -43
  118. package/dist/node/devices/absolutemotor.js +0 -118
  119. package/dist/node/devices/absolutemotor.js.map +0 -1
  120. package/dist/node/devices/basicmotor.d.ts +0 -40
  121. package/dist/node/devices/basicmotor.js +0 -61
  122. package/dist/node/devices/basicmotor.js.map +0 -1
  123. package/dist/node/devices/colordistancesensor.d.ts +0 -79
  124. package/dist/node/devices/colordistancesensor.js +0 -284
  125. package/dist/node/devices/colordistancesensor.js.map +0 -1
  126. package/dist/node/devices/currentsensor.d.ts +0 -16
  127. package/dist/node/devices/currentsensor.js +0 -55
  128. package/dist/node/devices/currentsensor.js.map +0 -1
  129. package/dist/node/devices/device.d.ts +0 -71
  130. package/dist/node/devices/device.js +0 -162
  131. package/dist/node/devices/device.js.map +0 -1
  132. package/dist/node/devices/duplotrainbasecolorsensor.d.ts +0 -19
  133. package/dist/node/devices/duplotrainbasecolorsensor.js +0 -77
  134. package/dist/node/devices/duplotrainbasecolorsensor.js.map +0 -1
  135. package/dist/node/devices/duplotrainbasemotor.d.ts +0 -9
  136. package/dist/node/devices/duplotrainbasemotor.js +0 -12
  137. package/dist/node/devices/duplotrainbasemotor.js.map +0 -1
  138. package/dist/node/devices/duplotrainbasespeaker.d.ts +0 -28
  139. package/dist/node/devices/duplotrainbasespeaker.js +0 -40
  140. package/dist/node/devices/duplotrainbasespeaker.js.map +0 -1
  141. package/dist/node/devices/duplotrainbasespeedometer.d.ts +0 -16
  142. package/dist/node/devices/duplotrainbasespeedometer.js +0 -34
  143. package/dist/node/devices/duplotrainbasespeedometer.js.map +0 -1
  144. package/dist/node/devices/hubled.d.ts +0 -29
  145. package/dist/node/devices/hubled.js +0 -60
  146. package/dist/node/devices/hubled.js.map +0 -1
  147. package/dist/node/devices/index.d.ts +0 -14
  148. package/dist/node/devices/index.js +0 -154
  149. package/dist/node/devices/index.js.map +0 -1
  150. package/dist/node/devices/led.d.ts +0 -140
  151. package/dist/node/devices/led.js +0 -295
  152. package/dist/node/devices/led.js.map +0 -1
  153. package/dist/node/devices/light.d.ts +0 -25
  154. package/dist/node/devices/light.js +0 -46
  155. package/dist/node/devices/light.js.map +0 -1
  156. package/dist/node/devices/marioaccelerometer.d.ts +0 -17
  157. package/dist/node/devices/marioaccelerometer.js +0 -50
  158. package/dist/node/devices/marioaccelerometer.js.map +0 -1
  159. package/dist/node/devices/mariobarcodesensor.d.ts +0 -17
  160. package/dist/node/devices/mariobarcodesensor.js +0 -58
  161. package/dist/node/devices/mariobarcodesensor.js.map +0 -1
  162. package/dist/node/devices/mariopantssensor.d.ts +0 -16
  163. package/dist/node/devices/mariopantssensor.js +0 -34
  164. package/dist/node/devices/mariopantssensor.js.map +0 -1
  165. package/dist/node/devices/mediumlinearmotor.d.ts +0 -9
  166. package/dist/node/devices/mediumlinearmotor.js +0 -12
  167. package/dist/node/devices/mediumlinearmotor.js.map +0 -1
  168. package/dist/node/devices/motionsensor.d.ts +0 -16
  169. package/dist/node/devices/motionsensor.js +0 -38
  170. package/dist/node/devices/motionsensor.js.map +0 -1
  171. package/dist/node/devices/motor.d.ts +0 -182
  172. package/dist/node/devices/motor.js +0 -367
  173. package/dist/node/devices/motor.js.map +0 -1
  174. package/dist/node/devices/movehubmediumlinearmotor.d.ts +0 -9
  175. package/dist/node/devices/movehubmediumlinearmotor.js +0 -12
  176. package/dist/node/devices/movehubmediumlinearmotor.js.map +0 -1
  177. package/dist/node/devices/movehubtiltsensor.d.ts +0 -16
  178. package/dist/node/devices/movehubtiltsensor.js +0 -36
  179. package/dist/node/devices/movehubtiltsensor.js.map +0 -1
  180. package/dist/node/devices/piezobuzzer.d.ts +0 -17
  181. package/dist/node/devices/piezobuzzer.js +0 -28
  182. package/dist/node/devices/piezobuzzer.js.map +0 -1
  183. package/dist/node/devices/remotecontrolbutton.d.ts +0 -19
  184. package/dist/node/devices/remotecontrolbutton.js +0 -40
  185. package/dist/node/devices/remotecontrolbutton.js.map +0 -1
  186. package/dist/node/devices/sensor.d.ts +0 -305
  187. package/dist/node/devices/sensor.js +0 -662
  188. package/dist/node/devices/sensor.js.map +0 -1
  189. package/dist/node/devices/simplemediumlinearmotor.d.ts +0 -9
  190. package/dist/node/devices/simplemediumlinearmotor.js +0 -12
  191. package/dist/node/devices/simplemediumlinearmotor.js.map +0 -1
  192. package/dist/node/devices/tachomotor.d.ts +0 -70
  193. package/dist/node/devices/tachomotor.js +0 -167
  194. package/dist/node/devices/tachomotor.js.map +0 -1
  195. package/dist/node/devices/technic3x3colorlightmatrix.d.ts +0 -22
  196. package/dist/node/devices/technic3x3colorlightmatrix.js +0 -54
  197. package/dist/node/devices/technic3x3colorlightmatrix.js.map +0 -1
  198. package/dist/node/devices/techniccolorsensor.d.ts +0 -27
  199. package/dist/node/devices/techniccolorsensor.js +0 -72
  200. package/dist/node/devices/techniccolorsensor.js.map +0 -1
  201. package/dist/node/devices/technicdistancesensor.d.ts +0 -27
  202. package/dist/node/devices/technicdistancesensor.js +0 -58
  203. package/dist/node/devices/technicdistancesensor.js.map +0 -1
  204. package/dist/node/devices/technicforcesensor.d.ts +0 -18
  205. package/dist/node/devices/technicforcesensor.js +0 -58
  206. package/dist/node/devices/technicforcesensor.js.map +0 -1
  207. package/dist/node/devices/techniclargeangularmotor.d.ts +0 -12
  208. package/dist/node/devices/techniclargeangularmotor.js +0 -12
  209. package/dist/node/devices/techniclargeangularmotor.js.map +0 -1
  210. package/dist/node/devices/techniclargelinearmotor.d.ts +0 -9
  211. package/dist/node/devices/techniclargelinearmotor.js +0 -12
  212. package/dist/node/devices/techniclargelinearmotor.js.map +0 -1
  213. package/dist/node/devices/technicmediumangularmotor.d.ts +0 -12
  214. package/dist/node/devices/technicmediumangularmotor.js +0 -12
  215. package/dist/node/devices/technicmediumangularmotor.js.map +0 -1
  216. package/dist/node/devices/technicmediumhubaccelerometersensor.d.ts +0 -16
  217. package/dist/node/devices/technicmediumhubaccelerometersensor.js +0 -38
  218. package/dist/node/devices/technicmediumhubaccelerometersensor.js.map +0 -1
  219. package/dist/node/devices/technicmediumhubgyrosensor.d.ts +0 -16
  220. package/dist/node/devices/technicmediumhubgyrosensor.js +0 -38
  221. package/dist/node/devices/technicmediumhubgyrosensor.js.map +0 -1
  222. package/dist/node/devices/technicmediumhubtiltsensor.d.ts +0 -40
  223. package/dist/node/devices/technicmediumhubtiltsensor.js +0 -106
  224. package/dist/node/devices/technicmediumhubtiltsensor.js.map +0 -1
  225. package/dist/node/devices/technicsmallangularmotor.d.ts +0 -12
  226. package/dist/node/devices/technicsmallangularmotor.js +0 -12
  227. package/dist/node/devices/technicsmallangularmotor.js.map +0 -1
  228. package/dist/node/devices/technicxlargelinearmotor.d.ts +0 -9
  229. package/dist/node/devices/technicxlargelinearmotor.js +0 -12
  230. package/dist/node/devices/technicxlargelinearmotor.js.map +0 -1
  231. package/dist/node/devices/tiltsensor.d.ts +0 -16
  232. package/dist/node/devices/tiltsensor.js +0 -36
  233. package/dist/node/devices/tiltsensor.js.map +0 -1
  234. package/dist/node/devices/trainmotor.d.ts +0 -9
  235. package/dist/node/devices/trainmotor.js +0 -12
  236. package/dist/node/devices/trainmotor.js.map +0 -1
  237. package/dist/node/devices/voltagesensor.d.ts +0 -16
  238. package/dist/node/devices/voltagesensor.js +0 -59
  239. package/dist/node/devices/voltagesensor.js.map +0 -1
  240. package/dist/node/hub.d.ts +0 -291
  241. package/dist/node/hub.js +0 -778
  242. package/dist/node/hub.js.map +0 -1
  243. package/dist/node/hubs/basehub.d.ts +0 -162
  244. package/dist/node/hubs/basehub.js +0 -392
  245. package/dist/node/hubs/basehub.js.map +0 -1
  246. package/dist/node/hubs/duplotrainbase.d.ts +0 -17
  247. package/dist/node/hubs/duplotrainbase.js +0 -35
  248. package/dist/node/hubs/duplotrainbase.js.map +0 -1
  249. package/dist/node/hubs/hub.d.ts +0 -19
  250. package/dist/node/hubs/hub.js +0 -44
  251. package/dist/node/hubs/hub.js.map +0 -1
  252. package/dist/node/hubs/lpf2hub.d.ts +0 -48
  253. package/dist/node/hubs/lpf2hub.js +0 -314
  254. package/dist/node/hubs/lpf2hub.js.map +0 -1
  255. package/dist/node/hubs/mario.d.ts +0 -17
  256. package/dist/node/hubs/mario.js +0 -31
  257. package/dist/node/hubs/mario.js.map +0 -1
  258. package/dist/node/hubs/movehub.d.ts +0 -18
  259. package/dist/node/hubs/movehub.js +0 -46
  260. package/dist/node/hubs/movehub.js.map +0 -1
  261. package/dist/node/hubs/remotecontrol.d.ts +0 -17
  262. package/dist/node/hubs/remotecontrol.js +0 -37
  263. package/dist/node/hubs/remotecontrol.js.map +0 -1
  264. package/dist/node/hubs/technicmediumhub.d.ts +0 -17
  265. package/dist/node/hubs/technicmediumhub.js +0 -42
  266. package/dist/node/hubs/technicmediumhub.js.map +0 -1
  267. package/dist/node/hubs/technicsmallhub.d.ts +0 -18
  268. package/dist/node/hubs/technicsmallhub.js +0 -41
  269. package/dist/node/hubs/technicsmallhub.js.map +0 -1
  270. package/dist/node/hubs/wedo2smarthub.d.ts +0 -40
  271. package/dist/node/hubs/wedo2smarthub.js +0 -188
  272. package/dist/node/hubs/wedo2smarthub.js.map +0 -1
  273. package/dist/node/index-browser.d.ts +0 -1
  274. package/dist/node/index-browser.js +0 -96
  275. package/dist/node/index-browser.js.map +0 -1
  276. package/dist/node/index-node.d.ts +0 -49
  277. package/dist/node/index-node.js +0 -50
  278. package/dist/node/index-node.js.map +0 -1
  279. package/dist/node/index.d.ts +0 -31
  280. package/dist/node/index.js +0 -93
  281. package/dist/node/index.js.map +0 -1
  282. package/dist/node/index.mjs +0 -0
  283. package/dist/node/interfaces.d.ts +0 -23
  284. package/dist/node/interfaces.js +0 -2
  285. package/dist/node/interfaces.js.map +0 -1
  286. package/dist/node/nobleabstraction.d.ts +0 -26
  287. package/dist/node/nobleabstraction.js +0 -123
  288. package/dist/node/nobleabstraction.js.map +0 -1
  289. package/dist/node/poweredup-browser.d.ts +0 -50
  290. package/dist/node/poweredup-browser.js +0 -216
  291. package/dist/node/poweredup-browser.js.map +0 -1
  292. package/dist/node/poweredup-node.d.ts +0 -54
  293. package/dist/node/poweredup-node.js +0 -173
  294. package/dist/node/poweredup-node.js.map +0 -1
  295. package/dist/node/poweredup.d.ts +0 -83
  296. package/dist/node/poweredup.js +0 -542
  297. package/dist/node/poweredup.js.map +0 -1
  298. package/dist/node/protocol-wedo.d.ts +0 -158
  299. package/dist/node/protocol-wedo.js +0 -342
  300. package/dist/node/protocol-wedo.js.map +0 -1
  301. package/dist/node/protocol.d.ts +0 -340
  302. package/dist/node/protocol.js +0 -730
  303. package/dist/node/protocol.js.map +0 -1
  304. package/dist/node/types.d.ts +0 -408
  305. package/dist/node/types.js +0 -291
  306. package/dist/node/types.js.map +0 -1
  307. package/dist/node/utils.d.ts +0 -12
  308. package/dist/node/utils.js +0 -90
  309. package/dist/node/utils.js.map +0 -1
  310. package/dist/node/webbleabstraction.d.ts +0 -26
  311. package/dist/node/webbleabstraction.js +0 -104
  312. package/dist/node/webbleabstraction.js.map +0 -1
  313. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,173 +0,0 @@
1
- import { NobleDevice } from "./nobleabstraction";
2
- import { DuploTrainBase } from "./hubs/duplotrainbase";
3
- import { Hub } from "./hubs/hub";
4
- import { Mario } from "./hubs/mario";
5
- import { MoveHub } from "./hubs/movehub";
6
- import { RemoteControl } from "./hubs/remotecontrol";
7
- import { TechnicMediumHub } from "./hubs/technicmediumhub";
8
- import { WeDo2SmartHub } from "./hubs/wedo2smarthub";
9
- import * as Consts from "./consts";
10
- import { EventEmitter } from "events";
11
- import Debug from "debug";
12
- const debug = Debug("poweredup");
13
- import noble from "@stoprocent/noble";
14
- import { TechnicSmallHub } from "./hubs/technicsmallhub";
15
- let ready = false;
16
- let wantScan = false;
17
- const startScanning = () => {
18
- noble.startScanning([
19
- Consts.BLEService.LPF2_HUB,
20
- Consts.BLEService.LPF2_HUB.replace(/-/g, ""),
21
- Consts.BLEService.WEDO2_SMART_HUB,
22
- Consts.BLEService.WEDO2_SMART_HUB.replace(/-/g, "")
23
- ]);
24
- };
25
- noble.on("stateChange", (state) => {
26
- ready = (state === "poweredOn");
27
- if (ready) {
28
- if (wantScan) {
29
- debug("Scanning started");
30
- startScanning();
31
- }
32
- noble.on('scanStop', () => {
33
- setTimeout(() => {
34
- startScanning();
35
- }, 1000);
36
- });
37
- }
38
- else {
39
- noble.stopScanning();
40
- }
41
- });
42
- /**
43
- * @class PoweredUP
44
- * @extends EventEmitter
45
- */
46
- export class PoweredUP extends EventEmitter {
47
- constructor() {
48
- super();
49
- this._connectedHubs = {};
50
- this._discoveryEventHandler = this._discoveryEventHandler.bind(this);
51
- }
52
- /**
53
- * Begin scanning for Powered UP Hub devices.
54
- * @method PoweredUP#scan
55
- */
56
- async scan() {
57
- wantScan = true;
58
- // @ts-ignore
59
- noble.on("discover", this._discoveryEventHandler);
60
- if (ready) {
61
- debug("Scanning started");
62
- startScanning();
63
- }
64
- return true;
65
- }
66
- /**
67
- * Stop scanning for Powered UP Hub devices.
68
- * @method PoweredUP#stop
69
- */
70
- stop() {
71
- wantScan = false;
72
- // @ts-ignore
73
- noble.removeListener("discover", this._discoveryEventHandler);
74
- noble.stopScanning();
75
- }
76
- /**
77
- * Retrieve a list of Powered UP Hubs.
78
- * @method PoweredUP#getHubs
79
- * @returns {BaseHub[]}
80
- */
81
- getHubs() {
82
- return Object.values(this._connectedHubs);
83
- }
84
- /**
85
- * Retrieve a Powered UP Hub by UUID.
86
- * @method PoweredUP#getHubByUUID
87
- * @param {string} uuid
88
- * @returns {BaseHub | null}
89
- */
90
- getHubByUUID(uuid) {
91
- return this._connectedHubs[uuid];
92
- }
93
- /**
94
- * Retrieve a Powered UP Hub by primary MAC address.
95
- * @method PoweredUP#getHubByPrimaryMACAddress
96
- * @param {string} address
97
- * @returns {BaseHub}
98
- */
99
- getHubByPrimaryMACAddress(address) {
100
- return Object.values(this._connectedHubs).filter((hub) => hub.primaryMACAddress === address)[0];
101
- }
102
- /**
103
- * Retrieve a list of Powered UP Hub by name.
104
- * @method PoweredUP#getHubsByName
105
- * @param {string} name
106
- * @returns {BaseHub[]}
107
- */
108
- getHubsByName(name) {
109
- return Object.values(this._connectedHubs).filter((hub) => hub.name === name);
110
- }
111
- /**
112
- * Retrieve a list of Powered UP Hub by type.
113
- * @method PoweredUP#getHubsByType
114
- * @param {string} name
115
- * @returns {BaseHub[]}
116
- */
117
- getHubsByType(hubType) {
118
- return Object.values(this._connectedHubs).filter((hub) => hub.type === hubType);
119
- }
120
- async _discoveryEventHandler(peripheral) {
121
- peripheral.removeAllListeners();
122
- const device = new NobleDevice(peripheral);
123
- let hub;
124
- if (WeDo2SmartHub.IsWeDo2SmartHub(peripheral)) {
125
- hub = new WeDo2SmartHub(device);
126
- }
127
- else if (MoveHub.IsMoveHub(peripheral)) {
128
- hub = new MoveHub(device);
129
- }
130
- else if (Hub.IsHub(peripheral)) {
131
- hub = new Hub(device);
132
- }
133
- else if (RemoteControl.IsRemoteControl(peripheral)) {
134
- hub = new RemoteControl(device);
135
- }
136
- else if (DuploTrainBase.IsDuploTrainBase(peripheral)) {
137
- hub = new DuploTrainBase(device);
138
- }
139
- else if (TechnicSmallHub.IsTechnicSmallHub(peripheral)) {
140
- hub = new TechnicSmallHub(device);
141
- }
142
- else if (TechnicMediumHub.IsTechnicMediumHub(peripheral)) {
143
- hub = new TechnicMediumHub(device);
144
- }
145
- else if (Mario.IsMario(peripheral)) {
146
- hub = new Mario(device);
147
- }
148
- else {
149
- return;
150
- }
151
- device.on("discoverComplete", () => {
152
- hub.on("connect", () => {
153
- debug(`Hub ${hub.uuid} connected`);
154
- this._connectedHubs[hub.uuid] = hub;
155
- });
156
- hub.on("disconnect", () => {
157
- debug(`Hub ${hub.uuid} disconnected`);
158
- delete this._connectedHubs[hub.uuid];
159
- if (wantScan) {
160
- startScanning();
161
- }
162
- });
163
- debug(`Hub ${hub.uuid} discovered`);
164
- /**
165
- * Emits when a Powered UP Hub device is found.
166
- * @event PoweredUP#discover
167
- * @param {WeDo2SmartHub | MoveHub | TechnicMediumHub | RemoteControl | DuploTrainBase} hub
168
- */
169
- this.emit("discover", hub);
170
- });
171
- }
172
- }
173
- //# sourceMappingURL=poweredup-node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poweredup-node.js","sourceRoot":"","sources":["../../src/poweredup-node.ts"],"names":[],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- /**
2
- * PoweredUp - Main scanner class for discovering LEGO Powered UP hubs
3
- *
4
- * Uses @stoprocent/noble for BLE scanning on Node.js
5
- */
6
- import { EventEmitter } from "events";
7
- import { HubType } from "./types";
8
- import { BaseHub } from "./hub";
9
- export interface PoweredUpEventMap {
10
- discover: (hub: BaseHub) => void;
11
- error: (error: Error) => void;
12
- }
13
- /**
14
- * PoweredUp scanner - discovers LEGO Powered UP hubs via BLE
15
- */
16
- export declare class PoweredUp extends EventEmitter {
17
- private _noble;
18
- private _isScanning;
19
- private _discoveredHubs;
20
- private _connectedHubs;
21
- constructor();
22
- /**
23
- * Check if currently scanning
24
- */
25
- get isScanning(): boolean;
26
- /**
27
- * Get all discovered hubs
28
- */
29
- get discoveredHubs(): BaseHub[];
30
- /**
31
- * Get all connected hubs
32
- */
33
- get connectedHubs(): BaseHub[];
34
- /**
35
- * Start scanning for hubs
36
- */
37
- scan(): Promise<void>;
38
- /**
39
- * Stop scanning for hubs
40
- */
41
- stop(): void;
42
- /**
43
- * Get a hub by ID
44
- */
45
- getHub(id: string): BaseHub | undefined;
46
- /**
47
- * Get hubs by type
48
- */
49
- getHubsByType(hubType: HubType): BaseHub[];
50
- on<K extends keyof PoweredUpEventMap>(event: K, listener: PoweredUpEventMap[K]): this;
51
- once<K extends keyof PoweredUpEventMap>(event: K, listener: PoweredUpEventMap[K]): this;
52
- emit<K extends keyof PoweredUpEventMap>(event: K, ...args: Parameters<PoweredUpEventMap[K]>): boolean;
53
- private _initNoble;
54
- private _startScanning;
55
- private _handleDiscover;
56
- private _detectHubTypeFromAdvertisement;
57
- private _hubTypeFromByte;
58
- private _createBLEPeripheral;
59
- private _setupHubEvents;
60
- }
61
- /**
62
- * PoweredUp scanner for Web Bluetooth (browser)
63
- */
64
- export declare class PoweredUpWeb extends EventEmitter {
65
- private _discoveredHubs;
66
- private _connectedHubs;
67
- constructor();
68
- /**
69
- * Get all connected hubs
70
- */
71
- get connectedHubs(): BaseHub[];
72
- /**
73
- * Request a hub via Web Bluetooth (opens browser's device picker)
74
- */
75
- requestHub(): Promise<BaseHub>;
76
- private _detectHubType;
77
- private _createWebBLEPeripheral;
78
- private _wrapWebCharacteristic;
79
- private _setupHubEvents;
80
- on<K extends keyof PoweredUpEventMap>(event: K, listener: PoweredUpEventMap[K]): this;
81
- once<K extends keyof PoweredUpEventMap>(event: K, listener: PoweredUpEventMap[K]): this;
82
- emit<K extends keyof PoweredUpEventMap>(event: K, ...args: Parameters<PoweredUpEventMap[K]>): boolean;
83
- }