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
package/docs/index.html CHANGED
@@ -1,58 +1,10 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <title>JSDoc: Home</title>
6
-
7
- <script src="scripts/prettify/prettify.js"> </script>
8
- <script src="scripts/prettify/lang-css.js"> </script>
9
- <!--[if lt IE 9]>
10
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
11
- <![endif]-->
12
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
13
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
14
- </head>
15
-
16
- <body>
17
-
18
- <div id="main">
19
-
20
- <h1 class="page-title">Home</h1>
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
- <h3> </h3>
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
- <section>
46
- <article><p><a href="https://drone.kellenicki.com/nkellenicki/node-poweredup"><img src="https://drone.kellenicki.com/api/badges/nkellenicki/node-poweredup/status.svg" alt="Drone"></a><br>
47
- <a href="https://www.npmjs.com/package/node-poweredup"><img src="https://img.shields.io/npm/v/node-poweredup.svg?style=flat" alt="NPM Version"></a><br>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>node-poweredup</title><meta name="description" content="Documentation for node-poweredup"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script><script async src="assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">node-poweredup</a><div id="tsd-toolbar-links"><a href="https://github.com/nathankellenicki/node-poweredup">GitHub</a></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>node-poweredup</h1></div><div class="tsd-panel tsd-typography"><p><a href="https://drone.kellenicki.com/nkellenicki/node-poweredup"><img src="https://drone.kellenicki.com/api/badges/nkellenicki/node-poweredup/status.svg" alt="Drone"></a>
2
+ <a href="https://www.npmjs.com/package/node-poweredup"><img src="https://img.shields.io/npm/v/node-poweredup.svg?style=flat" alt="NPM Version"></a>
48
3
  <a href="https://nathan.kellenicki.com/node-poweredup/"><img src="https://img.shields.io/badge/docs-start%20here-yellowgreen.svg" alt="Docs"></a></p>
49
- <h1><strong>node-poweredup</strong> - A Javascript module to interface with LEGO Powered Up components.</h1>
50
- <h3>Announcements</h3>
51
- <ul>
52
- <li>v7.1.0 adds support for SPIKE Essential, including the Technic Small Hub, Technic Small Angular Motor, and Technic 3x3 Color Matrix.</li>
4
+ <h1 id="node-poweredup-a-javascript-module-to-interface-with-lego-powered-up-components" class="tsd-anchor-link"><strong>node-poweredup</strong> - A Javascript module to interface with LEGO Powered Up components.<a href="#node-poweredup-a-javascript-module-to-interface-with-lego-powered-up-components" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><h3 id="announcements" class="tsd-anchor-link">Announcements<a href="#announcements" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
5
+ <li>v10.0.0 brings node-poweredup up to date! Libraries updated, new ES style syntax, and more.</li>
53
6
  </ul>
54
- <h3>Introduction</h3>
55
- <p>LEGO Powered Up is the successor to Power Functions, the system for adding electronics to LEGO models. Powered Up is a collection of ranges, all of which are compatible with each other:</p>
7
+ <h3 id="introduction" class="tsd-anchor-link">Introduction<a href="#introduction" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>LEGO Powered Up is the successor to Power Functions, the system for adding electronics to LEGO models. Powered Up is a collection of ranges, all of which are compatible with each other:</p>
56
8
  <ul>
57
9
  <li>LEGO Education WeDo 2.0</li>
58
10
  <li>LEGO Boost</li>
@@ -64,47 +16,17 @@
64
16
  </ul>
65
17
  <p>Other products that speak the Powered Up protocol include the Duplo App-Controlled trains and LEGO Super Mario, both of which are compatible with this library.</p>
66
18
  <p>This library allows communication and control of Powered Up devices and peripherals via Javascript, both from Node.js and from the browser using Web Bluetooth.</p>
67
- <h3>Sample Usage</h3>
68
- <pre class="prettyprint source lang-javascript"><code>const PoweredUP = require(&quot;node-poweredup&quot;);
69
- const poweredUP = new PoweredUP.PoweredUP();
19
+ <h3 id="sample-usage" class="tsd-anchor-link">Sample Usage<a href="#sample-usage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><pre><code class="javascript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">PoweredUP</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">&quot;node-poweredup&quot;</span><span class="hl-1">;</span><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">poweredUP</span><span class="hl-1"> = </span><span class="hl-4">new</span><span class="hl-1"> </span><span class="hl-6">PoweredUP</span><span class="hl-1">();</span><br/><br/><span class="hl-2">poweredUP</span><span class="hl-1">.</span><span class="hl-6">on</span><span class="hl-1">(</span><span class="hl-3">&quot;discover&quot;</span><span class="hl-1">, </span><span class="hl-4">async</span><span class="hl-1"> (</span><span class="hl-2">hub</span><span class="hl-1">) </span><span class="hl-4">=&gt;</span><span class="hl-1"> { </span><span class="hl-7">// Wait to discover a Hub</span><br/><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-3">`Discovered </span><span class="hl-4">${</span><span class="hl-2">hub</span><span class="hl-8">.</span><span class="hl-2">name</span><span class="hl-4">}</span><span class="hl-3">!`</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">hub</span><span class="hl-1">.</span><span class="hl-6">connect</span><span class="hl-1">(); </span><span class="hl-7">// Connect to the Hub</span><br/><span class="hl-1"> </span><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">motorA</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">hub</span><span class="hl-1">.</span><span class="hl-6">waitForDeviceAtPort</span><span class="hl-1">(</span><span class="hl-3">&quot;A&quot;</span><span class="hl-1">); </span><span class="hl-7">// Make sure a motor is plugged into port A</span><br/><span class="hl-1"> </span><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">motorB</span><span class="hl-1"> = </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">hub</span><span class="hl-1">.</span><span class="hl-6">waitForDeviceAtPort</span><span class="hl-1">(</span><span class="hl-3">&quot;B&quot;</span><span class="hl-1">); </span><span class="hl-7">// Make sure a motor is plugged into port B</span><br/><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-3">&quot;Connected&quot;</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-0">while</span><span class="hl-1"> (</span><span class="hl-4">true</span><span class="hl-1">) { </span><span class="hl-7">// Repeat indefinitely</span><br/><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-3">&quot;Running motor B at speed 50&quot;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-2">motorB</span><span class="hl-1">.</span><span class="hl-6">setPower</span><span class="hl-1">(</span><span class="hl-9">50</span><span class="hl-1">); </span><span class="hl-7">// Start a motor attached to port B to run a 3/4 speed (75) indefinitely</span><br/><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-3">&quot;Running motor A at speed 100 for 2 seconds&quot;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-2">motorA</span><span class="hl-1">.</span><span class="hl-6">setPower</span><span class="hl-1">(</span><span class="hl-9">100</span><span class="hl-1">); </span><span class="hl-7">// Run a motor attached to port A for 2 seconds at maximum speed (100) then stop</span><br/><span class="hl-1"> </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">hub</span><span class="hl-1">.</span><span class="hl-6">sleep</span><span class="hl-1">(</span><span class="hl-9">2000</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-2">motorA</span><span class="hl-1">.</span><span class="hl-6">brake</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">hub</span><span class="hl-1">.</span><span class="hl-6">sleep</span><span class="hl-1">(</span><span class="hl-9">1000</span><span class="hl-1">); </span><span class="hl-7">// Do nothing for 1 second</span><br/><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-3">&quot;Running motor A at speed -30 for 1 second&quot;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-2">motorA</span><span class="hl-1">.</span><span class="hl-6">setPower</span><span class="hl-1">(-</span><span class="hl-9">30</span><span class="hl-1">); </span><span class="hl-7">// Run a motor attached to port A for 2 seconds at 1/2 speed in reverse (-50) then stop</span><br/><span class="hl-1"> </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">hub</span><span class="hl-1">.</span><span class="hl-6">sleep</span><span class="hl-1">(</span><span class="hl-9">2000</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-2">motorA</span><span class="hl-1">.</span><span class="hl-6">brake</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">hub</span><span class="hl-1">.</span><span class="hl-6">sleep</span><span class="hl-1">(</span><span class="hl-9">1000</span><span class="hl-1">); </span><span class="hl-7">// Do nothing for 1 second</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-2">poweredUP</span><span class="hl-1">.</span><span class="hl-6">scan</span><span class="hl-1">(); </span><span class="hl-7">// Start scanning for Hubs</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-3">&quot;Scanning for Hubs...&quot;</span><span class="hl-1">);</span>
20
+ </code><button type="button">Copy</button></pre>
70
21
 
71
- poweredUP.on(&quot;discover&quot;, async (hub) => { // Wait to discover a Hub
72
- console.log(`Discovered ${hub.name}!`);
73
- await hub.connect(); // Connect to the Hub
74
- const motorA = await hub.waitForDeviceAtPort(&quot;A&quot;); // Make sure a motor is plugged into port A
75
- const motorB = await hub.waitForDeviceAtPort(&quot;B&quot;); // Make sure a motor is plugged into port B
76
- console.log(&quot;Connected&quot;);
77
-
78
- while (true) { // Repeat indefinitely
79
- console.log(&quot;Running motor B at speed 50&quot;);
80
- motorB.setPower(50); // Start a motor attached to port B to run a 3/4 speed (75) indefinitely
81
- console.log(&quot;Running motor A at speed 100 for 2 seconds&quot;);
82
- motorA.setPower(100); // Run a motor attached to port A for 2 seconds at maximum speed (100) then stop
83
- await hub.sleep(2000);
84
- motorA.brake();
85
- await hub.sleep(1000); // Do nothing for 1 second
86
- console.log(&quot;Running motor A at speed -30 for 1 second&quot;);
87
- motorA.setPower(-30); // Run a motor attached to port A for 2 seconds at 1/2 speed in reverse (-50) then stop
88
- await hub.sleep(2000);
89
- motorA.brake();
90
- await hub.sleep(1000); // Do nothing for 1 second
91
- }
92
- });
93
-
94
- poweredUP.scan(); // Start scanning for Hubs
95
- console.log(&quot;Scanning for Hubs...&quot;);
96
- </code></pre>
97
22
  <p>More examples are available in the &quot;examples&quot; directory.</p>
98
- <h3>Documentation</h3>
99
- <p><a href="https://nathankellenicki.github.io/node-poweredup/">Full documentation is available here.</a></p>
100
- <h3>Node.js Installation</h3>
101
- <p>Node.js v12.0+ required.</p>
102
- <pre class="prettyprint source lang-javascript"><code>npm install node-poweredup --save
103
- </code></pre>
104
- <p>node-poweredup uses the Noble BLE library by Sandeep Mistry. On macOS everything should function out of the box. On Linux and Windows there are <a href="https://github.com/abandonware/noble#prerequisites">certain dependencies which may need installed first</a>.</p>
105
- <p>Note: node-poweredup has been tested on macOS 11.0 and Debian/Raspbian on the Raspberry Pi 3 Model B.</p>
106
- <h3>Compatibility</h3>
107
- <p>While most Powered Up components and Hubs are compatible with each other, there are exceptions. For example, there is limited backwards compatibility between newer components and the WeDo 2.0 Smart Hub. However WeDo 2.0 components are fully forwards compatible with newer Hubs.</p>
23
+ <h3 id="documentation" class="tsd-anchor-link">Documentation<a href="#documentation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p><a href="https://nathankellenicki.github.io/node-poweredup/">Full documentation is available here.</a></p>
24
+ <h3 id="nodejs-installation" class="tsd-anchor-link">Node.js Installation<a href="#nodejs-installation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Node.js v18.0+ required.</p>
25
+ <pre><code class="javascript"><span class="hl-2">npm</span><span class="hl-1"> </span><span class="hl-2">install</span><span class="hl-1"> </span><span class="hl-2">node</span><span class="hl-1">-</span><span class="hl-2">poweredup</span><span class="hl-1"> --</span><span class="hl-2">save</span>
26
+ </code><button type="button">Copy</button></pre>
27
+
28
+ <p><code>node-poweredup</code> relies on the <code>@stoprocent/noble</code> library. Ensure any prerequisites <a href="https://github.com/stoprocent/noble?tab=readme-ov-file#prerequisites">documented here</a> are satisfied.</p>
29
+ <h3 id="compatibility" class="tsd-anchor-link">Compatibility<a href="#compatibility" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>While most Powered Up components and Hubs are compatible with each other, there are exceptions. For example, there is limited backwards compatibility between newer components and the WeDo 2.0 Smart Hub. However WeDo 2.0 components are fully forwards compatible with newer Hubs.</p>
108
30
  <table>
109
31
  <thead>
110
32
  <tr>
@@ -342,8 +264,7 @@ console.log(&quot;Scanning for Hubs...&quot;);
342
264
  </tr>
343
265
  </tbody>
344
266
  </table>
345
- <h3>Known Issues and Limitations</h3>
346
- <ul>
267
+ <h3 id="known-issues-and-limitations" class="tsd-anchor-link">Known Issues and Limitations<a href="#known-issues-and-limitations" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
347
268
  <li>
348
269
  <p>The WeDo 2.0 Smart Hub uses an older firmware which is no longer being updated. As a result, only certain motors and sensors work with it. See the table above.</p>
349
270
  </li>
@@ -354,31 +275,8 @@ console.log(&quot;Scanning for Hubs...&quot;);
354
275
  <p>The SPIKE Prime Hub does not use Bluetooth Low Energy, so is not supported via this library. It is recommended you use MicroPython to develop for this Hub using the officially provided tools and software. The SPIKE Essential Hub however is supported, as it uses Bluetooth Low Energy.</p>
355
276
  </li>
356
277
  <li>
357
- <p>On most Unix systems, you need root permissions to access Bluetooth devices. You may want to <a href="https://github.com/abandonware/noble#running-without-rootsudo-linux-specific">grant the node executable access to the Bluetooth adapter</a></p>
278
+ <p>On most Unix systems, you need root permissions to access Bluetooth devices. You may want to <a href="https://github.com/stoprocent/noble?tab=readme-ov-file#running-without-rootsudo-linux-specific">grant the node executable access to the Bluetooth adapter</a></p>
358
279
  </li>
359
280
  </ul>
360
- <h3>Credits</h3>
361
- <p>Thanks go to Jorge Pereira (<a href="https://github.com/JorgePe">@JorgePe</a>), Sebastian Raff (<a href="https://github.com/hobbyquaker">@hobbyquaker</a>), Valentin Heun (<a href="https://github.com/vheun">@vheun</a>), Johan Korten (<a href="https://github.com/jakorten">@jakorten</a>), and Andrey Pokhilko (<a href="https://github.com/undera">@undera</a>) for their various works, contributions, and assistance on figuring out the LEGO Boost, WeDo 2.0, and Powered Up protocols.</p></article>
362
- </section>
363
-
364
-
365
-
366
-
367
-
368
-
369
- </div>
370
-
371
- <nav>
372
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AbsoluteMotor.html">AbsoluteMotor</a></li><li><a href="BaseHub.html">BaseHub</a></li><li><a href="BasicMotor.html">BasicMotor</a></li><li><a href="ColorDistanceSensor.html">ColorDistanceSensor</a></li><li><a href="CurrentSensor.html">CurrentSensor</a></li><li><a href="Device.html">Device</a></li><li><a href="DuploTrainBase.html">DuploTrainBase</a></li><li><a href="DuploTrainBaseColorSensor.html">DuploTrainBaseColorSensor</a></li><li><a href="DuploTrainBaseMotor.html">DuploTrainBaseMotor</a></li><li><a href="DuploTrainBaseSpeaker.html">DuploTrainBaseSpeaker</a></li><li><a href="DuploTraniBaseSpeedometer.html">DuploTraniBaseSpeedometer</a></li><li><a href="Hub.html">Hub</a></li><li><a href="HubLED.html">HubLED</a></li><li><a href="LPF2Hub.html">LPF2Hub</a></li><li><a href="Light.html">Light</a></li><li><a href="Mario.html">Mario</a></li><li><a href="MarioAccelerometer.html">MarioAccelerometer</a></li><li><a href="MarioBarcodeSensor.html">MarioBarcodeSensor</a></li><li><a href="MarioPantsSensor.html">MarioPantsSensor</a></li><li><a href="MediumLinearMotor.html">MediumLinearMotor</a></li><li><a href="MotionSensor.html">MotionSensor</a></li><li><a href="MoveHub.html">MoveHub</a></li><li><a href="MoveHubMediumLinearMotor.html">MoveHubMediumLinearMotor</a></li><li><a href="MoveHubTiltSensor.html">MoveHubTiltSensor</a></li><li><a href="PiezoBuzzer.html">PiezoBuzzer</a></li><li><a href="PoweredUP.html">PoweredUP</a></li><li><a href="RemoteControl.html">RemoteControl</a></li><li><a href="RemoteControlButton.html">RemoteControlButton</a></li><li><a href="SimpleMediumLinearMotor.html">SimpleMediumLinearMotor</a></li><li><a href="TachoMotor.html">TachoMotor</a></li><li><a href="Technic3x3ColorLightMatrix.html">Technic3x3ColorLightMatrix</a></li><li><a href="TechnicColorSensor.html">TechnicColorSensor</a></li><li><a href="TechnicDistanceSensor.html">TechnicDistanceSensor</a></li><li><a href="TechnicForceSensor.html">TechnicForceSensor</a></li><li><a href="TechnicLargeAngularMotor.html">TechnicLargeAngularMotor</a></li><li><a href="TechnicLargeLinearMotor.html">TechnicLargeLinearMotor</a></li><li><a href="TechnicMediumAngularMotor.html">TechnicMediumAngularMotor</a></li><li><a href="TechnicMediumHub.html">TechnicMediumHub</a></li><li><a href="TechnicMediumHubAccelerometerSensor.html">TechnicMediumHubAccelerometerSensor</a></li><li><a href="TechnicMediumHubGyroSensor.html">TechnicMediumHubGyroSensor</a></li><li><a href="TechnicMediumHubTiltSensor.html">TechnicMediumHubTiltSensor</a></li><li><a href="TechnicSmallAngularMotor.html">TechnicSmallAngularMotor</a></li><li><a href="TechnicXLargeLinearMotor.html">TechnicXLargeLinearMotor</a></li><li><a href="TiltSensor.html">TiltSensor</a></li><li><a href="TrainMotor.html">TrainMotor</a></li><li><a href="VoltageSensor.html">VoltageSensor</a></li><li><a href="WeDo2SmartHub.html">WeDo2SmartHub</a></li></ul><h3>Events</h3><ul><li><a href="AbsoluteMotor.html#event:absolute">absolute</a></li><li><a href="AbsoluteMotor.html#event:rotate">rotate</a></li><li><a href="ColorDistanceSensor.html#event:ambient">ambient</a></li><li><a href="ColorDistanceSensor.html#event:color">color</a></li><li><a href="ColorDistanceSensor.html#event:colorAndDistance">colorAndDistance</a></li><li><a href="ColorDistanceSensor.html#event:distance">distance</a></li><li><a href="ColorDistanceSensor.html#event:distanceCount">distanceCount</a></li><li><a href="ColorDistanceSensor.html#event:reflect">reflect</a></li><li><a href="ColorDistanceSensor.html#event:rgbIntensity">rgbIntensity</a></li><li><a href="CurrentSensor.html#event:current">current</a></li><li><a href="DuploTrainBase.html#event:button">button</a></li><li><a href="DuploTrainBaseColorSensor.html#event:color">color</a></li><li><a href="DuploTrainBaseColorSensor.html#event:intensity">intensity</a></li><li><a href="DuploTrainBaseColorSensor.html#event:reflect">reflect</a></li><li><a href="DuploTrainBaseColorSensor.html#event:rgb">rgb</a></li><li><a href="DuploTrainBaseSpeedometer.html#event:speed">speed</a></li><li><a href="Hub.html#event:attach">attach</a></li><li><a href="Hub.html#event:button">button</a></li><li><a href="Hub.html#event:detach">detach</a></li><li><a href="Hub.html#event:disconnect">disconnect</a></li><li><a href="LPF2Hub.html#event:button">button</a></li><li><a href="Mario.html#event:button">button</a></li><li><a href="MarioAccelerometer.html#event:accel">accel</a></li><li><a href="MarioAccelerometer.html#event:gest">gest</a></li><li><a href="MarioBarcodeSensor.html#event:barcode">barcode</a></li><li><a href="MarioBarcodeSensor.html#event:rgb">rgb</a></li><li><a href="MarioPantsSensor.html#event:pants">pants</a></li><li><a href="MediumLinearMotor.html#event:rotate">rotate</a></li><li><a href="MotionSensor.html#event:distance">distance</a></li><li><a href="MoveHub.html#event:button">button</a></li><li><a href="MoveHubMediumLinearMotor.html#event:rotate">rotate</a></li><li><a href="MoveHubTiltSensor.html#event:tilt">tilt</a></li><li><a href="PoweredUP.html#event:discover">discover</a></li><li><a href="RemoteControl.html#event:button">button</a></li><li><a href="RemoteControlButton.html#event:remoteButton">remoteButton</a></li><li><a href="TachoMotor.html#event:rotate">rotate</a></li><li><a href="TechnicColorSensor.html#event:ambient">ambient</a></li><li><a href="TechnicColorSensor.html#event:color">color</a></li><li><a href="TechnicColorSensor.html#event:reflect">reflect</a></li><li><a href="TechnicDistanceSensor.html#event:distance">distance</a></li><li><a href="TechnicDistanceSensor.html#event:fastDistance">fastDistance</a></li><li><a href="TechnicForceSensor.html#event:force">force</a></li><li><a href="TechnicForceSensor.html#event:tapped">tapped</a></li><li><a href="TechnicForceSensor.html#event:touch">touch</a></li><li><a href="TechnicLargeAngularMotor.html#event:absolute">absolute</a></li><li><a href="TechnicLargeAngularMotor.html#event:rotate">rotate</a></li><li><a href="TechnicLargeLinearMotor.html#event:absolute">absolute</a></li><li><a href="TechnicLargeLinearMotor.html#event:rotate">rotate</a></li><li><a href="TechnicMediumAngularMotor.html#event:absolute">absolute</a></li><li><a href="TechnicMediumAngularMotor.html#event:rotate">rotate</a></li><li><a href="TechnicMediumHub.html#event:button">button</a></li><li><a href="TechnicMediumHubAccelerometerSensor.html#event:accel">accel</a></li><li><a href="TechnicMediumHubGyroSensor.html#event:gyro">gyro</a></li><li><a href="TechnicMediumHubTiltSensor.html#event:impactCount">impactCount</a></li><li><a href="TechnicMediumHubTiltSensor.html#event:tilt">tilt</a></li><li><a href="TechnicSmallAngularMotor.html#event:absolute">absolute</a></li><li><a href="TechnicSmallAngularMotor.html#event:rotate">rotate</a></li><li><a href="TechnicXLargeLinearMotor.html#event:absolute">absolute</a></li><li><a href="TechnicXLargeLinearMotor.html#event:rotate">rotate</a></li><li><a href="TiltSensor.html#event:tilt">tilt</a></li><li><a href="VoltageSensor.html#event:voltage">voltage</a></li><li><a href="WeDo2SmartHub.html#event:button">button</a></li></ul><h3><a href="global.html">Global</a></h3>
373
- </nav>
374
-
375
- <br class="clear">
376
-
377
- <footer>
378
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.2</a> on Fri Apr 26 2024 00:11:37 GMT+0000 (Coordinated Universal Time)
379
- </footer>
380
-
381
- <script> prettyPrint(); </script>
382
- <script src="scripts/linenumber.js"> </script>
383
- </body>
384
- </html>
281
+ <h3 id="credits" class="tsd-anchor-link">Credits<a href="#credits" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Thanks go to Jorge Pereira (<a href="https://github.com/JorgePe">@JorgePe</a>), Sebastian Raff (<a href="https://github.com/hobbyquaker">@hobbyquaker</a>), Valentin Heun (<a href="https://github.com/vheun">@vheun</a>), Johan Korten (<a href="https://github.com/jakorten">@jakorten</a>), and Andrey Pokhilko (<a href="https://github.com/undera">@undera</a>) for their various works, contributions, and assistance on figuring out the LEGO Boost, WeDo 2.0, and Powered Up protocols.</p>
282
+ </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#node-poweredup-a-javascript-module-to-interface-with-lego-powered-up-components"><span>node-<wbr/>poweredup -<wbr/> <wbr/>A <wbr/>Javascript module to interface with <wbr/>LEGO <wbr/>Powered <wbr/>Up components.</span></a><ul><li><a href="#announcements"><span>Announcements</span></a></li><li><a href="#introduction"><span>Introduction</span></a></li><li><a href="#sample-usage"><span>Sample <wbr/>Usage</span></a></li><li><a href="#documentation"><span>Documentation</span></a></li><li><a href="#nodejs-installation"><span>Node.js <wbr/>Installation</span></a></li><li><a href="#compatibility"><span>Compatibility</span></a></li><li><a href="#known-issues-and-limitations"><span>Known <wbr/>Issues and <wbr/>Limitations</span></a></li><li><a href="#credits"><span>Credits</span></a></li></ul></div></details></div><div class="site-menu"><nav id="tsd-sidebar-links" class="tsd-navigation"><a href="https://github.com/nathankellenicki/node-poweredup" class="tsd-nav-link">GitHub</a></nav><nav class="tsd-navigation"><a href="modules.html">node-poweredup</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Consts | node-poweredup</title><meta name="description" content="Documentation for node-poweredup"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">node-poweredup</a><div id="tsd-toolbar-links"><a href="https://github.com/nathankellenicki/node-poweredup">GitHub</a></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">Consts</a></li></ul><h1>Namespace Consts</h1></div><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Enumerations"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Enumerations</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="color"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><a href="../enums/Consts.Color.html">Color</a><a href="#color" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-References"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>References</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="actiontype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>ActionType</span><span> → </span><a href="../enums/ActionType.html">ActionType</a><a href="#actiontype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="alertoperation"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>AlertOperation</span><span> → </span><a href="../enums/AlertOperation.html">AlertOperation</a><a href="#alertoperation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="alertpayload"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>AlertPayload</span><span> → </span><a href="../enums/AlertPayload.html">AlertPayload</a><a href="#alertpayload" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="alerttype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>AlertType</span><span> → </span><a href="../enums/AlertType.html">AlertType</a><a href="#alerttype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="blecharacteristic"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>BLECharacteristic</span><span> → </span><a href="../enums/BLECharacteristic.html">BLECharacteristic</a><a href="#blecharacteristic" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="blemanufacturerdata"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>BLEManufacturerData</span><span> → </span><a href="../enums/BLEManufacturerData.html">BLEManufacturerData</a><a href="#blemanufacturerdata" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="bleservice"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>BLEService</span><span> → </span><a href="../enums/BLEService.html">BLEService</a><a href="#bleservice" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="brakingstyle"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>BrakingStyle</span><span> → </span><a href="../enums/BrakingStyle.html">BrakingStyle</a><a href="#brakingstyle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="buttonstate"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>ButtonState</span><span> → </span><a href="../enums/ButtonState.html">ButtonState</a><a href="#buttonstate" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="colornames"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>ColorNames</span><span> → </span><a href="../variables/ColorNames.html">ColorNames</a><a href="#colornames" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="devicetype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>DeviceType</span><span> → </span><a href="../enums/DeviceType.html">DeviceType</a><a href="#devicetype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="devicetypenames"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>DeviceTypeNames</span><span> → </span><a href="../variables/DeviceTypeNames.html">DeviceTypeNames</a><a href="#devicetypenames" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="duplotrainbasesound"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>DuploTrainBaseSound</span><span> → </span><a href="../enums/DuploTrainBaseSound.html">DuploTrainBaseSound</a><a href="#duplotrainbasesound" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="errorcode"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>ErrorCode</span><span> → </span><a href="../enums/ErrorCode.html">ErrorCode</a><a href="#errorcode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="event"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>Event</span><span> → </span><a href="../enums/Event.html">Event</a><a href="#event" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubpropertyoperation"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>HubPropertyOperation</span><span> → </span><a href="../enums/HubPropertyOperation.html">HubPropertyOperation</a><a href="#hubpropertyoperation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubpropertypayload"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>HubPropertyPayload</span><span> → </span><a href="../enums/HubPropertyPayload.html">HubPropertyPayload</a><a href="#hubpropertypayload" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubpropertyreference"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>HubPropertyReference</span><span> → </span><a href="../enums/HubPropertyReference.html">HubPropertyReference</a><a href="#hubpropertyreference" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubtype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>HubType</span><span> → </span><a href="../enums/HubType.html">HubType</a><a href="#hubtype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubtypenames"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>HubTypeNames</span><span> → </span><a href="../variables/HubTypeNames.html">HubTypeNames</a><a href="#hubtypenames" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hwnetworkcommandtype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>HWNetWorkCommandType</span><span> → </span><a href="../enums/HWNetWorkCommandType.html">HWNetWorkCommandType</a><a href="#hwnetworkcommandtype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hwnetworkfamily"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>HWNetworkFamily</span><span> → </span><a href="../enums/HWNetworkFamily.html">HWNetworkFamily</a><a href="#hwnetworkfamily" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hwnetworksubfamily"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>HWNetworkSubFamily</span><span> → </span><a href="../enums/HWNetworkSubFamily.html">HWNetworkSubFamily</a><a href="#hwnetworksubfamily" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="iotypeid"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>IOTypeID</span><span> → </span><a href="../enums/IOTypeID.html">IOTypeID</a><a href="#iotypeid" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="mariocolor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>MarioColor</span><span> → </span><a href="../enums/MarioColor.html">MarioColor</a><a href="#mariocolor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="mariopantstype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>MarioPantsType</span><span> → </span><a href="../enums/MarioPantsType.html">MarioPantsType</a><a href="#mariopantstype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="messagetype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>MessageType</span><span> → </span><a href="../enums/MessageType.html">MessageType</a><a href="#messagetype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="modeinformationtype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>ModeInformationType</span><span> → </span><a href="../enums/ModeInformationType.html">ModeInformationType</a><a href="#modeinformationtype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="portinputformatsetupsubcommand"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>PortInputFormatSetupSubCommand</span><span> → </span><a href="../enums/PortInputFormatSetupSubCommand.html">PortInputFormatSetupSubCommand</a><a href="#portinputformatsetupsubcommand" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Enumerations"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Enumerations</summary><div><a href="#color"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="../assets/icons.svg#icon-8"></use></svg><span>Color</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-References"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>References</summary><div><a href="#actiontype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Action<wbr/>Type</span></a><a href="#alertoperation"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Alert<wbr/>Operation</span></a><a href="#alertpayload"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Alert<wbr/>Payload</span></a><a href="#alerttype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Alert<wbr/>Type</span></a><a href="#blecharacteristic"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>BLE<wbr/>Characteristic</span></a><a href="#blemanufacturerdata"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>BLE<wbr/>Manufacturer<wbr/>Data</span></a><a href="#bleservice"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>BLE<wbr/>Service</span></a><a href="#brakingstyle"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Braking<wbr/>Style</span></a><a href="#buttonstate"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Button<wbr/>State</span></a><a href="#colornames"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Color<wbr/>Names</span></a><a href="#devicetype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Device<wbr/>Type</span></a><a href="#devicetypenames"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Device<wbr/>Type<wbr/>Names</span></a><a href="#duplotrainbasesound"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Duplo<wbr/>Train<wbr/>Base<wbr/>Sound</span></a><a href="#errorcode"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Error<wbr/>Code</span></a><a href="#event"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Event</span></a><a href="#hubpropertyoperation"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Hub<wbr/>Property<wbr/>Operation</span></a><a href="#hubpropertypayload"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Hub<wbr/>Property<wbr/>Payload</span></a><a href="#hubpropertyreference"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Hub<wbr/>Property<wbr/>Reference</span></a><a href="#hubtype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Hub<wbr/>Type</span></a><a href="#hubtypenames"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Hub<wbr/>Type<wbr/>Names</span></a><a href="#hwnetworkcommandtype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>HW<wbr/>Net<wbr/>Work<wbr/>Command<wbr/>Type</span></a><a href="#hwnetworkfamily"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>HW<wbr/>Network<wbr/>Family</span></a><a href="#hwnetworksubfamily"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>HW<wbr/>Network<wbr/>Sub<wbr/>Family</span></a><a href="#iotypeid"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>IO<wbr/>Type<wbr/>ID</span></a><a href="#mariocolor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Mario<wbr/>Color</span></a><a href="#mariopantstype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Mario<wbr/>Pants<wbr/>Type</span></a><a href="#messagetype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Message<wbr/>Type</span></a><a href="#modeinformationtype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Mode<wbr/>Information<wbr/>Type</span></a><a href="#portinputformatsetupsubcommand"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="../assets/icons.svg#icon-4194304"></use></svg><span>Port<wbr/>Input<wbr/>Format<wbr/>Setup<wbr/>Sub<wbr/>Command</span></a></div></details></div></details></div><div class="site-menu"><nav id="tsd-sidebar-links" class="tsd-navigation"><a href="https://github.com/nathankellenicki/node-poweredup" class="tsd-nav-link">GitHub</a></nav><nav class="tsd-navigation"><a href="../modules.html">node-poweredup</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>node-poweredup</title><meta name="description" content="Documentation for node-poweredup"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script><script async src="assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">node-poweredup</a><div id="tsd-toolbar-links"><a href="https://github.com/nathankellenicki/node-poweredup">GitHub</a></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"></ul><h1>node-poweredup</h1></div><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Namespaces"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Namespaces</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="consts"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Namespace"><use href="assets/icons.svg#icon-4"></use></svg><a href="modules/Consts.html">Consts</a><a href="#consts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Enumerations"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Enumerations</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="actiontype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/ActionType.html">ActionType</a><a href="#actiontype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="alertoperation"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/AlertOperation.html">AlertOperation</a><a href="#alertoperation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="alertpayload"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/AlertPayload.html">AlertPayload</a><a href="#alertpayload" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="alerttype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/AlertType.html">AlertType</a><a href="#alerttype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="blecharacteristic"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/BLECharacteristic.html">BLECharacteristic</a><a href="#blecharacteristic" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="blemanufacturerdata"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/BLEManufacturerData.html">BLEManufacturerData</a><a href="#blemanufacturerdata" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="bleservice"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/BLEService.html">BLEService</a><a href="#bleservice" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="brakingstyle"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/BrakingStyle.html">BrakingStyle</a><a href="#brakingstyle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="buttonstate"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/ButtonState.html">ButtonState</a><a href="#buttonstate" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="devicetype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/DeviceType.html">DeviceType</a><a href="#devicetype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="duplotrainbasesound"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/DuploTrainBaseSound.html">DuploTrainBaseSound</a><a href="#duplotrainbasesound" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="errorcode"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/ErrorCode.html">ErrorCode</a><a href="#errorcode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="event"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/Event.html">Event</a><a href="#event" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubpropertyoperation"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/HubPropertyOperation.html">HubPropertyOperation</a><a href="#hubpropertyoperation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubpropertypayload"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/HubPropertyPayload.html">HubPropertyPayload</a><a href="#hubpropertypayload" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubpropertyreference"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/HubPropertyReference.html">HubPropertyReference</a><a href="#hubpropertyreference" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubtype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/HubType.html">HubType</a><a href="#hubtype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hwnetworkcommandtype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/HWNetWorkCommandType.html">HWNetWorkCommandType</a><a href="#hwnetworkcommandtype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hwnetworkfamily"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/HWNetworkFamily.html">HWNetworkFamily</a><a href="#hwnetworkfamily" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hwnetworksubfamily"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/HWNetworkSubFamily.html">HWNetworkSubFamily</a><a href="#hwnetworksubfamily" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="iotypeid"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/IOTypeID.html">IOTypeID</a><a href="#iotypeid" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="mariocolor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/MarioColor.html">MarioColor</a><a href="#mariocolor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="mariopantstype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/MarioPantsType.html">MarioPantsType</a><a href="#mariopantstype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="messagetype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/MessageType.html">MessageType</a><a href="#messagetype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="modeinformationtype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/ModeInformationType.html">ModeInformationType</a><a href="#modeinformationtype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="portinputformatsetupsubcommand"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/PortInputFormatSetupSubCommand.html">PortInputFormatSetupSubCommand</a><a href="#portinputformatsetupsubcommand" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Classes"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Classes</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="absolutemotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/AbsoluteMotor.html">AbsoluteMotor</a><a href="#absolutemotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="basehub"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/BaseHub.html">BaseHub</a><a href="#basehub" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="basicmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/BasicMotor.html">BasicMotor</a><a href="#basicmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="color"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Color.html">Color</a><a href="#color" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="colordistancesensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/ColorDistanceSensor.html">ColorDistanceSensor</a><a href="#colordistancesensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="currentsensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/CurrentSensor.html">CurrentSensor</a><a href="#currentsensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="device"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Device.html">Device</a><a href="#device" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="duplotrainbase"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/DuploTrainBase.html">DuploTrainBase</a><a href="#duplotrainbase" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="duplotrainbasecolorsensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/DuploTrainBaseColorSensor.html">DuploTrainBaseColorSensor</a><a href="#duplotrainbasecolorsensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="duplotrainbasemotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/DuploTrainBaseMotor.html">DuploTrainBaseMotor</a><a href="#duplotrainbasemotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="duplotrainbasespeaker"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/DuploTrainBaseSpeaker.html">DuploTrainBaseSpeaker</a><a href="#duplotrainbasespeaker" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="duplotrainbasespeedometer"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/DuploTrainBaseSpeedometer.html">DuploTrainBaseSpeedometer</a><a href="#duplotrainbasespeedometer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hub"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Hub.html">Hub</a><a href="#hub" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubled"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/HubLED.html">HubLED</a><a href="#hubled" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="light"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Light.html">Light</a><a href="#light" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="mario"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Mario.html">Mario</a><a href="#mario" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="mediumlinearmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/MediumLinearMotor.html">MediumLinearMotor</a><a href="#mediumlinearmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="motionsensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/MotionSensor.html">MotionSensor</a><a href="#motionsensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="movehub"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/MoveHub.html">MoveHub</a><a href="#movehub" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="movehubmediumlinearmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/MoveHubMediumLinearMotor.html">MoveHubMediumLinearMotor</a><a href="#movehubmediumlinearmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="movehubtiltsensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/MoveHubTiltSensor.html">MoveHubTiltSensor</a><a href="#movehubtiltsensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="piezobuzzer"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/PiezoBuzzer.html">PiezoBuzzer</a><a href="#piezobuzzer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="poweredup"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/PoweredUP.html">PoweredUP</a><a href="#poweredup" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="remotecontrol"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/RemoteControl.html">RemoteControl</a><a href="#remotecontrol" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="remotecontrolbutton"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/RemoteControlButton.html">RemoteControlButton</a><a href="#remotecontrolbutton" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="simplemediumlinearmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/SimpleMediumLinearMotor.html">SimpleMediumLinearMotor</a><a href="#simplemediumlinearmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="tachomotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TachoMotor.html">TachoMotor</a><a href="#tachomotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technic3x3colorlightmatrix"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Technic3x3ColorLightMatrix.html">Technic3x3ColorLightMatrix</a><a href="#technic3x3colorlightmatrix" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="techniccolorsensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicColorSensor.html">TechnicColorSensor</a><a href="#techniccolorsensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technicdistancesensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicDistanceSensor.html">TechnicDistanceSensor</a><a href="#technicdistancesensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technicforcesensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicForceSensor.html">TechnicForceSensor</a><a href="#technicforcesensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="techniclargeangularmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicLargeAngularMotor.html">TechnicLargeAngularMotor</a><a href="#techniclargeangularmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="techniclargelinearmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicLargeLinearMotor.html">TechnicLargeLinearMotor</a><a href="#techniclargelinearmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technicmediumangularmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicMediumAngularMotor.html">TechnicMediumAngularMotor</a><a href="#technicmediumangularmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technicmediumhub"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicMediumHub.html">TechnicMediumHub</a><a href="#technicmediumhub" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technicmediumhubaccelerometersensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicMediumHubAccelerometerSensor.html">TechnicMediumHubAccelerometerSensor</a><a href="#technicmediumhubaccelerometersensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technicmediumhubgyrosensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicMediumHubGyroSensor.html">TechnicMediumHubGyroSensor</a><a href="#technicmediumhubgyrosensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technicmediumhubtiltsensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicMediumHubTiltSensor.html">TechnicMediumHubTiltSensor</a><a href="#technicmediumhubtiltsensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technicsmallangularmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicSmallAngularMotor.html">TechnicSmallAngularMotor</a><a href="#technicsmallangularmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="technicxlargelinearmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TechnicXLargeLinearMotor.html">TechnicXLargeLinearMotor</a><a href="#technicxlargelinearmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="tiltsensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TiltSensor.html">TiltSensor</a><a href="#tiltsensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="trainmotor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TrainMotor.html">TrainMotor</a><a href="#trainmotor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="voltagesensor"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/VoltageSensor.html">VoltageSensor</a><a href="#voltagesensor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="wedo2smarthub"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/WeDo2SmartHub.html">WeDo2SmartHub</a><a href="#wedo2smarthub" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Variables</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="colornames"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/ColorNames.html">ColorNames</a><a href="#colornames" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="devicetypenames"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/DeviceTypeNames.html">DeviceTypeNames</a><a href="#devicetypenames" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="hubtypenames"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/HubTypeNames.html">HubTypeNames</a><a href="#hubtypenames" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="iswebbluetooth"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/isWebBluetooth.html">isWebBluetooth</a><a href="#iswebbluetooth" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-References"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>References</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="default"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>default</span><span> → </span><a href="classes/PoweredUP.html">PoweredUP</a><a href="#default" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Namespaces"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Namespaces</summary><div><a href="#consts"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Namespace"><use href="assets/icons.svg#icon-4"></use></svg><span>Consts</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Enumerations"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Enumerations</summary><div><a href="#actiontype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Action<wbr/>Type</span></a><a href="#alertoperation"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Alert<wbr/>Operation</span></a><a href="#alertpayload"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Alert<wbr/>Payload</span></a><a href="#alerttype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Alert<wbr/>Type</span></a><a href="#blecharacteristic"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>BLE<wbr/>Characteristic</span></a><a href="#blemanufacturerdata"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>BLE<wbr/>Manufacturer<wbr/>Data</span></a><a href="#bleservice"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>BLE<wbr/>Service</span></a><a href="#brakingstyle"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Braking<wbr/>Style</span></a><a href="#buttonstate"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Button<wbr/>State</span></a><a href="#devicetype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Device<wbr/>Type</span></a><a href="#duplotrainbasesound"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Duplo<wbr/>Train<wbr/>Base<wbr/>Sound</span></a><a href="#errorcode"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Error<wbr/>Code</span></a><a href="#event"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Event</span></a><a href="#hubpropertyoperation"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Hub<wbr/>Property<wbr/>Operation</span></a><a href="#hubpropertypayload"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Hub<wbr/>Property<wbr/>Payload</span></a><a href="#hubpropertyreference"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Hub<wbr/>Property<wbr/>Reference</span></a><a href="#hubtype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Hub<wbr/>Type</span></a><a href="#hwnetworkcommandtype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>HW<wbr/>Net<wbr/>Work<wbr/>Command<wbr/>Type</span></a><a href="#hwnetworkfamily"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>HW<wbr/>Network<wbr/>Family</span></a><a href="#hwnetworksubfamily"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>HW<wbr/>Network<wbr/>Sub<wbr/>Family</span></a><a href="#iotypeid"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>IO<wbr/>Type<wbr/>ID</span></a><a href="#mariocolor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Mario<wbr/>Color</span></a><a href="#mariopantstype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Mario<wbr/>Pants<wbr/>Type</span></a><a href="#messagetype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Message<wbr/>Type</span></a><a href="#modeinformationtype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Mode<wbr/>Information<wbr/>Type</span></a><a href="#portinputformatsetupsubcommand"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Port<wbr/>Input<wbr/>Format<wbr/>Setup<wbr/>Sub<wbr/>Command</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Classes"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Classes</summary><div><a href="#absolutemotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Absolute<wbr/>Motor</span></a><a href="#basehub"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Base<wbr/>Hub</span></a><a href="#basicmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Basic<wbr/>Motor</span></a><a href="#color"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Color</span></a><a href="#colordistancesensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Color<wbr/>Distance<wbr/>Sensor</span></a><a href="#currentsensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Current<wbr/>Sensor</span></a><a href="#device"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Device</span></a><a href="#duplotrainbase"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Duplo<wbr/>Train<wbr/>Base</span></a><a href="#duplotrainbasecolorsensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Duplo<wbr/>Train<wbr/>Base<wbr/>Color<wbr/>Sensor</span></a><a href="#duplotrainbasemotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Duplo<wbr/>Train<wbr/>Base<wbr/>Motor</span></a><a href="#duplotrainbasespeaker"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Duplo<wbr/>Train<wbr/>Base<wbr/>Speaker</span></a><a href="#duplotrainbasespeedometer"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Duplo<wbr/>Train<wbr/>Base<wbr/>Speedometer</span></a><a href="#hub"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Hub</span></a><a href="#hubled"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Hub<wbr/>LED</span></a><a href="#light"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Light</span></a><a href="#mario"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Mario</span></a><a href="#mediumlinearmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Medium<wbr/>Linear<wbr/>Motor</span></a><a href="#motionsensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Motion<wbr/>Sensor</span></a><a href="#movehub"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Move<wbr/>Hub</span></a><a href="#movehubmediumlinearmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Move<wbr/>Hub<wbr/>Medium<wbr/>Linear<wbr/>Motor</span></a><a href="#movehubtiltsensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Move<wbr/>Hub<wbr/>Tilt<wbr/>Sensor</span></a><a href="#piezobuzzer"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Piezo<wbr/>Buzzer</span></a><a href="#poweredup"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Powered<wbr/>UP</span></a><a href="#remotecontrol"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Remote<wbr/>Control</span></a><a href="#remotecontrolbutton"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Remote<wbr/>Control<wbr/>Button</span></a><a href="#simplemediumlinearmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Simple<wbr/>Medium<wbr/>Linear<wbr/>Motor</span></a><a href="#tachomotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Tacho<wbr/>Motor</span></a><a href="#technic3x3colorlightmatrix"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic3x3<wbr/>Color<wbr/>Light<wbr/>Matrix</span></a><a href="#techniccolorsensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Color<wbr/>Sensor</span></a><a href="#technicdistancesensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Distance<wbr/>Sensor</span></a><a href="#technicforcesensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Force<wbr/>Sensor</span></a><a href="#techniclargeangularmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Large<wbr/>Angular<wbr/>Motor</span></a><a href="#techniclargelinearmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Large<wbr/>Linear<wbr/>Motor</span></a><a href="#technicmediumangularmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Medium<wbr/>Angular<wbr/>Motor</span></a><a href="#technicmediumhub"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Medium<wbr/>Hub</span></a><a href="#technicmediumhubaccelerometersensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Medium<wbr/>Hub<wbr/>Accelerometer<wbr/>Sensor</span></a><a href="#technicmediumhubgyrosensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Medium<wbr/>Hub<wbr/>Gyro<wbr/>Sensor</span></a><a href="#technicmediumhubtiltsensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Medium<wbr/>Hub<wbr/>Tilt<wbr/>Sensor</span></a><a href="#technicsmallangularmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>Small<wbr/>Angular<wbr/>Motor</span></a><a href="#technicxlargelinearmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Technic<wbr/>X<wbr/>Large<wbr/>Linear<wbr/>Motor</span></a><a href="#tiltsensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Tilt<wbr/>Sensor</span></a><a href="#trainmotor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Train<wbr/>Motor</span></a><a href="#voltagesensor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Voltage<wbr/>Sensor</span></a><a href="#wedo2smarthub"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>We<wbr/>Do2<wbr/>Smart<wbr/>Hub</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Variables</summary><div><a href="#colornames"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>Color<wbr/>Names</span></a><a href="#devicetypenames"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>Device<wbr/>Type<wbr/>Names</span></a><a href="#hubtypenames"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>Hub<wbr/>Type<wbr/>Names</span></a><a href="#iswebbluetooth"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>is<wbr/>Web<wbr/>Bluetooth</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-References"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>References</summary><div><a href="#default"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Reference"><use href="assets/icons.svg#icon-4194304"></use></svg><span>default</span></a></div></details></div></details></div><div class="site-menu"><nav id="tsd-sidebar-links" class="tsd-navigation"><a href="https://github.com/nathankellenicki/node-poweredup" class="tsd-nav-link">GitHub</a></nav><nav class="tsd-navigation"><a href="modules.html" class="current">node-poweredup</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>