node-poweredup 7.0.0 → 8.0.2

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 (294) hide show
  1. package/.drone.yml +1 -0
  2. package/.gitmodules +3 -0
  3. package/{jsdoc.conf.json → .jsdoc.json} +14 -1
  4. package/README.md +47 -42
  5. package/dist/browser/poweredup.js +1 -1
  6. package/dist/browser/poweredup.js.map +1 -1
  7. package/dist/node/color.d.ts +6 -0
  8. package/dist/node/color.js +38 -0
  9. package/dist/node/color.js.map +1 -0
  10. package/dist/node/consts.d.ts +47 -26
  11. package/dist/node/consts.js +46 -25
  12. package/dist/node/consts.js.map +1 -1
  13. package/dist/node/devices/colordistancesensor.d.ts +11 -0
  14. package/dist/node/devices/colordistancesensor.js +93 -1
  15. package/dist/node/devices/colordistancesensor.js.map +1 -1
  16. package/dist/node/devices/device.js +2 -0
  17. package/dist/node/devices/device.js.map +1 -1
  18. package/dist/node/devices/technic3x3colorlightmatrix.d.ts +22 -0
  19. package/dist/node/devices/technic3x3colorlightmatrix.js +77 -0
  20. package/dist/node/devices/technic3x3colorlightmatrix.js.map +1 -0
  21. package/dist/node/devices/technicmediumhubtiltsensor.d.ts +25 -1
  22. package/dist/node/devices/technicmediumhubtiltsensor.js +70 -2
  23. package/dist/node/devices/technicmediumhubtiltsensor.js.map +1 -1
  24. package/dist/node/devices/technicsmallangularmotor.d.ts +12 -0
  25. package/dist/node/devices/technicsmallangularmotor.js +35 -0
  26. package/dist/node/devices/technicsmallangularmotor.js.map +1 -0
  27. package/dist/node/hubs/basehub.js +4 -0
  28. package/dist/node/hubs/basehub.js.map +1 -1
  29. package/dist/node/hubs/lpf2hub.js +5 -4
  30. package/dist/node/hubs/lpf2hub.js.map +1 -1
  31. package/dist/node/hubs/technicmediumhub.js +1 -1
  32. package/dist/node/hubs/technicmediumhub.js.map +1 -1
  33. package/dist/node/hubs/technicsmallhub.d.ts +18 -0
  34. package/dist/node/hubs/technicsmallhub.js +64 -0
  35. package/dist/node/hubs/technicsmallhub.js.map +1 -0
  36. package/dist/node/index-browser.js +6 -0
  37. package/dist/node/index-browser.js.map +1 -1
  38. package/dist/node/index-node.d.ts +4 -1
  39. package/dist/node/index-node.js +7 -1
  40. package/dist/node/index-node.js.map +1 -1
  41. package/dist/node/nobleabstraction.js +2 -0
  42. package/dist/node/nobleabstraction.js.map +1 -1
  43. package/dist/node/poweredup-browser.js +8 -1
  44. package/dist/node/poweredup-browser.js.map +1 -1
  45. package/dist/node/poweredup-node.js +30 -1
  46. package/dist/node/poweredup-node.js.map +1 -1
  47. package/dist/node/webbleabstraction.js +1 -0
  48. package/dist/node/webbleabstraction.js.map +1 -1
  49. package/docs/AbsoluteMotor.html +1220 -1405
  50. package/docs/BaseHub.html +787 -872
  51. package/docs/BasicMotor.html +923 -1078
  52. package/docs/ColorDistanceSensor.html +2188 -1540
  53. package/docs/CurrentSensor.html +711 -800
  54. package/docs/Device.html +574 -665
  55. package/docs/DuploTrainBase.html +1255 -1375
  56. package/docs/DuploTrainBaseColorSensor.html +1009 -1082
  57. package/docs/DuploTrainBaseMotor.html +958 -1113
  58. package/docs/DuploTrainBaseSpeaker.html +793 -916
  59. package/docs/DuploTraniBaseSpeedometer.html +628 -719
  60. package/docs/Hub.html +5621 -2397
  61. package/docs/HubLED.html +831 -944
  62. package/docs/LPF2Hub.html +1215 -1335
  63. package/docs/Light.html +831 -944
  64. package/docs/Mario.html +1255 -1420
  65. package/docs/MarioAccelerometer.html +834 -911
  66. package/docs/MarioBarcodeSensor.html +834 -911
  67. package/docs/MarioPantsSensor.html +711 -800
  68. package/docs/MediumLinearMotor.html +861 -1000
  69. package/docs/MotionSensor.html +711 -800
  70. package/docs/MoveHub.html +1255 -1420
  71. package/docs/MoveHubMediumLinearMotor.html +861 -1000
  72. package/docs/MoveHubTiltSensor.html +730 -814
  73. package/docs/PiezoBuzzer.html +732 -834
  74. package/docs/PoweredUP.html +4322 -0
  75. package/docs/RemoteControl.html +1255 -1420
  76. package/docs/RemoteControlButton.html +711 -800
  77. package/docs/SimpleMediumLinearMotor.html +628 -719
  78. package/docs/TachoMotor.html +1644 -1835
  79. package/docs/Technic3x3ColorLightMatrix.html +1181 -0
  80. package/docs/TechnicColorSensor.html +1008 -1099
  81. package/docs/TechnicDistanceSensor.html +939 -1027
  82. package/docs/TechnicForceSensor.html +883 -968
  83. package/docs/TechnicLargeAngularMotor.html +1254 -1439
  84. package/docs/TechnicLargeLinearMotor.html +1254 -1439
  85. package/docs/TechnicMediumAngularMotor.html +1254 -1439
  86. package/docs/TechnicMediumHub.html +1255 -1420
  87. package/docs/TechnicMediumHubAccelerometerSensor.html +749 -828
  88. package/docs/TechnicMediumHubGyroSensor.html +749 -828
  89. package/docs/TechnicMediumHubTiltSensor.html +1340 -831
  90. package/docs/TechnicSmallAngularMotor.html +2073 -0
  91. package/docs/TechnicXLargeLinearMotor.html +1254 -1439
  92. package/docs/TiltSensor.html +730 -814
  93. package/docs/TrainMotor.html +958 -1113
  94. package/docs/VoltageSensor.html +711 -800
  95. package/docs/WeDo2SmartHub.html +1112 -1221
  96. package/docs/consts.js.html +791 -0
  97. package/docs/devices_absolutemotor.js.html +89 -191
  98. package/docs/devices_basicmotor.js.html +89 -191
  99. package/docs/devices_colordistancesensor.js.html +182 -192
  100. package/docs/devices_currentsensor.js.html +89 -191
  101. package/docs/devices_device.js.html +91 -191
  102. package/docs/devices_duplotrainbasecolorsensor.js.html +89 -191
  103. package/docs/devices_duplotrainbasemotor.js.html +92 -194
  104. package/docs/devices_duplotrainbasespeaker.js.html +89 -191
  105. package/docs/devices_duplotrainbasespeedometer.js.html +89 -191
  106. package/docs/devices_hubled.js.html +89 -191
  107. package/docs/devices_light.js.html +89 -191
  108. package/docs/devices_marioaccelerometer.js.html +89 -191
  109. package/docs/devices_mariobarcodesensor.js.html +89 -191
  110. package/docs/devices_mariopantssensor.js.html +89 -191
  111. package/docs/devices_mediumlinearmotor.js.html +92 -194
  112. package/docs/devices_motionsensor.js.html +89 -191
  113. package/docs/devices_movehubmediumlinearmotor.js.html +92 -194
  114. package/docs/devices_movehubtiltsensor.js.html +89 -191
  115. package/docs/devices_piezobuzzer.js.html +89 -191
  116. package/docs/devices_remotecontrolbutton.js.html +89 -191
  117. package/docs/devices_simplemediumlinearmotor.js.html +92 -194
  118. package/docs/devices_tachomotor.js.html +89 -191
  119. package/docs/devices_technic3x3colorlightmatrix.js.html +190 -0
  120. package/docs/devices_techniccolorsensor.js.html +89 -191
  121. package/docs/devices_technicdistancesensor.js.html +89 -191
  122. package/docs/devices_technicforcesensor.js.html +89 -191
  123. package/docs/devices_techniclargeangularmotor.js.html +92 -194
  124. package/docs/devices_techniclargelinearmotor.js.html +92 -194
  125. package/docs/devices_technicmediumangularmotor.js.html +92 -194
  126. package/docs/devices_technicmediumhubaccelerometersensor.js.html +89 -191
  127. package/docs/devices_technicmediumhubgyrosensor.js.html +89 -191
  128. package/docs/devices_technicmediumhubtiltsensor.js.html +159 -193
  129. package/docs/devices_technicsmallangularmotor.js.html +148 -0
  130. package/docs/devices_technicxlargelinearmotor.js.html +92 -194
  131. package/docs/devices_tiltsensor.js.html +89 -191
  132. package/docs/devices_trainmotor.js.html +92 -194
  133. package/docs/devices_voltagesensor.js.html +89 -191
  134. package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
  135. package/docs/fonts/OpenSans-Bold-webfont.svg +1830 -0
  136. package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
  137. package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  138. package/docs/fonts/OpenSans-BoldItalic-webfont.svg +1830 -0
  139. package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  140. package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
  141. package/docs/fonts/OpenSans-Italic-webfont.svg +1830 -0
  142. package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
  143. package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
  144. package/docs/fonts/OpenSans-Light-webfont.svg +1831 -0
  145. package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
  146. package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  147. package/docs/fonts/OpenSans-LightItalic-webfont.svg +1835 -0
  148. package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  149. package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
  150. package/docs/fonts/OpenSans-Regular-webfont.svg +1831 -0
  151. package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
  152. package/docs/fonts/OpenSans-Semibold-webfont.eot +0 -0
  153. package/docs/fonts/OpenSans-Semibold-webfont.svg +1830 -0
  154. package/docs/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  155. package/docs/fonts/OpenSans-Semibold-webfont.woff +0 -0
  156. package/docs/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  157. package/docs/fonts/OpenSans-SemiboldItalic-webfont.svg +1830 -0
  158. package/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  159. package/docs/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  160. package/docs/global.html +9829 -0
  161. package/docs/hubs_basehub.js.html +93 -191
  162. package/docs/hubs_duplotrainbase.js.html +89 -191
  163. package/docs/hubs_hub.js.html +89 -191
  164. package/docs/hubs_lpf2hub.js.html +94 -195
  165. package/docs/hubs_mario.js.html +89 -191
  166. package/docs/hubs_movehub.js.html +89 -191
  167. package/docs/hubs_remotecontrol.js.html +89 -191
  168. package/docs/hubs_technicmediumhub.js.html +90 -192
  169. package/docs/hubs_technicsmallhub.js.html +177 -0
  170. package/docs/hubs_wedo2smarthub.js.html +89 -191
  171. package/docs/icons/home.svg +4 -0
  172. package/docs/icons/search.svg +4 -0
  173. package/docs/index.html +143 -236
  174. package/docs/poweredup-browser.js.html +348 -0
  175. package/docs/poweredup-node.js.html +314 -0
  176. package/docs/scripts/linenumber.js +23 -0
  177. package/docs/scripts/pagelocation.js +89 -0
  178. package/docs/styles/collapse.css +27 -0
  179. package/docs/styles/jsdoc-default.css +953 -0
  180. package/docs/styles/prettify-jsdoc.css +111 -0
  181. package/docs/styles/prettify-tomorrow.css +15 -9
  182. package/jsdoc-template/braintree/CHANGELOG.md +31 -0
  183. package/jsdoc-template/braintree/LICENSE +27 -0
  184. package/jsdoc-template/braintree/README.md +90 -0
  185. package/jsdoc-template/braintree/package.json +39 -0
  186. package/jsdoc-template/braintree/publish.js +675 -0
  187. package/jsdoc-template/braintree/static/fonts/OpenSans-Bold-webfont.eot +0 -0
  188. package/jsdoc-template/braintree/static/fonts/OpenSans-Bold-webfont.svg +1830 -0
  189. package/jsdoc-template/braintree/static/fonts/OpenSans-Bold-webfont.woff +0 -0
  190. package/jsdoc-template/braintree/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  191. package/jsdoc-template/braintree/static/fonts/OpenSans-BoldItalic-webfont.svg +1830 -0
  192. package/jsdoc-template/braintree/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  193. package/jsdoc-template/braintree/static/fonts/OpenSans-Italic-webfont.eot +0 -0
  194. package/jsdoc-template/braintree/static/fonts/OpenSans-Italic-webfont.svg +1830 -0
  195. package/jsdoc-template/braintree/static/fonts/OpenSans-Italic-webfont.woff +0 -0
  196. package/jsdoc-template/braintree/static/fonts/OpenSans-Light-webfont.eot +0 -0
  197. package/jsdoc-template/braintree/static/fonts/OpenSans-Light-webfont.svg +1831 -0
  198. package/jsdoc-template/braintree/static/fonts/OpenSans-Light-webfont.woff +0 -0
  199. package/jsdoc-template/braintree/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  200. package/jsdoc-template/braintree/static/fonts/OpenSans-LightItalic-webfont.svg +1835 -0
  201. package/jsdoc-template/braintree/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  202. package/jsdoc-template/braintree/static/fonts/OpenSans-Regular-webfont.eot +0 -0
  203. package/jsdoc-template/braintree/static/fonts/OpenSans-Regular-webfont.svg +1831 -0
  204. package/jsdoc-template/braintree/static/fonts/OpenSans-Regular-webfont.woff +0 -0
  205. package/jsdoc-template/braintree/static/fonts/OpenSans-Semibold-webfont.eot +0 -0
  206. package/jsdoc-template/braintree/static/fonts/OpenSans-Semibold-webfont.svg +1830 -0
  207. package/jsdoc-template/braintree/static/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  208. package/jsdoc-template/braintree/static/fonts/OpenSans-Semibold-webfont.woff +0 -0
  209. package/jsdoc-template/braintree/static/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  210. package/jsdoc-template/braintree/static/fonts/OpenSans-SemiboldItalic-webfont.svg +1830 -0
  211. package/jsdoc-template/braintree/static/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  212. package/jsdoc-template/braintree/static/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  213. package/jsdoc-template/braintree/static/icons/home.svg +4 -0
  214. package/jsdoc-template/braintree/static/icons/search.svg +4 -0
  215. package/jsdoc-template/braintree/static/scripts/linenumber.js +23 -0
  216. package/jsdoc-template/braintree/static/scripts/pagelocation.js +89 -0
  217. package/jsdoc-template/braintree/static/styles/collapse.css +27 -0
  218. package/jsdoc-template/braintree/static/styles/jsdoc-default.css +953 -0
  219. package/jsdoc-template/braintree/static/styles/prettify-jsdoc.css +111 -0
  220. package/jsdoc-template/braintree/static/styles/prettify-tomorrow.css +138 -0
  221. package/jsdoc-template/braintree/tmpl/augments.tmpl +10 -0
  222. package/jsdoc-template/braintree/tmpl/container.tmpl +213 -0
  223. package/jsdoc-template/braintree/tmpl/details.tmpl +223 -0
  224. package/jsdoc-template/braintree/tmpl/example.tmpl +2 -0
  225. package/jsdoc-template/braintree/tmpl/examples.tmpl +14 -0
  226. package/jsdoc-template/braintree/tmpl/exceptions.tmpl +28 -0
  227. package/jsdoc-template/braintree/tmpl/layout.tmpl +150 -0
  228. package/jsdoc-template/braintree/tmpl/mainpage.tmpl +9 -0
  229. package/jsdoc-template/braintree/tmpl/members.tmpl +38 -0
  230. package/jsdoc-template/braintree/tmpl/method.tmpl +128 -0
  231. package/jsdoc-template/braintree/tmpl/params.tmpl +125 -0
  232. package/jsdoc-template/braintree/tmpl/properties.tmpl +111 -0
  233. package/jsdoc-template/braintree/tmpl/returns.tmpl +17 -0
  234. package/jsdoc-template/braintree/tmpl/source.tmpl +9 -0
  235. package/jsdoc-template/braintree/tmpl/tutorial.tmpl +23 -0
  236. package/jsdoc-template/braintree/tmpl/type.tmpl +11 -0
  237. package/package.json +13 -14
  238. package/src/color.ts +20 -0
  239. package/src/consts.ts +46 -25
  240. package/src/devices/colordistancesensor.ts +96 -2
  241. package/src/devices/device.ts +1 -0
  242. package/src/devices/technic3x3colorlightmatrix.ts +64 -0
  243. package/src/devices/technicmediumhubtiltsensor.ts +75 -3
  244. package/src/devices/technicsmallangularmotor.ts +17 -0
  245. package/src/hubs/basehub.ts +4 -0
  246. package/src/hubs/lpf2hub.ts +5 -6
  247. package/src/hubs/technicmediumhub.ts +1 -1
  248. package/src/hubs/technicsmallhub.ts +60 -0
  249. package/src/index-browser.ts +6 -0
  250. package/src/index-node.ts +6 -0
  251. package/src/nobleabstraction.ts +2 -0
  252. package/src/poweredup-browser.ts +8 -1
  253. package/src/poweredup-node.ts +9 -1
  254. package/src/webbleabstraction.ts +1 -0
  255. package/docs/classes.list.html +0 -8798
  256. package/docs/fonts/glyphicons-halflings-regular.eot +0 -0
  257. package/docs/fonts/glyphicons-halflings-regular.svg +0 -288
  258. package/docs/fonts/glyphicons-halflings-regular.ttf +0 -0
  259. package/docs/fonts/glyphicons-halflings-regular.woff +0 -0
  260. package/docs/fonts/glyphicons-halflings-regular.woff2 +0 -0
  261. package/docs/img/glyphicons-halflings-white.png +0 -0
  262. package/docs/img/glyphicons-halflings.png +0 -0
  263. package/docs/quicksearch.html +0 -31
  264. package/docs/scripts/docstrap.lib.js +0 -11
  265. package/docs/scripts/fulltext-search-ui.js +0 -89
  266. package/docs/scripts/fulltext-search.js +0 -36
  267. package/docs/scripts/lunr.min.js +0 -6
  268. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  269. package/docs/scripts/prettify/jquery.min.js +0 -6
  270. package/docs/scripts/prettify/lang-css.js +0 -21
  271. package/docs/scripts/prettify/prettify.js +0 -496
  272. package/docs/scripts/sunlight.js +0 -1157
  273. package/docs/scripts/toc.js +0 -203
  274. package/docs/styles/darkstrap.css +0 -960
  275. package/docs/styles/site.cerulean.css +0 -7008
  276. package/docs/styles/site.cosmo.css +0 -7061
  277. package/docs/styles/site.cyborg.css +0 -7048
  278. package/docs/styles/site.darkly.css +0 -7171
  279. package/docs/styles/site.darkstrap.css +0 -5638
  280. package/docs/styles/site.dibs-bootstrap.css +0 -5899
  281. package/docs/styles/site.flatly.css +0 -7147
  282. package/docs/styles/site.journal.css +0 -6973
  283. package/docs/styles/site.lumen.css +0 -7298
  284. package/docs/styles/site.paper.css +0 -7623
  285. package/docs/styles/site.readable.css +0 -6997
  286. package/docs/styles/site.sandstone.css +0 -7035
  287. package/docs/styles/site.simplex.css +0 -7023
  288. package/docs/styles/site.slate.css +0 -7343
  289. package/docs/styles/site.spacelab.css +0 -7055
  290. package/docs/styles/site.superhero.css +0 -7131
  291. package/docs/styles/site.united.css +0 -6895
  292. package/docs/styles/site.yeti.css +0 -7195
  293. package/docs/styles/sunlight.dark.css +0 -345
  294. package/docs/styles/sunlight.default.css +0 -344
@@ -0,0 +1,314 @@
1
+
2
+
3
+ <!DOCTYPE html>
4
+ <html lang="en">
5
+ <head>
6
+
7
+ <meta charset="utf-8">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
+
10
+ <title>
11
+ poweredup-node.js - Documentation
12
+ </title>
13
+
14
+ <link href="https://www.braintreepayments.com/images/favicon-ccda0b14.png" rel="icon" type="image/png">
15
+
16
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
17
+ <script>hljs.initHighlightingOnLoad();</script>
18
+
19
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
20
+
21
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
22
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
23
+
24
+
25
+
26
+
27
+ <!-- start Mixpanel -->
28
+ <script type="text/javascript">(function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments,
29
+ 0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
30
+ for(h=0;h<k.length;h++)e(d,k[h]);a._i.push([b,c,f])};a.__SV=1.2;b=e.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";c=e.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}})(document,window.mixpanel||[]);
31
+ mixpanel.init("1919205b2da72e4da3b9b6639b444d59");</script>
32
+ <!-- end Mixpanel -->
33
+ </head>
34
+
35
+ <body>
36
+ <svg style="display: none;">
37
+ <defs>
38
+ <symbol id="linkIcon" fill="#706d77" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
39
+ <path d="M0 0h24v24H0z" fill="none"/>
40
+ <path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
41
+ </symbol>
42
+ </defs>
43
+ </svg>
44
+
45
+ <input type="checkbox" id="nav-trigger" class="nav-trigger" />
46
+ <label for="nav-trigger" class="navicon-button x">
47
+ <div class="navicon"></div>
48
+ </label>
49
+
50
+ <label for="nav-trigger" class="overlay"></label>
51
+
52
+ <div class="top-nav-wrapper">
53
+ <ul>
54
+ <li >
55
+ <a href="index.html">
56
+
57
+ <svg fill="#6D6D6D" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
58
+ <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
59
+ <path d="M0 0h24v24H0z" fill="none"/>
60
+ </svg>
61
+
62
+
63
+ </a>
64
+ </li>
65
+
66
+
67
+
68
+ </ul>
69
+ </div>
70
+
71
+ <nav>
72
+ <h3 class="reference-title">
73
+ node-poweredup Reference
74
+ </h3>
75
+
76
+
77
+
78
+ <h3>Classes</h3><ul><li id="AbsoluteMotor-nav"><a href="AbsoluteMotor.html">AbsoluteMotor</a><ul class='methods'><li data-type="method" id="AbsoluteMotor-gotoAngle-nav"><a href="AbsoluteMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="AbsoluteMotor-gotoRealZero-nav"><a href="AbsoluteMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="AbsoluteMotor-resetZero-nav"><a href="AbsoluteMotor.html#resetZero">resetZero</a></li><li data-type="method" id="AbsoluteMotor-rotateByDegrees-nav"><a href="AbsoluteMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="AbsoluteMotor-setAccelerationTime-nav"><a href="AbsoluteMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="AbsoluteMotor-setBrakingStyle-nav"><a href="AbsoluteMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="AbsoluteMotor-setDecelerationTime-nav"><a href="AbsoluteMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="AbsoluteMotor-setMaxPower-nav"><a href="AbsoluteMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="AbsoluteMotor-setSpeed-nav"><a href="AbsoluteMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="BaseHub-nav"><a href="BaseHub.html">BaseHub</a></li><li id="BasicMotor-nav"><a href="BasicMotor.html">BasicMotor</a><ul class='methods'><li data-type="method" id="BasicMotor-brake-nav"><a href="BasicMotor.html#brake">brake</a></li><li data-type="method" id="BasicMotor-rampPower-nav"><a href="BasicMotor.html#rampPower">rampPower</a></li><li data-type="method" id="BasicMotor-setPower-nav"><a href="BasicMotor.html#setPower">setPower</a></li><li data-type="method" id="BasicMotor-stop-nav"><a href="BasicMotor.html#stop">stop</a></li></ul></li><li id="ColorDistanceSensor-nav"><a href="ColorDistanceSensor.html">ColorDistanceSensor</a><ul class='methods'><li data-type="method" id="ColorDistanceSensor-sendPFIRMessage-nav"><a href="ColorDistanceSensor.html#sendPFIRMessage">sendPFIRMessage</a></li><li data-type="method" id="ColorDistanceSensor-setColor-nav"><a href="ColorDistanceSensor.html#setColor">setColor</a></li><li data-type="method" id="ColorDistanceSensor-setDistanceCount-nav"><a href="ColorDistanceSensor.html#setDistanceCount">setDistanceCount</a></li><li data-type="method" id="ColorDistanceSensor-setPFExtendedChannel-nav"><a href="ColorDistanceSensor.html#setPFExtendedChannel">setPFExtendedChannel</a></li><li data-type="method" id="ColorDistanceSensor-setPFPower-nav"><a href="ColorDistanceSensor.html#setPFPower">setPFPower</a></li><li data-type="method" id="ColorDistanceSensor-startPFMotors-nav"><a href="ColorDistanceSensor.html#startPFMotors">startPFMotors</a></li></ul></li><li id="CurrentSensor-nav"><a href="CurrentSensor.html">CurrentSensor</a></li><li id="Device-nav"><a href="Device.html">Device</a></li><li id="DuploTrainBase-nav"><a href="DuploTrainBase.html">DuploTrainBase</a><ul class='methods'><li data-type="method" id="DuploTrainBase-createVirtualPort-nav"><a href="DuploTrainBase.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="DuploTrainBase-setName-nav"><a href="DuploTrainBase.html#setName">setName</a></li><li data-type="method" id="DuploTrainBase-shutdown-nav"><a href="DuploTrainBase.html#shutdown">shutdown</a></li></ul></li><li id="DuploTrainBaseColorSensor-nav"><a href="DuploTrainBaseColorSensor.html">DuploTrainBaseColorSensor</a></li><li id="DuploTrainBaseMotor-nav"><a href="DuploTrainBaseMotor.html">DuploTrainBaseMotor</a><ul class='methods'><li data-type="method" id="DuploTrainBaseMotor-brake-nav"><a href="DuploTrainBaseMotor.html#brake">brake</a></li><li data-type="method" id="DuploTrainBaseMotor-rampPower-nav"><a href="DuploTrainBaseMotor.html#rampPower">rampPower</a></li><li data-type="method" id="DuploTrainBaseMotor-setPower-nav"><a href="DuploTrainBaseMotor.html#setPower">setPower</a></li><li data-type="method" id="DuploTrainBaseMotor-stop-nav"><a href="DuploTrainBaseMotor.html#stop">stop</a></li></ul></li><li id="DuploTrainBaseSpeaker-nav"><a href="DuploTrainBaseSpeaker.html">DuploTrainBaseSpeaker</a><ul class='methods'><li data-type="method" id="DuploTrainBaseSpeaker-playSound-nav"><a href="DuploTrainBaseSpeaker.html#playSound">playSound</a></li><li data-type="method" id="DuploTrainBaseSpeaker-playTone-nav"><a href="DuploTrainBaseSpeaker.html#playTone">playTone</a></li></ul></li><li id="DuploTraniBaseSpeedometer-nav"><a href="DuploTraniBaseSpeedometer.html">DuploTraniBaseSpeedometer</a></li><li id="Hub-nav"><a href="Hub.html">Hub</a><ul class='methods'><li data-type="method" id="Hub-connect-nav"><a href="Hub.html#connect">connect</a></li><li data-type="method" id="Hub-createVirtualPort-nav"><a href="Hub.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="Hub-disconnect-nav"><a href="Hub.html#disconnect">disconnect</a></li><li data-type="method" id="Hub-getDeviceAtPort-nav"><a href="Hub.html#getDeviceAtPort">getDeviceAtPort</a></li><li data-type="method" id="Hub-getDevices-nav"><a href="Hub.html#getDevices">getDevices</a></li><li data-type="method" id="Hub-getDevicesByType-nav"><a href="Hub.html#getDevicesByType">getDevicesByType</a></li><li data-type="method" id="Hub-setName-nav"><a href="Hub.html#setName">setName</a></li><li data-type="method" id="Hub-shutdown-nav"><a href="Hub.html#shutdown">shutdown</a></li><li data-type="method" id="Hub-sleep-nav"><a href="Hub.html#sleep">sleep</a></li><li data-type="method" id="Hub-wait-nav"><a href="Hub.html#wait">wait</a></li><li data-type="method" id="Hub-waitForDeviceAtPort-nav"><a href="Hub.html#waitForDeviceAtPort">waitForDeviceAtPort</a></li><li data-type="method" id="Hub-waitForDeviceByType-nav"><a href="Hub.html#waitForDeviceByType">waitForDeviceByType</a></li></ul></li><li id="HubLED-nav"><a href="HubLED.html">HubLED</a><ul class='methods'><li data-type="method" id="HubLED-setColor-nav"><a href="HubLED.html#setColor">setColor</a></li><li data-type="method" id="HubLED-setRGB-nav"><a href="HubLED.html#setRGB">setRGB</a></li></ul></li><li id="Light-nav"><a href="Light.html">Light</a><ul class='methods'><li data-type="method" id="Light-rampBrightness-nav"><a href="Light.html#rampBrightness">rampBrightness</a></li><li data-type="method" id="Light-setBrightness-nav"><a href="Light.html#setBrightness">setBrightness</a></li></ul></li><li id="LPF2Hub-nav"><a href="LPF2Hub.html">LPF2Hub</a><ul class='methods'><li data-type="method" id="LPF2Hub-createVirtualPort-nav"><a href="LPF2Hub.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="LPF2Hub-setName-nav"><a href="LPF2Hub.html#setName">setName</a></li><li data-type="method" id="LPF2Hub-shutdown-nav"><a href="LPF2Hub.html#shutdown">shutdown</a></li></ul></li><li id="Mario-nav"><a href="Mario.html">Mario</a><ul class='methods'><li data-type="method" id="Mario-createVirtualPort-nav"><a href="Mario.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="Mario-setName-nav"><a href="Mario.html#setName">setName</a></li><li data-type="method" id="Mario-shutdown-nav"><a href="Mario.html#shutdown">shutdown</a></li></ul></li><li id="MarioAccelerometer-nav"><a href="MarioAccelerometer.html">MarioAccelerometer</a></li><li id="MarioBarcodeSensor-nav"><a href="MarioBarcodeSensor.html">MarioBarcodeSensor</a></li><li id="MarioPantsSensor-nav"><a href="MarioPantsSensor.html">MarioPantsSensor</a></li><li id="MediumLinearMotor-nav"><a href="MediumLinearMotor.html">MediumLinearMotor</a><ul class='methods'><li data-type="method" id="MediumLinearMotor-rotateByDegrees-nav"><a href="MediumLinearMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="MediumLinearMotor-setAccelerationTime-nav"><a href="MediumLinearMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="MediumLinearMotor-setBrakingStyle-nav"><a href="MediumLinearMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="MediumLinearMotor-setDecelerationTime-nav"><a href="MediumLinearMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="MediumLinearMotor-setMaxPower-nav"><a href="MediumLinearMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="MediumLinearMotor-setSpeed-nav"><a href="MediumLinearMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="MotionSensor-nav"><a href="MotionSensor.html">MotionSensor</a></li><li id="MoveHub-nav"><a href="MoveHub.html">MoveHub</a><ul class='methods'><li data-type="method" id="MoveHub-createVirtualPort-nav"><a href="MoveHub.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="MoveHub-setName-nav"><a href="MoveHub.html#setName">setName</a></li><li data-type="method" id="MoveHub-shutdown-nav"><a href="MoveHub.html#shutdown">shutdown</a></li></ul></li><li id="MoveHubMediumLinearMotor-nav"><a href="MoveHubMediumLinearMotor.html">MoveHubMediumLinearMotor</a><ul class='methods'><li data-type="method" id="MoveHubMediumLinearMotor-rotateByDegrees-nav"><a href="MoveHubMediumLinearMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setAccelerationTime-nav"><a href="MoveHubMediumLinearMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setBrakingStyle-nav"><a href="MoveHubMediumLinearMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setDecelerationTime-nav"><a href="MoveHubMediumLinearMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setMaxPower-nav"><a href="MoveHubMediumLinearMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="MoveHubMediumLinearMotor-setSpeed-nav"><a href="MoveHubMediumLinearMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="MoveHubTiltSensor-nav"><a href="MoveHubTiltSensor.html">MoveHubTiltSensor</a></li><li id="PiezoBuzzer-nav"><a href="PiezoBuzzer.html">PiezoBuzzer</a><ul class='methods'><li data-type="method" id="PiezoBuzzer-playTone-nav"><a href="PiezoBuzzer.html#playTone">playTone</a></li></ul></li><li id="PoweredUP-nav"><a href="PoweredUP.html">PoweredUP</a><ul class='methods'><li data-type="method" id="PoweredUP-getHubByPrimaryMACAddress-nav"><a href="PoweredUP.html#getHubByPrimaryMACAddress">getHubByPrimaryMACAddress</a></li><li data-type="method" id="PoweredUP-getHubByPrimaryMACAddress-nav"><a href="PoweredUP.html#getHubByPrimaryMACAddress">getHubByPrimaryMACAddress</a></li><li data-type="method" id="PoweredUP-getHubByUUID-nav"><a href="PoweredUP.html#getHubByUUID">getHubByUUID</a></li><li data-type="method" id="PoweredUP-getHubByUUID-nav"><a href="PoweredUP.html#getHubByUUID">getHubByUUID</a></li><li data-type="method" id="PoweredUP-getHubs-nav"><a href="PoweredUP.html#getHubs">getHubs</a></li><li data-type="method" id="PoweredUP-getHubs-nav"><a href="PoweredUP.html#getHubs">getHubs</a></li><li data-type="method" id="PoweredUP-getHubsByName-nav"><a href="PoweredUP.html#getHubsByName">getHubsByName</a></li><li data-type="method" id="PoweredUP-getHubsByName-nav"><a href="PoweredUP.html#getHubsByName">getHubsByName</a></li><li data-type="method" id="PoweredUP-getHubsByType-nav"><a href="PoweredUP.html#getHubsByType">getHubsByType</a></li><li data-type="method" id="PoweredUP-getHubsByType-nav"><a href="PoweredUP.html#getHubsByType">getHubsByType</a></li><li data-type="method" id="PoweredUP-scan-nav"><a href="PoweredUP.html#scan">scan</a></li><li data-type="method" id="PoweredUP-scan-nav"><a href="PoweredUP.html#scan">scan</a></li><li data-type="method" id="PoweredUP-stop-nav"><a href="PoweredUP.html#stop">stop</a></li></ul></li><li id="RemoteControl-nav"><a href="RemoteControl.html">RemoteControl</a><ul class='methods'><li data-type="method" id="RemoteControl-createVirtualPort-nav"><a href="RemoteControl.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="RemoteControl-setName-nav"><a href="RemoteControl.html#setName">setName</a></li><li data-type="method" id="RemoteControl-shutdown-nav"><a href="RemoteControl.html#shutdown">shutdown</a></li></ul></li><li id="RemoteControlButton-nav"><a href="RemoteControlButton.html">RemoteControlButton</a></li><li id="SimpleMediumLinearMotor-nav"><a href="SimpleMediumLinearMotor.html">SimpleMediumLinearMotor</a></li><li id="TachoMotor-nav"><a href="TachoMotor.html">TachoMotor</a><ul class='methods'><li data-type="method" id="TachoMotor-brake-nav"><a href="TachoMotor.html#brake">brake</a></li><li data-type="method" id="TachoMotor-rampPower-nav"><a href="TachoMotor.html#rampPower">rampPower</a></li><li data-type="method" id="TachoMotor-rotateByDegrees-nav"><a href="TachoMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TachoMotor-setAccelerationTime-nav"><a href="TachoMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TachoMotor-setBrakingStyle-nav"><a href="TachoMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TachoMotor-setDecelerationTime-nav"><a href="TachoMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TachoMotor-setMaxPower-nav"><a href="TachoMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TachoMotor-setPower-nav"><a href="TachoMotor.html#setPower">setPower</a></li><li data-type="method" id="TachoMotor-setSpeed-nav"><a href="TachoMotor.html#setSpeed">setSpeed</a></li><li data-type="method" id="TachoMotor-stop-nav"><a href="TachoMotor.html#stop">stop</a></li></ul></li><li id="Technic3x3ColorLightMatrix-nav"><a href="Technic3x3ColorLightMatrix.html">Technic3x3ColorLightMatrix</a><ul class='methods'><li data-type="method" id="Technic3x3ColorLightMatrix-setMatrix-nav"><a href="Technic3x3ColorLightMatrix.html#setMatrix">setMatrix</a></li></ul></li><li id="TechnicColorSensor-nav"><a href="TechnicColorSensor.html">TechnicColorSensor</a><ul class='methods'><li data-type="method" id="TechnicColorSensor-setBrightness-nav"><a href="TechnicColorSensor.html#setBrightness">setBrightness</a></li></ul></li><li id="TechnicDistanceSensor-nav"><a href="TechnicDistanceSensor.html">TechnicDistanceSensor</a><ul class='methods'><li data-type="method" id="TechnicDistanceSensor-setBrightness-nav"><a href="TechnicDistanceSensor.html#setBrightness">setBrightness</a></li></ul></li><li id="TechnicForceSensor-nav"><a href="TechnicForceSensor.html">TechnicForceSensor</a></li><li id="TechnicLargeAngularMotor-nav"><a href="TechnicLargeAngularMotor.html">TechnicLargeAngularMotor</a><ul class='methods'><li data-type="method" id="TechnicLargeAngularMotor-gotoAngle-nav"><a href="TechnicLargeAngularMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicLargeAngularMotor-gotoRealZero-nav"><a href="TechnicLargeAngularMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicLargeAngularMotor-resetZero-nav"><a href="TechnicLargeAngularMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicLargeAngularMotor-rotateByDegrees-nav"><a href="TechnicLargeAngularMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicLargeAngularMotor-setAccelerationTime-nav"><a href="TechnicLargeAngularMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicLargeAngularMotor-setBrakingStyle-nav"><a href="TechnicLargeAngularMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicLargeAngularMotor-setDecelerationTime-nav"><a href="TechnicLargeAngularMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicLargeAngularMotor-setMaxPower-nav"><a href="TechnicLargeAngularMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicLargeAngularMotor-setSpeed-nav"><a href="TechnicLargeAngularMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TechnicLargeLinearMotor-nav"><a href="TechnicLargeLinearMotor.html">TechnicLargeLinearMotor</a><ul class='methods'><li data-type="method" id="TechnicLargeLinearMotor-gotoAngle-nav"><a href="TechnicLargeLinearMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicLargeLinearMotor-gotoRealZero-nav"><a href="TechnicLargeLinearMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicLargeLinearMotor-resetZero-nav"><a href="TechnicLargeLinearMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicLargeLinearMotor-rotateByDegrees-nav"><a href="TechnicLargeLinearMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicLargeLinearMotor-setAccelerationTime-nav"><a href="TechnicLargeLinearMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicLargeLinearMotor-setBrakingStyle-nav"><a href="TechnicLargeLinearMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicLargeLinearMotor-setDecelerationTime-nav"><a href="TechnicLargeLinearMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicLargeLinearMotor-setMaxPower-nav"><a href="TechnicLargeLinearMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicLargeLinearMotor-setSpeed-nav"><a href="TechnicLargeLinearMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TechnicMediumAngularMotor-nav"><a href="TechnicMediumAngularMotor.html">TechnicMediumAngularMotor</a><ul class='methods'><li data-type="method" id="TechnicMediumAngularMotor-gotoAngle-nav"><a href="TechnicMediumAngularMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicMediumAngularMotor-gotoRealZero-nav"><a href="TechnicMediumAngularMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicMediumAngularMotor-resetZero-nav"><a href="TechnicMediumAngularMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicMediumAngularMotor-rotateByDegrees-nav"><a href="TechnicMediumAngularMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicMediumAngularMotor-setAccelerationTime-nav"><a href="TechnicMediumAngularMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicMediumAngularMotor-setBrakingStyle-nav"><a href="TechnicMediumAngularMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicMediumAngularMotor-setDecelerationTime-nav"><a href="TechnicMediumAngularMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicMediumAngularMotor-setMaxPower-nav"><a href="TechnicMediumAngularMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicMediumAngularMotor-setSpeed-nav"><a href="TechnicMediumAngularMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TechnicMediumHub-nav"><a href="TechnicMediumHub.html">TechnicMediumHub</a><ul class='methods'><li data-type="method" id="TechnicMediumHub-createVirtualPort-nav"><a href="TechnicMediumHub.html#createVirtualPort">createVirtualPort</a></li><li data-type="method" id="TechnicMediumHub-setName-nav"><a href="TechnicMediumHub.html#setName">setName</a></li><li data-type="method" id="TechnicMediumHub-shutdown-nav"><a href="TechnicMediumHub.html#shutdown">shutdown</a></li></ul></li><li id="TechnicMediumHubAccelerometerSensor-nav"><a href="TechnicMediumHubAccelerometerSensor.html">TechnicMediumHubAccelerometerSensor</a></li><li id="TechnicMediumHubGyroSensor-nav"><a href="TechnicMediumHubGyroSensor.html">TechnicMediumHubGyroSensor</a></li><li id="TechnicMediumHubTiltSensor-nav"><a href="TechnicMediumHubTiltSensor.html">TechnicMediumHubTiltSensor</a><ul class='methods'><li data-type="method" id="TechnicMediumHubTiltSensor-setImpactCount-nav"><a href="TechnicMediumHubTiltSensor.html#setImpactCount">setImpactCount</a></li><li data-type="method" id="TechnicMediumHubTiltSensor-setImpactHoldoff-nav"><a href="TechnicMediumHubTiltSensor.html#setImpactHoldoff">setImpactHoldoff</a></li><li data-type="method" id="TechnicMediumHubTiltSensor-setImpactThreshold-nav"><a href="TechnicMediumHubTiltSensor.html#setImpactThreshold">setImpactThreshold</a></li></ul></li><li id="TechnicSmallAngularMotor-nav"><a href="TechnicSmallAngularMotor.html">TechnicSmallAngularMotor</a><ul class='methods'><li data-type="method" id="TechnicSmallAngularMotor-gotoAngle-nav"><a href="TechnicSmallAngularMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicSmallAngularMotor-gotoRealZero-nav"><a href="TechnicSmallAngularMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicSmallAngularMotor-resetZero-nav"><a href="TechnicSmallAngularMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicSmallAngularMotor-rotateByDegrees-nav"><a href="TechnicSmallAngularMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicSmallAngularMotor-setAccelerationTime-nav"><a href="TechnicSmallAngularMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicSmallAngularMotor-setBrakingStyle-nav"><a href="TechnicSmallAngularMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicSmallAngularMotor-setDecelerationTime-nav"><a href="TechnicSmallAngularMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicSmallAngularMotor-setMaxPower-nav"><a href="TechnicSmallAngularMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicSmallAngularMotor-setSpeed-nav"><a href="TechnicSmallAngularMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TechnicXLargeLinearMotor-nav"><a href="TechnicXLargeLinearMotor.html">TechnicXLargeLinearMotor</a><ul class='methods'><li data-type="method" id="TechnicXLargeLinearMotor-gotoAngle-nav"><a href="TechnicXLargeLinearMotor.html#gotoAngle">gotoAngle</a></li><li data-type="method" id="TechnicXLargeLinearMotor-gotoRealZero-nav"><a href="TechnicXLargeLinearMotor.html#gotoRealZero">gotoRealZero</a></li><li data-type="method" id="TechnicXLargeLinearMotor-resetZero-nav"><a href="TechnicXLargeLinearMotor.html#resetZero">resetZero</a></li><li data-type="method" id="TechnicXLargeLinearMotor-rotateByDegrees-nav"><a href="TechnicXLargeLinearMotor.html#rotateByDegrees">rotateByDegrees</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setAccelerationTime-nav"><a href="TechnicXLargeLinearMotor.html#setAccelerationTime">setAccelerationTime</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setBrakingStyle-nav"><a href="TechnicXLargeLinearMotor.html#setBrakingStyle">setBrakingStyle</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setDecelerationTime-nav"><a href="TechnicXLargeLinearMotor.html#setDecelerationTime">setDecelerationTime</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setMaxPower-nav"><a href="TechnicXLargeLinearMotor.html#setMaxPower">setMaxPower</a></li><li data-type="method" id="TechnicXLargeLinearMotor-setSpeed-nav"><a href="TechnicXLargeLinearMotor.html#setSpeed">setSpeed</a></li></ul></li><li id="TiltSensor-nav"><a href="TiltSensor.html">TiltSensor</a></li><li id="TrainMotor-nav"><a href="TrainMotor.html">TrainMotor</a><ul class='methods'><li data-type="method" id="TrainMotor-brake-nav"><a href="TrainMotor.html#brake">brake</a></li><li data-type="method" id="TrainMotor-rampPower-nav"><a href="TrainMotor.html#rampPower">rampPower</a></li><li data-type="method" id="TrainMotor-setPower-nav"><a href="TrainMotor.html#setPower">setPower</a></li><li data-type="method" id="TrainMotor-stop-nav"><a href="TrainMotor.html#stop">stop</a></li></ul></li><li id="VoltageSensor-nav"><a href="VoltageSensor.html">VoltageSensor</a></li><li id="WeDo2SmartHub-nav"><a href="WeDo2SmartHub.html">WeDo2SmartHub</a><ul class='methods'><li data-type="method" id="WeDo2SmartHub-setName-nav"><a href="WeDo2SmartHub.html#setName">setName</a></li><li data-type="method" id="WeDo2SmartHub-shutdown-nav"><a href="WeDo2SmartHub.html#shutdown">shutdown</a></li></ul></li></ul><h3 id="global-nav"><a href="global.html">Global</a></h3>
79
+ </nav>
80
+
81
+ <div id="main">
82
+
83
+ <h1 class="page-title">
84
+ poweredup-node.js
85
+ </h1>
86
+
87
+
88
+
89
+
90
+
91
+ <section>
92
+ <article>
93
+ <pre class="prettyprint source linenums"><code>"use strict";
94
+ var __createBinding = (this &amp;&amp; this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
95
+ if (k2 === undefined) k2 = k;
96
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
97
+ }) : (function(o, m, k, k2) {
98
+ if (k2 === undefined) k2 = k;
99
+ o[k2] = m[k];
100
+ }));
101
+ var __setModuleDefault = (this &amp;&amp; this.__setModuleDefault) || (Object.create ? (function(o, v) {
102
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
103
+ }) : function(o, v) {
104
+ o["default"] = v;
105
+ });
106
+ var __importStar = (this &amp;&amp; this.__importStar) || function (mod) {
107
+ if (mod &amp;&amp; mod.__esModule) return mod;
108
+ var result = {};
109
+ if (mod != null) for (var k in mod) if (k !== "default" &amp;&amp; Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
110
+ __setModuleDefault(result, mod);
111
+ return result;
112
+ };
113
+ Object.defineProperty(exports, "__esModule", { value: true });
114
+ exports.PoweredUP = void 0;
115
+ const nobleabstraction_1 = require("./nobleabstraction");
116
+ const duplotrainbase_1 = require("./hubs/duplotrainbase");
117
+ const hub_1 = require("./hubs/hub");
118
+ const mario_1 = require("./hubs/mario");
119
+ const movehub_1 = require("./hubs/movehub");
120
+ const remotecontrol_1 = require("./hubs/remotecontrol");
121
+ const technicmediumhub_1 = require("./hubs/technicmediumhub");
122
+ const wedo2smarthub_1 = require("./hubs/wedo2smarthub");
123
+ const Consts = __importStar(require("./consts"));
124
+ const events_1 = require("events");
125
+ const Debug = require("debug");
126
+ const debug = Debug("poweredup");
127
+ const noble = require("@abandonware/noble");
128
+ const technicsmallhub_1 = require("./hubs/technicsmallhub");
129
+ let ready = false;
130
+ let wantScan = false;
131
+ let discoveryEventAttached = false;
132
+ const startScanning = () => {
133
+ noble.startScanning([
134
+ Consts.BLEService.LPF2_HUB,
135
+ Consts.BLEService.LPF2_HUB.replace(/-/g, ""),
136
+ Consts.BLEService.WEDO2_SMART_HUB,
137
+ Consts.BLEService.WEDO2_SMART_HUB.replace(/-/g, "")
138
+ ]);
139
+ };
140
+ noble.on("stateChange", (state) => {
141
+ ready = (state === "poweredOn");
142
+ if (ready) {
143
+ if (wantScan) {
144
+ debug("Scanning started");
145
+ startScanning();
146
+ }
147
+ noble.on('scanStop', () => {
148
+ setTimeout(() => {
149
+ startScanning();
150
+ }, 1000);
151
+ });
152
+ }
153
+ else {
154
+ noble.stopScanning();
155
+ }
156
+ });
157
+ /**
158
+ * @class PoweredUP
159
+ * @extends EventEmitter
160
+ */
161
+ class PoweredUP extends events_1.EventEmitter {
162
+ constructor() {
163
+ super();
164
+ this._connectedHubs = {};
165
+ this._discoveryEventHandler = this._discoveryEventHandler.bind(this);
166
+ }
167
+ /**
168
+ * Begin scanning for Powered UP Hub devices.
169
+ * @method PoweredUP#scan
170
+ */
171
+ async scan() {
172
+ wantScan = true;
173
+ if (!discoveryEventAttached) {
174
+ noble.on("discover", this._discoveryEventHandler);
175
+ discoveryEventAttached = true;
176
+ }
177
+ if (ready) {
178
+ debug("Scanning started");
179
+ startScanning();
180
+ }
181
+ return true;
182
+ }
183
+ /**
184
+ * Stop scanning for Powered UP Hub devices.
185
+ * @method PoweredUP#stop
186
+ */
187
+ stop() {
188
+ wantScan = false;
189
+ if (discoveryEventAttached) {
190
+ noble.removeListener("discover", this._discoveryEventHandler);
191
+ discoveryEventAttached = false;
192
+ }
193
+ noble.stopScanning();
194
+ }
195
+ /**
196
+ * Retrieve a list of Powered UP Hubs.
197
+ * @method PoweredUP#getHubs
198
+ * @returns {BaseHub[]}
199
+ */
200
+ getHubs() {
201
+ return Object.values(this._connectedHubs);
202
+ }
203
+ /**
204
+ * Retrieve a Powered UP Hub by UUID.
205
+ * @method PoweredUP#getHubByUUID
206
+ * @param {string} uuid
207
+ * @returns {BaseHub | null}
208
+ */
209
+ getHubByUUID(uuid) {
210
+ return this._connectedHubs[uuid];
211
+ }
212
+ /**
213
+ * Retrieve a Powered UP Hub by primary MAC address.
214
+ * @method PoweredUP#getHubByPrimaryMACAddress
215
+ * @param {string} address
216
+ * @returns {BaseHub}
217
+ */
218
+ getHubByPrimaryMACAddress(address) {
219
+ return Object.values(this._connectedHubs).filter((hub) => hub.primaryMACAddress === address)[0];
220
+ }
221
+ /**
222
+ * Retrieve a list of Powered UP Hub by name.
223
+ * @method PoweredUP#getHubsByName
224
+ * @param {string} name
225
+ * @returns {BaseHub[]}
226
+ */
227
+ getHubsByName(name) {
228
+ return Object.values(this._connectedHubs).filter((hub) => hub.name === name);
229
+ }
230
+ /**
231
+ * Retrieve a list of Powered UP Hub by type.
232
+ * @method PoweredUP#getHubsByType
233
+ * @param {string} name
234
+ * @returns {BaseHub[]}
235
+ */
236
+ getHubsByType(hubType) {
237
+ return Object.values(this._connectedHubs).filter((hub) => hub.type === hubType);
238
+ }
239
+ async _discoveryEventHandler(peripheral) {
240
+ peripheral.removeAllListeners();
241
+ const device = new nobleabstraction_1.NobleDevice(peripheral);
242
+ let hub;
243
+ if (wedo2smarthub_1.WeDo2SmartHub.IsWeDo2SmartHub(peripheral)) {
244
+ hub = new wedo2smarthub_1.WeDo2SmartHub(device);
245
+ }
246
+ else if (movehub_1.MoveHub.IsMoveHub(peripheral)) {
247
+ hub = new movehub_1.MoveHub(device);
248
+ }
249
+ else if (hub_1.Hub.IsHub(peripheral)) {
250
+ hub = new hub_1.Hub(device);
251
+ }
252
+ else if (remotecontrol_1.RemoteControl.IsRemoteControl(peripheral)) {
253
+ hub = new remotecontrol_1.RemoteControl(device);
254
+ }
255
+ else if (duplotrainbase_1.DuploTrainBase.IsDuploTrainBase(peripheral)) {
256
+ hub = new duplotrainbase_1.DuploTrainBase(device);
257
+ }
258
+ else if (technicsmallhub_1.TechnicSmallHub.IsTechnicSmallHub(peripheral)) {
259
+ hub = new technicsmallhub_1.TechnicSmallHub(device);
260
+ }
261
+ else if (technicmediumhub_1.TechnicMediumHub.IsTechnicMediumHub(peripheral)) {
262
+ hub = new technicmediumhub_1.TechnicMediumHub(device);
263
+ }
264
+ else if (mario_1.Mario.IsMario(peripheral)) {
265
+ hub = new mario_1.Mario(device);
266
+ }
267
+ else {
268
+ return;
269
+ }
270
+ device.on("discoverComplete", () => {
271
+ hub.on("connect", () => {
272
+ debug(`Hub ${hub.uuid} connected`);
273
+ this._connectedHubs[hub.uuid] = hub;
274
+ });
275
+ hub.on("disconnect", () => {
276
+ debug(`Hub ${hub.uuid} disconnected`);
277
+ delete this._connectedHubs[hub.uuid];
278
+ if (wantScan) {
279
+ startScanning();
280
+ }
281
+ });
282
+ debug(`Hub ${hub.uuid} discovered`);
283
+ /**
284
+ * Emits when a Powered UP Hub device is found.
285
+ * @event PoweredUP#discover
286
+ * @param {WeDo2SmartHub | MoveHub | TechnicMediumHub | RemoteControl | DuploTrainBase} hub
287
+ */
288
+ this.emit("discover", hub);
289
+ });
290
+ }
291
+ }
292
+ exports.PoweredUP = PoweredUP;
293
+ //# sourceMappingURL=poweredup-node.js.map</code></pre>
294
+ </article>
295
+ </section>
296
+
297
+
298
+
299
+
300
+ </div>
301
+
302
+ <br class="clear">
303
+
304
+ <footer>
305
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.7</a>
306
+ </footer>
307
+
308
+ <script src="scripts/linenumber.js"></script>
309
+ <script src="scripts/pagelocation.js"></script>
310
+
311
+
312
+
313
+ </body>
314
+ </html>
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ (function () {
4
+ var lineId, lines, totalLines, anchorHash;
5
+ var source = document.getElementsByClassName('prettyprint source linenums');
6
+ var i = 0;
7
+ var lineNumber = 0;
8
+
9
+ if (source && source[0]) {
10
+ anchorHash = document.location.hash.substring(1);
11
+ lines = source[0].getElementsByTagName('li');
12
+ totalLines = lines.length;
13
+
14
+ for (; i < totalLines; i++) {
15
+ lineNumber++;
16
+ lineId = 'line' + lineNumber;
17
+ lines[i].id = lineId;
18
+ if (lineId === anchorHash) {
19
+ lines[i].className += ' selected';
20
+ }
21
+ }
22
+ }
23
+ })();
@@ -0,0 +1,89 @@
1
+ 'use strict';
2
+
3
+ $(document).ready(function () {
4
+ var currentSectionNav, target;
5
+
6
+ // If an anchor hash is in the URL highlight the menu item
7
+ highlightActiveHash();
8
+ // If a specific page section is in the URL highlight the menu item
9
+ highlightActiveSection();
10
+
11
+ // If a specific page section is in the URL scroll that section up to the top
12
+ currentSectionNav = $('#' + getCurrentSectionName() + '-nav');
13
+
14
+ if (currentSectionNav.position()) {
15
+ $('nav').scrollTop(currentSectionNav.position().top);
16
+ }
17
+
18
+ // function to scroll to anchor when clicking an anchor linl
19
+ $('a[href*="#"]:not([href="#"])').click(function () {
20
+ /* eslint-disable no-invalid-this */
21
+ if (location.pathname.replace(/^\//, '') === this.pathname.replace(/^\//, '') && location.hostname === this.hostname) {
22
+ target = $(this.hash);
23
+ target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
24
+ if (target.length) {
25
+ $('html, body').animate({
26
+ scrollTop: target.offset().top
27
+ }, 1000);
28
+ }
29
+ }
30
+ /* eslint-enable no-invalid-this */
31
+ });
32
+ });
33
+
34
+ // If a new anchor section is selected, change the hightlighted menu item
35
+ $(window).bind('hashchange', function (event) {
36
+ highlightActiveHash(event);
37
+ });
38
+
39
+ function highlightActiveHash(event) {
40
+ var oldUrl, oldSubSectionElement;
41
+
42
+ // check for and remove old hash active state
43
+ if (event && event.originalEvent.oldURL) {
44
+ oldUrl = event.originalEvent.oldURL;
45
+
46
+ if (oldUrl.indexOf('#') > -1) {
47
+ oldSubSectionElement = $('#' + getCurrentSectionName() + '-' + oldUrl.substring(oldUrl.indexOf('#') + 1) + '-nav');
48
+
49
+ if (oldSubSectionElement) {
50
+ oldSubSectionElement.removeClass('active');
51
+ }
52
+ }
53
+ }
54
+
55
+ if (getCurrentHashName()) {
56
+ $('#' + getCurrentSectionName() + '-' + getCurrentHashName() + '-nav').addClass('active');
57
+ }
58
+ }
59
+
60
+ function highlightActiveSection() {
61
+ var pageId = getCurrentSectionName();
62
+
63
+ $('#' + pageId + '-nav').addClass('active');
64
+ }
65
+
66
+ function getCurrentSectionName() {
67
+ var path = window.location.pathname;
68
+ var pageUrl = path.split('/').pop();
69
+
70
+ var sectionName = pageUrl.substring(0, pageUrl.indexOf('.'));
71
+
72
+ // remove the wodr module- if its in the url
73
+ sectionName = sectionName.replace('module-', '');
74
+
75
+ return sectionName;
76
+ }
77
+
78
+ function getCurrentHashName() {
79
+ var pageSubSectionId;
80
+ var pageSubSectionHash = window.location.hash;
81
+
82
+ if (pageSubSectionHash) {
83
+ pageSubSectionId = pageSubSectionHash.substring(1).replace('.', '');
84
+
85
+ return pageSubSectionId;
86
+ }
87
+
88
+ return false;
89
+ }
@@ -0,0 +1,27 @@
1
+ @media only screen and (min-width: 681px) {
2
+ nav > ul > li:hover .methods,
3
+ .active .methods {
4
+ display: block;
5
+ }
6
+
7
+ .methods {
8
+ display: none;
9
+ }
10
+
11
+ nav > ul > li {
12
+ padding: 20px 0;
13
+ }
14
+
15
+ nav > ul > li > a {
16
+ padding: 0;
17
+ }
18
+
19
+ nav > ul > li.active a {
20
+ margin-bottom: 10px;
21
+ }
22
+
23
+ nav > ul > li:hover > a,
24
+ nav > ul > li.active > a {
25
+ margin-bottom: 15px;
26
+ }
27
+ }