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,60 +0,0 @@
1
- import { Device } from "./device";
2
- import * as Consts from "../consts";
3
- /**
4
- * @class HubLED
5
- * @extends Device
6
- */
7
- export class HubLED extends Device {
8
- constructor(hub, portId) {
9
- super(hub, portId, {}, Consts.DeviceType.HUB_LED);
10
- }
11
- /**
12
- * Set the color of the LED on the Hub via a color value.
13
- * @method HubLED#setColor
14
- * @param {Color} color
15
- * @returns {Promise} Resolved upon successful issuance of the command.
16
- */
17
- setColor(color) {
18
- return new Promise((resolve) => {
19
- if (typeof color === "boolean") {
20
- color = 0;
21
- }
22
- if (this.isWeDo2SmartHub) {
23
- this.send(Buffer.from([0x06, 0x17, 0x01, 0x01]), Consts.BLECharacteristic.WEDO2_PORT_TYPE_WRITE);
24
- this.send(Buffer.from([0x06, 0x04, 0x01, color]), Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE);
25
- }
26
- else {
27
- this.subscribe(Mode.COLOR);
28
- this.writeDirect(0x00, Buffer.from([color]));
29
- }
30
- return resolve();
31
- });
32
- }
33
- /**
34
- * Set the color of the LED on the Hub via RGB values.
35
- * @method HubLED#setRGB
36
- * @param {number} red
37
- * @param {number} green
38
- * @param {number} blue
39
- * @returns {Promise} Resolved upon successful issuance of the command.
40
- */
41
- setRGB(red, green, blue) {
42
- return new Promise((resolve) => {
43
- if (this.isWeDo2SmartHub) {
44
- this.send(Buffer.from([0x06, 0x17, 0x01, 0x02]), Consts.BLECharacteristic.WEDO2_PORT_TYPE_WRITE);
45
- this.send(Buffer.from([0x06, 0x04, 0x03, red, green, blue]), Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE);
46
- }
47
- else {
48
- this.subscribe(Mode.RGB);
49
- this.writeDirect(0x01, Buffer.from([red, green, blue]));
50
- }
51
- return resolve();
52
- });
53
- }
54
- }
55
- export var Mode;
56
- (function (Mode) {
57
- Mode[Mode["COLOR"] = 0] = "COLOR";
58
- Mode[Mode["RGB"] = 1] = "RGB";
59
- })(Mode || (Mode = {}));
60
- //# sourceMappingURL=hubled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubled.js","sourceRoot":"","sources":["../../../src/devices/hubled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,MAAM;IAG9B,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAGD;;;;;OAKG;IACI,QAAQ,CAAE,KAAuB;QACpC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACjC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,KAAK,GAAG,CAAC,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBACjG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;YACxG,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAGD;;;;;;;OAOG;IACI,MAAM,CAAE,GAAW,EAAE,KAAa,EAAE,IAAY;QACnD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBACjG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;YACnH,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;CAGJ;AAED,MAAM,CAAN,IAAY,IAGX;AAHD,WAAY,IAAI;IACZ,iCAAY,CAAA;IACZ,6BAAU,CAAA;AACd,CAAC,EAHW,IAAI,KAAJ,IAAI,QAGf"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Devices module - exports all device types
3
- */
4
- export { Device, getDeviceTypeName } from "./device";
5
- export { MotorMode, BasicMotor, TrainMotor, TachoMotor, AbsoluteMotor, MediumLinearMotor, MoveHubMediumLinearMotor, TechnicLargeLinearMotor, TechnicXLargeLinearMotor, TechnicMediumAngularMotor, TechnicLargeAngularMotor, TechnicSmallAngularMotor, WeDo2MediumMotor, DuploTrainMotor, } from "./motor";
6
- export { ColorDistanceMode, TiltMode, Orientation, MotionMode, ColorDistanceSensor, TiltSensor, MotionSensor, TechnicColorSensor, TechnicDistanceSensor, TechnicForceSensor, TechnicMediumHubGyroSensor, TechnicMediumHubAccelerometerSensor, TechnicMediumHubTiltSensor, MoveHubTiltSensor, VoltageSensor, CurrentSensor, RemoteButtonState, RemoteControlButton, DuploTrainBaseColorSensor, DuploTrainBaseSpeedometer, } from "./sensor";
7
- export { HubLED, LEDLights, Technic3x3ColorLightMatrix, PiezoBuzzer, DuploTrainSound, DuploTrainBaseSpeaker, } from "./led";
8
- import { PortInfo } from "../types";
9
- import { BaseHub } from "../hub";
10
- import { Device } from "./device";
11
- /**
12
- * Create a device instance based on device type
13
- */
14
- export declare function createDevice(hub: BaseHub, portInfo: PortInfo): Device;
@@ -1,154 +0,0 @@
1
- "use strict";
2
- /**
3
- * Devices module - exports all device types
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DuploTrainBaseSpeaker = exports.DuploTrainSound = exports.PiezoBuzzer = exports.Technic3x3ColorLightMatrix = exports.LEDLights = exports.HubLED = exports.DuploTrainBaseSpeedometer = exports.DuploTrainBaseColorSensor = exports.RemoteControlButton = exports.RemoteButtonState = exports.CurrentSensor = exports.VoltageSensor = exports.MoveHubTiltSensor = exports.TechnicMediumHubTiltSensor = exports.TechnicMediumHubAccelerometerSensor = exports.TechnicMediumHubGyroSensor = exports.TechnicForceSensor = exports.TechnicDistanceSensor = exports.TechnicColorSensor = exports.MotionSensor = exports.TiltSensor = exports.ColorDistanceSensor = exports.MotionMode = exports.Orientation = exports.TiltMode = exports.ColorDistanceMode = exports.DuploTrainMotor = exports.WeDo2MediumMotor = exports.TechnicSmallAngularMotor = exports.TechnicLargeAngularMotor = exports.TechnicMediumAngularMotor = exports.TechnicXLargeLinearMotor = exports.TechnicLargeLinearMotor = exports.MoveHubMediumLinearMotor = exports.MediumLinearMotor = exports.AbsoluteMotor = exports.TachoMotor = exports.TrainMotor = exports.BasicMotor = exports.MotorMode = exports.getDeviceTypeName = exports.Device = void 0;
7
- exports.createDevice = createDevice;
8
- // Base device class
9
- var device_1 = require("./device");
10
- Object.defineProperty(exports, "Device", { enumerable: true, get: function () { return device_1.Device; } });
11
- Object.defineProperty(exports, "getDeviceTypeName", { enumerable: true, get: function () { return device_1.getDeviceTypeName; } });
12
- // Motor devices
13
- var motor_1 = require("./motor");
14
- Object.defineProperty(exports, "MotorMode", { enumerable: true, get: function () { return motor_1.MotorMode; } });
15
- Object.defineProperty(exports, "BasicMotor", { enumerable: true, get: function () { return motor_1.BasicMotor; } });
16
- Object.defineProperty(exports, "TrainMotor", { enumerable: true, get: function () { return motor_1.TrainMotor; } });
17
- Object.defineProperty(exports, "TachoMotor", { enumerable: true, get: function () { return motor_1.TachoMotor; } });
18
- Object.defineProperty(exports, "AbsoluteMotor", { enumerable: true, get: function () { return motor_1.AbsoluteMotor; } });
19
- Object.defineProperty(exports, "MediumLinearMotor", { enumerable: true, get: function () { return motor_1.MediumLinearMotor; } });
20
- Object.defineProperty(exports, "MoveHubMediumLinearMotor", { enumerable: true, get: function () { return motor_1.MoveHubMediumLinearMotor; } });
21
- Object.defineProperty(exports, "TechnicLargeLinearMotor", { enumerable: true, get: function () { return motor_1.TechnicLargeLinearMotor; } });
22
- Object.defineProperty(exports, "TechnicXLargeLinearMotor", { enumerable: true, get: function () { return motor_1.TechnicXLargeLinearMotor; } });
23
- Object.defineProperty(exports, "TechnicMediumAngularMotor", { enumerable: true, get: function () { return motor_1.TechnicMediumAngularMotor; } });
24
- Object.defineProperty(exports, "TechnicLargeAngularMotor", { enumerable: true, get: function () { return motor_1.TechnicLargeAngularMotor; } });
25
- Object.defineProperty(exports, "TechnicSmallAngularMotor", { enumerable: true, get: function () { return motor_1.TechnicSmallAngularMotor; } });
26
- Object.defineProperty(exports, "WeDo2MediumMotor", { enumerable: true, get: function () { return motor_1.WeDo2MediumMotor; } });
27
- Object.defineProperty(exports, "DuploTrainMotor", { enumerable: true, get: function () { return motor_1.DuploTrainMotor; } });
28
- // Sensor devices
29
- var sensor_1 = require("./sensor");
30
- Object.defineProperty(exports, "ColorDistanceMode", { enumerable: true, get: function () { return sensor_1.ColorDistanceMode; } });
31
- Object.defineProperty(exports, "TiltMode", { enumerable: true, get: function () { return sensor_1.TiltMode; } });
32
- Object.defineProperty(exports, "Orientation", { enumerable: true, get: function () { return sensor_1.Orientation; } });
33
- Object.defineProperty(exports, "MotionMode", { enumerable: true, get: function () { return sensor_1.MotionMode; } });
34
- Object.defineProperty(exports, "ColorDistanceSensor", { enumerable: true, get: function () { return sensor_1.ColorDistanceSensor; } });
35
- Object.defineProperty(exports, "TiltSensor", { enumerable: true, get: function () { return sensor_1.TiltSensor; } });
36
- Object.defineProperty(exports, "MotionSensor", { enumerable: true, get: function () { return sensor_1.MotionSensor; } });
37
- Object.defineProperty(exports, "TechnicColorSensor", { enumerable: true, get: function () { return sensor_1.TechnicColorSensor; } });
38
- Object.defineProperty(exports, "TechnicDistanceSensor", { enumerable: true, get: function () { return sensor_1.TechnicDistanceSensor; } });
39
- Object.defineProperty(exports, "TechnicForceSensor", { enumerable: true, get: function () { return sensor_1.TechnicForceSensor; } });
40
- Object.defineProperty(exports, "TechnicMediumHubGyroSensor", { enumerable: true, get: function () { return sensor_1.TechnicMediumHubGyroSensor; } });
41
- Object.defineProperty(exports, "TechnicMediumHubAccelerometerSensor", { enumerable: true, get: function () { return sensor_1.TechnicMediumHubAccelerometerSensor; } });
42
- Object.defineProperty(exports, "TechnicMediumHubTiltSensor", { enumerable: true, get: function () { return sensor_1.TechnicMediumHubTiltSensor; } });
43
- Object.defineProperty(exports, "MoveHubTiltSensor", { enumerable: true, get: function () { return sensor_1.MoveHubTiltSensor; } });
44
- Object.defineProperty(exports, "VoltageSensor", { enumerable: true, get: function () { return sensor_1.VoltageSensor; } });
45
- Object.defineProperty(exports, "CurrentSensor", { enumerable: true, get: function () { return sensor_1.CurrentSensor; } });
46
- Object.defineProperty(exports, "RemoteButtonState", { enumerable: true, get: function () { return sensor_1.RemoteButtonState; } });
47
- Object.defineProperty(exports, "RemoteControlButton", { enumerable: true, get: function () { return sensor_1.RemoteControlButton; } });
48
- Object.defineProperty(exports, "DuploTrainBaseColorSensor", { enumerable: true, get: function () { return sensor_1.DuploTrainBaseColorSensor; } });
49
- Object.defineProperty(exports, "DuploTrainBaseSpeedometer", { enumerable: true, get: function () { return sensor_1.DuploTrainBaseSpeedometer; } });
50
- // LED and light devices
51
- var led_1 = require("./led");
52
- Object.defineProperty(exports, "HubLED", { enumerable: true, get: function () { return led_1.HubLED; } });
53
- Object.defineProperty(exports, "LEDLights", { enumerable: true, get: function () { return led_1.LEDLights; } });
54
- Object.defineProperty(exports, "Technic3x3ColorLightMatrix", { enumerable: true, get: function () { return led_1.Technic3x3ColorLightMatrix; } });
55
- Object.defineProperty(exports, "PiezoBuzzer", { enumerable: true, get: function () { return led_1.PiezoBuzzer; } });
56
- Object.defineProperty(exports, "DuploTrainSound", { enumerable: true, get: function () { return led_1.DuploTrainSound; } });
57
- Object.defineProperty(exports, "DuploTrainBaseSpeaker", { enumerable: true, get: function () { return led_1.DuploTrainBaseSpeaker; } });
58
- // ============================================================================
59
- // Device Factory
60
- // ============================================================================
61
- const types_1 = require("../types");
62
- const motor_2 = require("./motor");
63
- const sensor_2 = require("./sensor");
64
- const led_2 = require("./led");
65
- /**
66
- * Create a device instance based on device type
67
- */
68
- function createDevice(hub, portInfo) {
69
- switch (portInfo.deviceType) {
70
- // Basic motors
71
- case types_1.DeviceType.SIMPLE_MEDIUM_LINEAR_MOTOR:
72
- return new motor_2.BasicMotor(hub, portInfo);
73
- case types_1.DeviceType.TRAIN_MOTOR:
74
- return new motor_2.TrainMotor(hub, portInfo);
75
- // Tacho motors
76
- case types_1.DeviceType.MEDIUM_LINEAR_MOTOR:
77
- return new motor_2.MediumLinearMotor(hub, portInfo);
78
- case types_1.DeviceType.MOVE_HUB_MEDIUM_LINEAR_MOTOR:
79
- return new motor_2.MoveHubMediumLinearMotor(hub, portInfo);
80
- // Absolute motors (Technic)
81
- case types_1.DeviceType.TECHNIC_LARGE_LINEAR_MOTOR:
82
- return new motor_2.TechnicLargeLinearMotor(hub, portInfo);
83
- case types_1.DeviceType.TECHNIC_XLARGE_LINEAR_MOTOR:
84
- return new motor_2.TechnicXLargeLinearMotor(hub, portInfo);
85
- case types_1.DeviceType.TECHNIC_MEDIUM_ANGULAR_MOTOR:
86
- return new motor_2.TechnicMediumAngularMotor(hub, portInfo);
87
- case types_1.DeviceType.TECHNIC_LARGE_ANGULAR_MOTOR:
88
- return new motor_2.TechnicLargeAngularMotor(hub, portInfo);
89
- case types_1.DeviceType.TECHNIC_SMALL_ANGULAR_MOTOR:
90
- return new motor_2.TechnicSmallAngularMotor(hub, portInfo);
91
- // WeDo 2.0 motor
92
- case types_1.DeviceType.WEDO2_MEDIUM_MOTOR:
93
- return new motor_2.WeDo2MediumMotor(hub, portInfo);
94
- // Duplo motor
95
- case types_1.DeviceType.DUPLO_TRAIN_BASE_MOTOR:
96
- return new motor_2.DuploTrainMotor(hub, portInfo);
97
- // Color/distance sensors
98
- case types_1.DeviceType.COLOR_DISTANCE_SENSOR:
99
- return new sensor_2.ColorDistanceSensor(hub, portInfo);
100
- case types_1.DeviceType.TECHNIC_COLOR_SENSOR:
101
- return new sensor_2.TechnicColorSensor(hub, portInfo);
102
- case types_1.DeviceType.TECHNIC_DISTANCE_SENSOR:
103
- return new sensor_2.TechnicDistanceSensor(hub, portInfo);
104
- // Tilt sensors
105
- case types_1.DeviceType.TILT_SENSOR:
106
- case types_1.DeviceType.WEDO2_TILT_SENSOR:
107
- return new sensor_2.TiltSensor(hub, portInfo);
108
- case types_1.DeviceType.MOVE_HUB_TILT_SENSOR:
109
- return new sensor_2.MoveHubTiltSensor(hub, portInfo);
110
- case types_1.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR:
111
- return new sensor_2.TechnicMediumHubTiltSensor(hub, portInfo);
112
- // Motion sensors
113
- case types_1.DeviceType.MOTION_SENSOR:
114
- case types_1.DeviceType.WEDO2_MOTION_SENSOR:
115
- return new sensor_2.MotionSensor(hub, portInfo);
116
- // Force sensor
117
- case types_1.DeviceType.TECHNIC_FORCE_SENSOR:
118
- return new sensor_2.TechnicForceSensor(hub, portInfo);
119
- // Technic hub internal sensors
120
- case types_1.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR:
121
- return new sensor_2.TechnicMediumHubGyroSensor(hub, portInfo);
122
- case types_1.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER_SENSOR:
123
- return new sensor_2.TechnicMediumHubAccelerometerSensor(hub, portInfo);
124
- // Power sensors
125
- case types_1.DeviceType.VOLTAGE_SENSOR:
126
- return new sensor_2.VoltageSensor(hub, portInfo);
127
- case types_1.DeviceType.CURRENT_SENSOR:
128
- return new sensor_2.CurrentSensor(hub, portInfo);
129
- // Remote control button
130
- case types_1.DeviceType.REMOTE_CONTROL_BUTTON:
131
- return new sensor_2.RemoteControlButton(hub, portInfo);
132
- // LEDs
133
- case types_1.DeviceType.HUB_LED:
134
- return new led_2.HubLED(hub, portInfo);
135
- case types_1.DeviceType.LED_LIGHTS:
136
- return new led_2.LEDLights(hub, portInfo);
137
- case types_1.DeviceType.TECHNIC_3X3_COLOR_LIGHT_MATRIX:
138
- return new led_2.Technic3x3ColorLightMatrix(hub, portInfo);
139
- // Audio
140
- case types_1.DeviceType.PIEZO_BUZZER:
141
- return new led_2.PiezoBuzzer(hub, portInfo);
142
- case types_1.DeviceType.DUPLO_TRAIN_BASE_SPEAKER:
143
- return new led_2.DuploTrainBaseSpeaker(hub, portInfo);
144
- // Duplo sensors
145
- case types_1.DeviceType.DUPLO_TRAIN_BASE_COLOR_SENSOR:
146
- return new sensor_2.DuploTrainBaseColorSensor(hub, portInfo);
147
- case types_1.DeviceType.DUPLO_TRAIN_BASE_SPEEDOMETER:
148
- return new sensor_2.DuploTrainBaseSpeedometer(hub, portInfo);
149
- // Unknown device - use basic device
150
- default:
151
- return new motor_2.BasicMotor(hub, portInfo);
152
- }
153
- }
154
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/devices/index.ts"],"names":[],"mappings":"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"}
@@ -1,140 +0,0 @@
1
- /**
2
- * LED and Light devices for LEGO Powered UP
3
- */
4
- import { PortInfo, Color } from "../types";
5
- import { BaseHub } from "../hub";
6
- import { Device } from "./device";
7
- /**
8
- * Hub LED - The built-in RGB LED on hubs
9
- */
10
- export declare class HubLED extends Device {
11
- protected _color: Color;
12
- protected _rgb: {
13
- r: number;
14
- g: number;
15
- b: number;
16
- };
17
- constructor(hub: BaseHub, portInfo: PortInfo);
18
- /**
19
- * Get current color
20
- */
21
- get color(): Color;
22
- /**
23
- * Get current RGB values
24
- */
25
- get rgb(): {
26
- r: number;
27
- g: number;
28
- b: number;
29
- };
30
- /**
31
- * Subscribe to LED updates (not applicable)
32
- */
33
- subscribe(_mode?: number): Promise<void>;
34
- /**
35
- * Set LED to a predefined color
36
- */
37
- setColor(color: Color): Promise<void>;
38
- /**
39
- * Set LED to RGB color
40
- */
41
- setRGB(red: number, green: number, blue: number): Promise<void>;
42
- /**
43
- * Turn off LED
44
- */
45
- turnOff(): Promise<void>;
46
- }
47
- /**
48
- * External LED Lights (e.g., Boost LED lights)
49
- */
50
- export declare class LEDLights extends Device {
51
- protected _brightness: number;
52
- constructor(hub: BaseHub, portInfo: PortInfo);
53
- /**
54
- * Get current brightness (0-100)
55
- */
56
- get brightness(): number;
57
- /**
58
- * Subscribe to LED updates (not applicable)
59
- */
60
- subscribe(_mode?: number): Promise<void>;
61
- /**
62
- * Set brightness (0-100)
63
- */
64
- setBrightness(brightness: number): Promise<void>;
65
- /**
66
- * Turn off LEDs
67
- */
68
- turnOff(): Promise<void>;
69
- }
70
- /**
71
- * Technic 3x3 Color Light Matrix
72
- */
73
- export declare class Technic3x3ColorLightMatrix extends Device {
74
- protected _pixels: Color[][];
75
- constructor(hub: BaseHub, portInfo: PortInfo);
76
- /**
77
- * Get current pixel colors
78
- */
79
- get pixels(): Color[][];
80
- /**
81
- * Subscribe to matrix updates (not applicable)
82
- */
83
- subscribe(_mode?: number): Promise<void>;
84
- /**
85
- * Set a single pixel color
86
- */
87
- setPixel(x: number, y: number, color: Color): Promise<void>;
88
- /**
89
- * Set all pixels to a single color
90
- */
91
- setAll(color: Color): Promise<void>;
92
- /**
93
- * Set all pixels from a 3x3 array
94
- */
95
- setMatrix(pixels: Color[][]): Promise<void>;
96
- /**
97
- * Clear the matrix (turn all pixels off)
98
- */
99
- clear(): Promise<void>;
100
- private _updateMatrix;
101
- }
102
- /**
103
- * Piezo Buzzer (WeDo 2.0)
104
- */
105
- export declare class PiezoBuzzer extends Device {
106
- constructor(hub: BaseHub, portInfo: PortInfo);
107
- /**
108
- * Subscribe to buzzer updates (not applicable)
109
- */
110
- subscribe(_mode?: number): Promise<void>;
111
- /**
112
- * Play a tone at specified frequency for specified duration
113
- */
114
- playTone(frequency: number, duration: number): Promise<void>;
115
- /**
116
- * Stop playing tone
117
- */
118
- stop(): Promise<void>;
119
- }
120
- export declare enum DuploTrainSound {
121
- BRAKE = 3,
122
- DEPARTURE = 5,
123
- REFILL = 7,
124
- HORN = 9,
125
- STEAM = 10
126
- }
127
- /**
128
- * Duplo Train Base Speaker
129
- */
130
- export declare class DuploTrainBaseSpeaker extends Device {
131
- constructor(hub: BaseHub, portInfo: PortInfo);
132
- /**
133
- * Subscribe to speaker updates (not applicable)
134
- */
135
- subscribe(_mode?: number): Promise<void>;
136
- /**
137
- * Play a predefined sound
138
- */
139
- playSound(sound: DuploTrainSound): Promise<void>;
140
- }
@@ -1,295 +0,0 @@
1
- "use strict";
2
- /**
3
- * LED and Light devices for LEGO Powered UP
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = [];
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
- return ar;
27
- };
28
- return ownKeys(o);
29
- };
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod;
32
- var result = {};
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
- __setModuleDefault(result, mod);
35
- return result;
36
- };
37
- })();
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.DuploTrainBaseSpeaker = exports.DuploTrainSound = exports.PiezoBuzzer = exports.Technic3x3ColorLightMatrix = exports.LEDLights = exports.HubLED = void 0;
40
- const types_1 = require("../types");
41
- const hub_1 = require("../hub");
42
- const device_1 = require("./device");
43
- const commands = __importStar(require("../commands"));
44
- // ============================================================================
45
- // Hub LED
46
- // ============================================================================
47
- /**
48
- * Hub LED - The built-in RGB LED on hubs
49
- */
50
- class HubLED extends device_1.Device {
51
- constructor(hub, portInfo) {
52
- super(hub, portInfo);
53
- this._color = types_1.Color.NONE;
54
- this._rgb = { r: 0, g: 0, b: 0 };
55
- }
56
- /**
57
- * Get current color
58
- */
59
- get color() {
60
- return this._color;
61
- }
62
- /**
63
- * Get current RGB values
64
- */
65
- get rgb() {
66
- return this._rgb;
67
- }
68
- /**
69
- * Subscribe to LED updates (not applicable)
70
- */
71
- async subscribe(_mode) {
72
- // LEDs don't have sensor feedback
73
- }
74
- /**
75
- * Set LED to a predefined color
76
- */
77
- async setColor(color) {
78
- this._color = color;
79
- if (this._hub instanceof hub_1.LWP3Hub) {
80
- await this._hub.setLEDColor(color);
81
- }
82
- else if (this._hub instanceof hub_1.WeDo2Hub) {
83
- await this._hub.setLEDColor(color);
84
- }
85
- }
86
- /**
87
- * Set LED to RGB color
88
- */
89
- async setRGB(red, green, blue) {
90
- red = Math.max(0, Math.min(255, red));
91
- green = Math.max(0, Math.min(255, green));
92
- blue = Math.max(0, Math.min(255, blue));
93
- this._rgb = { r: red, g: green, b: blue };
94
- this._color = types_1.Color.NONE; // Custom color
95
- if (this._hub instanceof hub_1.LWP3Hub) {
96
- await this._hub.setLEDRGB(red, green, blue);
97
- }
98
- else if (this._hub instanceof hub_1.WeDo2Hub) {
99
- await this._hub.setLEDRGB(red, green, blue);
100
- }
101
- }
102
- /**
103
- * Turn off LED
104
- */
105
- async turnOff() {
106
- await this.setColor(types_1.Color.NONE);
107
- }
108
- }
109
- exports.HubLED = HubLED;
110
- // ============================================================================
111
- // LED Lights (External)
112
- // ============================================================================
113
- /**
114
- * External LED Lights (e.g., Boost LED lights)
115
- */
116
- class LEDLights extends device_1.Device {
117
- constructor(hub, portInfo) {
118
- super(hub, portInfo);
119
- this._brightness = 0;
120
- }
121
- /**
122
- * Get current brightness (0-100)
123
- */
124
- get brightness() {
125
- return this._brightness;
126
- }
127
- /**
128
- * Subscribe to LED updates (not applicable)
129
- */
130
- async subscribe(_mode) {
131
- // LEDs don't have sensor feedback
132
- }
133
- /**
134
- * Set brightness (0-100)
135
- */
136
- async setBrightness(brightness) {
137
- brightness = Math.max(0, Math.min(100, brightness));
138
- this._brightness = brightness;
139
- if (this._hub instanceof hub_1.LWP3Hub) {
140
- // Use motor power command for LED lights
141
- await this._hub.motorPower(this._portId, brightness);
142
- }
143
- }
144
- /**
145
- * Turn off LEDs
146
- */
147
- async turnOff() {
148
- await this.setBrightness(0);
149
- }
150
- }
151
- exports.LEDLights = LEDLights;
152
- // ============================================================================
153
- // Technic 3x3 Color Light Matrix
154
- // ============================================================================
155
- /**
156
- * Technic 3x3 Color Light Matrix
157
- */
158
- class Technic3x3ColorLightMatrix extends device_1.Device {
159
- constructor(hub, portInfo) {
160
- super(hub, portInfo);
161
- this._pixels = [
162
- [types_1.Color.NONE, types_1.Color.NONE, types_1.Color.NONE],
163
- [types_1.Color.NONE, types_1.Color.NONE, types_1.Color.NONE],
164
- [types_1.Color.NONE, types_1.Color.NONE, types_1.Color.NONE],
165
- ];
166
- }
167
- /**
168
- * Get current pixel colors
169
- */
170
- get pixels() {
171
- return this._pixels;
172
- }
173
- /**
174
- * Subscribe to matrix updates (not applicable)
175
- */
176
- async subscribe(_mode) {
177
- // Light matrix doesn't have sensor feedback
178
- }
179
- /**
180
- * Set a single pixel color
181
- */
182
- async setPixel(x, y, color) {
183
- if (x < 0 || x > 2 || y < 0 || y > 2) {
184
- throw new Error("Pixel coordinates out of range (0-2)");
185
- }
186
- this._pixels[y][x] = color;
187
- await this._updateMatrix();
188
- }
189
- /**
190
- * Set all pixels to a single color
191
- */
192
- async setAll(color) {
193
- for (let y = 0; y < 3; y++) {
194
- for (let x = 0; x < 3; x++) {
195
- this._pixels[y][x] = color;
196
- }
197
- }
198
- await this._updateMatrix();
199
- }
200
- /**
201
- * Set all pixels from a 3x3 array
202
- */
203
- async setMatrix(pixels) {
204
- if (pixels.length !== 3 || pixels.some(row => row.length !== 3)) {
205
- throw new Error("Pixels must be a 3x3 array");
206
- }
207
- this._pixels = pixels.map(row => [...row]);
208
- await this._updateMatrix();
209
- }
210
- /**
211
- * Clear the matrix (turn all pixels off)
212
- */
213
- async clear() {
214
- await this.setAll(types_1.Color.NONE);
215
- }
216
- async _updateMatrix() {
217
- if (this._hub instanceof hub_1.LWP3Hub) {
218
- // Flatten 2D array to 1D (row by row)
219
- const flatPixels = this._pixels.flat();
220
- const message = commands.setLightMatrix(this._portId, flatPixels);
221
- await this._hub.sendRaw(message);
222
- }
223
- }
224
- }
225
- exports.Technic3x3ColorLightMatrix = Technic3x3ColorLightMatrix;
226
- // ============================================================================
227
- // Piezo Buzzer
228
- // ============================================================================
229
- /**
230
- * Piezo Buzzer (WeDo 2.0)
231
- */
232
- class PiezoBuzzer extends device_1.Device {
233
- constructor(hub, portInfo) {
234
- super(hub, portInfo);
235
- }
236
- /**
237
- * Subscribe to buzzer updates (not applicable)
238
- */
239
- async subscribe(_mode) {
240
- // Buzzer doesn't have sensor feedback
241
- }
242
- /**
243
- * Play a tone at specified frequency for specified duration
244
- */
245
- async playTone(frequency, duration) {
246
- if (this._hub instanceof hub_1.WeDo2Hub) {
247
- await this._hub.playTone(frequency, duration);
248
- }
249
- }
250
- /**
251
- * Stop playing tone
252
- */
253
- async stop() {
254
- if (this._hub instanceof hub_1.WeDo2Hub) {
255
- await this._hub.stopTone();
256
- }
257
- }
258
- }
259
- exports.PiezoBuzzer = PiezoBuzzer;
260
- // ============================================================================
261
- // Duplo Train Speaker
262
- // ============================================================================
263
- var DuploTrainSound;
264
- (function (DuploTrainSound) {
265
- DuploTrainSound[DuploTrainSound["BRAKE"] = 3] = "BRAKE";
266
- DuploTrainSound[DuploTrainSound["DEPARTURE"] = 5] = "DEPARTURE";
267
- DuploTrainSound[DuploTrainSound["REFILL"] = 7] = "REFILL";
268
- DuploTrainSound[DuploTrainSound["HORN"] = 9] = "HORN";
269
- DuploTrainSound[DuploTrainSound["STEAM"] = 10] = "STEAM";
270
- })(DuploTrainSound || (exports.DuploTrainSound = DuploTrainSound = {}));
271
- /**
272
- * Duplo Train Base Speaker
273
- */
274
- class DuploTrainBaseSpeaker extends device_1.Device {
275
- constructor(hub, portInfo) {
276
- super(hub, portInfo);
277
- }
278
- /**
279
- * Subscribe to speaker updates (not applicable)
280
- */
281
- async subscribe(_mode) {
282
- // Speaker doesn't have sensor feedback
283
- }
284
- /**
285
- * Play a predefined sound
286
- */
287
- async playSound(sound) {
288
- if (this._hub instanceof hub_1.LWP3Hub) {
289
- const message = commands.playSound(this._portId, sound);
290
- await this._hub.sendRaw(message);
291
- }
292
- }
293
- }
294
- exports.DuploTrainBaseSpeaker = DuploTrainBaseSpeaker;
295
- //# sourceMappingURL=led.js.map