From a74ede2db1f4c5a26eaa13f4d1f87cf549a577bf Mon Sep 17 00:00:00 2001 From: Jake <jake.read@cba.mit.edu> Date: Mon, 16 Jul 2018 23:39:37 +0200 Subject: [PATCH] nearly working planner commit --- files.html | 1484 ++++++++++++++++- js/{mkserialserver.js => atkbridge.js} | 4 +- modules/hardware/motors/stepper | 71 +- .../hardware/network/{mkserial => atkbridge} | 2 +- modules/hardware/network/mkserialserver.js | 151 -- modules/hardware/reset | 104 ++ modules/index.js | 3 +- modules/motion/planner | 93 +- 8 files changed, 1699 insertions(+), 213 deletions(-) rename js/{mkserialserver.js => atkbridge.js} (97%) rename modules/hardware/network/{mkserial => atkbridge} (99%) delete mode 100644 modules/hardware/network/mkserialserver.js create mode 100644 modules/hardware/reset diff --git a/files.html b/files.html index ebe12b1..1733a50 100644 --- a/files.html +++ b/files.html @@ -13,10 +13,10 @@ <a href='./files.html'>files.html</a><br> <a href='./index.html'>index.html</a><br> <i> js</i><br> + <a href='./js/atkserialserver.js'>atkserialserver.js</a><br> <a href='./js/deviceserver.js'>deviceserver.js</a><br> <a href='./js/echoserver.js'>echoserver.js</a><br> <a href='./js/files.js'>files.js</a><br> - <a href='./js/mkserialserver.js'>mkserialserver.js</a><br> <a href='./js/mods.js'>mods.js</a><br> <a href='./js/modules.js'>modules.js</a><br> <a href='./js/printserver.js'>printserver.js</a><br> @@ -105,7 +105,8 @@ <i> motors</i><br> <a href='./modules/hardware/motors/stepper'>stepper</a><br> <i> network</i><br> - <a href='./modules/hardware/network/mkserial'>mkserial</a><br> + <a href='./modules/hardware/network/atkbridge'>atkbridge</a><br> + <a href='./modules/hardware/reset'>reset</a><br> <i> image</i><br> <a href='./modules/image/boundingbox'>boundingbox</a><br> <a href='./modules/image/color%20separation'>color separation</a><br> @@ -204,6 +205,1485 @@ <a href='./modules/ui/label'>label</a><br> <a href='./modules/ui/slider'>slider</a><br> <a href='./modules/ui/text%20window'>text window</a><br> +<i> node_modules</i><br> +<i> .bin</i><br> + <a href='./node_modules/.bin/detect-libc'>detect-libc</a><br> + <a href='./node_modules/.bin/detect-libc.cmd'>detect-libc.cmd</a><br> + <a href='./node_modules/.bin/mkdirp'>mkdirp</a><br> + <a href='./node_modules/.bin/mkdirp.cmd'>mkdirp.cmd</a><br> + <a href='./node_modules/.bin/prebuild-install'>prebuild-install</a><br> + <a href='./node_modules/.bin/prebuild-install.cmd'>prebuild-install.cmd</a><br> + <a href='./node_modules/.bin/prominode'>prominode</a><br> + <a href='./node_modules/.bin/prominode.cmd'>prominode.cmd</a><br> + <a href='./node_modules/.bin/rc'>rc</a><br> + <a href='./node_modules/.bin/rc.cmd'>rc.cmd</a><br> + <a href='./node_modules/.bin/semver'>semver</a><br> + <a href='./node_modules/.bin/semver.cmd'>semver.cmd</a><br> + <a href='./node_modules/.bin/serialport-list'>serialport-list</a><br> + <a href='./node_modules/.bin/serialport-list.cmd'>serialport-list.cmd</a><br> + <a href='./node_modules/.bin/serialport-repl'>serialport-repl</a><br> + <a href='./node_modules/.bin/serialport-repl.cmd'>serialport-repl.cmd</a><br> + <a href='./node_modules/.bin/serialport-term'>serialport-term</a><br> + <a href='./node_modules/.bin/serialport-term.cmd'>serialport-term.cmd</a><br> + <a href='./node_modules/.bin/window-size'>window-size</a><br> + <a href='./node_modules/.bin/window-size.cmd'>window-size.cmd</a><br> +<i> ansi-bgblack</i><br> + <a href='./node_modules/ansi-bgblack/index.js'>index.js</a><br> + <a href='./node_modules/ansi-bgblack/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-bgblack/package.json'>package.json</a><br> + <a href='./node_modules/ansi-bgblack/README.md'>README.md</a><br> +<i> ansi-bgblue</i><br> + <a href='./node_modules/ansi-bgblue/index.js'>index.js</a><br> + <a href='./node_modules/ansi-bgblue/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-bgblue/package.json'>package.json</a><br> + <a href='./node_modules/ansi-bgblue/readme.md'>readme.md</a><br> +<i> ansi-bgcyan</i><br> + <a href='./node_modules/ansi-bgcyan/index.js'>index.js</a><br> + <a href='./node_modules/ansi-bgcyan/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-bgcyan/package.json'>package.json</a><br> + <a href='./node_modules/ansi-bgcyan/readme.md'>readme.md</a><br> +<i> ansi-bggreen</i><br> + <a href='./node_modules/ansi-bggreen/index.js'>index.js</a><br> + <a href='./node_modules/ansi-bggreen/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-bggreen/package.json'>package.json</a><br> + <a href='./node_modules/ansi-bggreen/readme.md'>readme.md</a><br> +<i> ansi-bgmagenta</i><br> + <a href='./node_modules/ansi-bgmagenta/index.js'>index.js</a><br> + <a href='./node_modules/ansi-bgmagenta/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-bgmagenta/package.json'>package.json</a><br> + <a href='./node_modules/ansi-bgmagenta/readme.md'>readme.md</a><br> +<i> ansi-bgred</i><br> + <a href='./node_modules/ansi-bgred/index.js'>index.js</a><br> + <a href='./node_modules/ansi-bgred/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-bgred/package.json'>package.json</a><br> + <a href='./node_modules/ansi-bgred/readme.md'>readme.md</a><br> +<i> ansi-bgwhite</i><br> + <a href='./node_modules/ansi-bgwhite/index.js'>index.js</a><br> + <a href='./node_modules/ansi-bgwhite/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-bgwhite/package.json'>package.json</a><br> + <a href='./node_modules/ansi-bgwhite/readme.md'>readme.md</a><br> +<i> ansi-bgyellow</i><br> + <a href='./node_modules/ansi-bgyellow/index.js'>index.js</a><br> + <a href='./node_modules/ansi-bgyellow/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-bgyellow/package.json'>package.json</a><br> + <a href='./node_modules/ansi-bgyellow/readme.md'>readme.md</a><br> +<i> ansi-black</i><br> + <a href='./node_modules/ansi-black/index.js'>index.js</a><br> + <a href='./node_modules/ansi-black/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-black/package.json'>package.json</a><br> + <a href='./node_modules/ansi-black/readme.md'>readme.md</a><br> +<i> ansi-blue</i><br> + <a href='./node_modules/ansi-blue/index.js'>index.js</a><br> + <a href='./node_modules/ansi-blue/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-blue/package.json'>package.json</a><br> + <a href='./node_modules/ansi-blue/readme.md'>readme.md</a><br> +<i> ansi-bold</i><br> + <a href='./node_modules/ansi-bold/index.js'>index.js</a><br> + <a href='./node_modules/ansi-bold/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-bold/package.json'>package.json</a><br> + <a href='./node_modules/ansi-bold/readme.md'>readme.md</a><br> +<i> ansi-colors</i><br> + <a href='./node_modules/ansi-colors/index.js'>index.js</a><br> + <a href='./node_modules/ansi-colors/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-colors/package.json'>package.json</a><br> + <a href='./node_modules/ansi-colors/README.md'>README.md</a><br> +<i> ansi-cyan</i><br> + <a href='./node_modules/ansi-cyan/index.js'>index.js</a><br> + <a href='./node_modules/ansi-cyan/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-cyan/package.json'>package.json</a><br> + <a href='./node_modules/ansi-cyan/readme.md'>readme.md</a><br> +<i> ansi-dim</i><br> + <a href='./node_modules/ansi-dim/index.js'>index.js</a><br> + <a href='./node_modules/ansi-dim/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-dim/package.json'>package.json</a><br> + <a href='./node_modules/ansi-dim/readme.md'>readme.md</a><br> +<i> ansi-gray</i><br> + <a href='./node_modules/ansi-gray/index.js'>index.js</a><br> + <a href='./node_modules/ansi-gray/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-gray/package.json'>package.json</a><br> + <a href='./node_modules/ansi-gray/readme.md'>readme.md</a><br> +<i> ansi-green</i><br> + <a href='./node_modules/ansi-green/index.js'>index.js</a><br> + <a href='./node_modules/ansi-green/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-green/package.json'>package.json</a><br> + <a href='./node_modules/ansi-green/readme.md'>readme.md</a><br> +<i> ansi-grey</i><br> + <a href='./node_modules/ansi-grey/index.js'>index.js</a><br> + <a href='./node_modules/ansi-grey/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-grey/package.json'>package.json</a><br> + <a href='./node_modules/ansi-grey/readme.md'>readme.md</a><br> +<i> ansi-hidden</i><br> + <a href='./node_modules/ansi-hidden/index.js'>index.js</a><br> + <a href='./node_modules/ansi-hidden/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-hidden/package.json'>package.json</a><br> + <a href='./node_modules/ansi-hidden/readme.md'>readme.md</a><br> +<i> ansi-inverse</i><br> + <a href='./node_modules/ansi-inverse/index.js'>index.js</a><br> + <a href='./node_modules/ansi-inverse/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-inverse/package.json'>package.json</a><br> + <a href='./node_modules/ansi-inverse/readme.md'>readme.md</a><br> +<i> ansi-italic</i><br> + <a href='./node_modules/ansi-italic/index.js'>index.js</a><br> + <a href='./node_modules/ansi-italic/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-italic/package.json'>package.json</a><br> + <a href='./node_modules/ansi-italic/readme.md'>readme.md</a><br> +<i> ansi-magenta</i><br> + <a href='./node_modules/ansi-magenta/index.js'>index.js</a><br> + <a href='./node_modules/ansi-magenta/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-magenta/package.json'>package.json</a><br> + <a href='./node_modules/ansi-magenta/readme.md'>readme.md</a><br> +<i> ansi-red</i><br> + <a href='./node_modules/ansi-red/index.js'>index.js</a><br> + <a href='./node_modules/ansi-red/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-red/package.json'>package.json</a><br> + <a href='./node_modules/ansi-red/readme.md'>readme.md</a><br> +<i> ansi-regex</i><br> + <a href='./node_modules/ansi-regex/index.js'>index.js</a><br> + <a href='./node_modules/ansi-regex/license'>license</a><br> + <a href='./node_modules/ansi-regex/package.json'>package.json</a><br> + <a href='./node_modules/ansi-regex/readme.md'>readme.md</a><br> +<i> ansi-reset</i><br> + <a href='./node_modules/ansi-reset/index.js'>index.js</a><br> + <a href='./node_modules/ansi-reset/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-reset/package.json'>package.json</a><br> + <a href='./node_modules/ansi-reset/readme.md'>readme.md</a><br> +<i> ansi-strikethrough</i><br> + <a href='./node_modules/ansi-strikethrough/index.js'>index.js</a><br> + <a href='./node_modules/ansi-strikethrough/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-strikethrough/package.json'>package.json</a><br> + <a href='./node_modules/ansi-strikethrough/readme.md'>readme.md</a><br> +<i> ansi-underline</i><br> + <a href='./node_modules/ansi-underline/index.js'>index.js</a><br> + <a href='./node_modules/ansi-underline/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-underline/package.json'>package.json</a><br> + <a href='./node_modules/ansi-underline/readme.md'>readme.md</a><br> +<i> ansi-white</i><br> + <a href='./node_modules/ansi-white/index.js'>index.js</a><br> + <a href='./node_modules/ansi-white/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-white/package.json'>package.json</a><br> + <a href='./node_modules/ansi-white/readme.md'>readme.md</a><br> +<i> ansi-wrap</i><br> + <a href='./node_modules/ansi-wrap/index.js'>index.js</a><br> + <a href='./node_modules/ansi-wrap/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-wrap/package.json'>package.json</a><br> + <a href='./node_modules/ansi-wrap/README.md'>README.md</a><br> +<i> ansi-yellow</i><br> + <a href='./node_modules/ansi-yellow/index.js'>index.js</a><br> + <a href='./node_modules/ansi-yellow/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ansi-yellow/package.json'>package.json</a><br> + <a href='./node_modules/ansi-yellow/readme.md'>readme.md</a><br> +<i> aproba</i><br> + <a href='./node_modules/aproba/index.js'>index.js</a><br> + <a href='./node_modules/aproba/LICENSE'>LICENSE</a><br> + <a href='./node_modules/aproba/package.json'>package.json</a><br> + <a href='./node_modules/aproba/README.md'>README.md</a><br> +<i> are-we-there-yet</i><br> + <a href='./node_modules/are-we-there-yet/CHANGES.md'>CHANGES.md</a><br> + <a href='./node_modules/are-we-there-yet/index.js'>index.js</a><br> + <a href='./node_modules/are-we-there-yet/LICENSE'>LICENSE</a><br> + <a href='./node_modules/are-we-there-yet/package.json'>package.json</a><br> + <a href='./node_modules/are-we-there-yet/README.md'>README.md</a><br> + <a href='./node_modules/are-we-there-yet/tracker-base.js'>tracker-base.js</a><br> + <a href='./node_modules/are-we-there-yet/tracker-group.js'>tracker-group.js</a><br> + <a href='./node_modules/are-we-there-yet/tracker-stream.js'>tracker-stream.js</a><br> + <a href='./node_modules/are-we-there-yet/tracker.js'>tracker.js</a><br> +<i> arr-flatten</i><br> + <a href='./node_modules/arr-flatten/index.js'>index.js</a><br> + <a href='./node_modules/arr-flatten/LICENSE'>LICENSE</a><br> + <a href='./node_modules/arr-flatten/package.json'>package.json</a><br> + <a href='./node_modules/arr-flatten/README.md'>README.md</a><br> +<i> arr-swap</i><br> + <a href='./node_modules/arr-swap/index.js'>index.js</a><br> + <a href='./node_modules/arr-swap/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> is-number</i><br> + <a href='./node_modules/arr-swap/node_modules/is-number/index.js'>index.js</a><br> + <a href='./node_modules/arr-swap/node_modules/is-number/LICENSE'>LICENSE</a><br> + <a href='./node_modules/arr-swap/node_modules/is-number/package.json'>package.json</a><br> + <a href='./node_modules/arr-swap/node_modules/is-number/README.md'>README.md</a><br> + <a href='./node_modules/arr-swap/package.json'>package.json</a><br> + <a href='./node_modules/arr-swap/README.md'>README.md</a><br> +<i> async-limiter</i><br> + <a href='./node_modules/async-limiter/.travis.yml'>.travis.yml</a><br> +<i> coverage</i><br> + <a href='./node_modules/async-limiter/coverage/coverage.json'>coverage.json</a><br> +<i> lcov-report</i><br> +<i> async-throttle</i><br> + <a href='./node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html'>index.html</a><br> + <a href='./node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html'>index.js.html</a><br> + <a href='./node_modules/async-limiter/coverage/lcov-report/base.css'>base.css</a><br> + <a href='./node_modules/async-limiter/coverage/lcov-report/index.html'>index.html</a><br> + <a href='./node_modules/async-limiter/coverage/lcov-report/prettify.css'>prettify.css</a><br> + <a href='./node_modules/async-limiter/coverage/lcov-report/prettify.js'>prettify.js</a><br> + <a href='./node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png'>sort-arrow-sprite.png</a><br> + <a href='./node_modules/async-limiter/coverage/lcov-report/sorter.js'>sorter.js</a><br> + <a href='./node_modules/async-limiter/coverage/lcov.info'>lcov.info</a><br> + <a href='./node_modules/async-limiter/index.js'>index.js</a><br> + <a href='./node_modules/async-limiter/LICENSE'>LICENSE</a><br> + <a href='./node_modules/async-limiter/package.json'>package.json</a><br> + <a href='./node_modules/async-limiter/readme.md'>readme.md</a><br> +<i> bindings</i><br> + <a href='./node_modules/bindings/bindings.js'>bindings.js</a><br> + <a href='./node_modules/bindings/package.json'>package.json</a><br> + <a href='./node_modules/bindings/README.md'>README.md</a><br> +<i> bl</i><br> + <a href='./node_modules/bl/.jshintrc'>.jshintrc</a><br> + <a href='./node_modules/bl/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/bl/bl.js'>bl.js</a><br> + <a href='./node_modules/bl/LICENSE.md'>LICENSE.md</a><br> + <a href='./node_modules/bl/package.json'>package.json</a><br> + <a href='./node_modules/bl/README.md'>README.md</a><br> +<i> test</i><br> + <a href='./node_modules/bl/test/test.js'>test.js</a><br> +<i> buffer-alloc</i><br> + <a href='./node_modules/buffer-alloc/index.js'>index.js</a><br> + <a href='./node_modules/buffer-alloc/package.json'>package.json</a><br> + <a href='./node_modules/buffer-alloc/readme.md'>readme.md</a><br> +<i> buffer-alloc-unsafe</i><br> + <a href='./node_modules/buffer-alloc-unsafe/index.js'>index.js</a><br> + <a href='./node_modules/buffer-alloc-unsafe/package.json'>package.json</a><br> + <a href='./node_modules/buffer-alloc-unsafe/readme.md'>readme.md</a><br> +<i> buffer-fill</i><br> + <a href='./node_modules/buffer-fill/index.js'>index.js</a><br> + <a href='./node_modules/buffer-fill/package.json'>package.json</a><br> + <a href='./node_modules/buffer-fill/readme.md'>readme.md</a><br> +<i> choices-separator</i><br> + <a href='./node_modules/choices-separator/index.js'>index.js</a><br> + <a href='./node_modules/choices-separator/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> debug</i><br> + <a href='./node_modules/choices-separator/node_modules/debug/.coveralls.yml'>.coveralls.yml</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/.eslintrc'>.eslintrc</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/.npmignore'>.npmignore</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/component.json'>component.json</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/karma.conf.js'>karma.conf.js</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/LICENSE'>LICENSE</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/Makefile'>Makefile</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/node.js'>node.js</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/package.json'>package.json</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/README.md'>README.md</a><br> +<i> src</i><br> + <a href='./node_modules/choices-separator/node_modules/debug/src/browser.js'>browser.js</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/src/debug.js'>debug.js</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/src/index.js'>index.js</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/src/inspector-log.js'>inspector-log.js</a><br> + <a href='./node_modules/choices-separator/node_modules/debug/src/node.js'>node.js</a><br> + <a href='./node_modules/choices-separator/package.json'>package.json</a><br> + <a href='./node_modules/choices-separator/README.md'>README.md</a><br> +<i> chownr</i><br> + <a href='./node_modules/chownr/chownr.js'>chownr.js</a><br> + <a href='./node_modules/chownr/LICENSE'>LICENSE</a><br> + <a href='./node_modules/chownr/package.json'>package.json</a><br> + <a href='./node_modules/chownr/README.md'>README.md</a><br> +<i> clone-deep</i><br> + <a href='./node_modules/clone-deep/index.js'>index.js</a><br> + <a href='./node_modules/clone-deep/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> kind-of</i><br> + <a href='./node_modules/clone-deep/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/clone-deep/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/clone-deep/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/clone-deep/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/clone-deep/package.json'>package.json</a><br> + <a href='./node_modules/clone-deep/README.md'>README.md</a><br> +<i> code-point-at</i><br> + <a href='./node_modules/code-point-at/index.js'>index.js</a><br> + <a href='./node_modules/code-point-at/license'>license</a><br> + <a href='./node_modules/code-point-at/package.json'>package.json</a><br> + <a href='./node_modules/code-point-at/readme.md'>readme.md</a><br> +<i> collection-visit</i><br> + <a href='./node_modules/collection-visit/index.js'>index.js</a><br> + <a href='./node_modules/collection-visit/LICENSE'>LICENSE</a><br> + <a href='./node_modules/collection-visit/package.json'>package.json</a><br> + <a href='./node_modules/collection-visit/README.md'>README.md</a><br> +<i> commander</i><br> + <a href='./node_modules/commander/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/commander/index.js'>index.js</a><br> + <a href='./node_modules/commander/LICENSE'>LICENSE</a><br> + <a href='./node_modules/commander/package.json'>package.json</a><br> + <a href='./node_modules/commander/Readme.md'>Readme.md</a><br> +<i> typings</i><br> + <a href='./node_modules/commander/typings/index.d.ts'>index.d.ts</a><br> +<i> component-emitter</i><br> + <a href='./node_modules/component-emitter/History.md'>History.md</a><br> + <a href='./node_modules/component-emitter/index.js'>index.js</a><br> + <a href='./node_modules/component-emitter/LICENSE'>LICENSE</a><br> + <a href='./node_modules/component-emitter/package.json'>package.json</a><br> + <a href='./node_modules/component-emitter/Readme.md'>Readme.md</a><br> +<i> console-control-strings</i><br> + <a href='./node_modules/console-control-strings/index.js'>index.js</a><br> + <a href='./node_modules/console-control-strings/LICENSE'>LICENSE</a><br> + <a href='./node_modules/console-control-strings/package.json'>package.json</a><br> + <a href='./node_modules/console-control-strings/README.md'>README.md</a><br> + <a href='./node_modules/console-control-strings/README.md~'>README.md~</a><br> +<i> copy-descriptor</i><br> + <a href='./node_modules/copy-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/copy-descriptor/LICENSE'>LICENSE</a><br> + <a href='./node_modules/copy-descriptor/package.json'>package.json</a><br> +<i> core-util-is</i><br> + <a href='./node_modules/core-util-is/float.patch'>float.patch</a><br> +<i> lib</i><br> + <a href='./node_modules/core-util-is/lib/util.js'>util.js</a><br> + <a href='./node_modules/core-util-is/LICENSE'>LICENSE</a><br> + <a href='./node_modules/core-util-is/package.json'>package.json</a><br> + <a href='./node_modules/core-util-is/README.md'>README.md</a><br> + <a href='./node_modules/core-util-is/test.js'>test.js</a><br> +<i> debug</i><br> + <a href='./node_modules/debug/.coveralls.yml'>.coveralls.yml</a><br> + <a href='./node_modules/debug/.eslintrc'>.eslintrc</a><br> + <a href='./node_modules/debug/.npmignore'>.npmignore</a><br> + <a href='./node_modules/debug/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/debug/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/debug/karma.conf.js'>karma.conf.js</a><br> + <a href='./node_modules/debug/LICENSE'>LICENSE</a><br> + <a href='./node_modules/debug/Makefile'>Makefile</a><br> + <a href='./node_modules/debug/node.js'>node.js</a><br> + <a href='./node_modules/debug/package.json'>package.json</a><br> + <a href='./node_modules/debug/README.md'>README.md</a><br> +<i> src</i><br> + <a href='./node_modules/debug/src/browser.js'>browser.js</a><br> + <a href='./node_modules/debug/src/debug.js'>debug.js</a><br> + <a href='./node_modules/debug/src/index.js'>index.js</a><br> + <a href='./node_modules/debug/src/node.js'>node.js</a><br> +<i> decompress-response</i><br> + <a href='./node_modules/decompress-response/index.js'>index.js</a><br> + <a href='./node_modules/decompress-response/license'>license</a><br> + <a href='./node_modules/decompress-response/package.json'>package.json</a><br> + <a href='./node_modules/decompress-response/readme.md'>readme.md</a><br> +<i> deep-extend</i><br> + <a href='./node_modules/deep-extend/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/deep-extend/index.js'>index.js</a><br> +<i> lib</i><br> + <a href='./node_modules/deep-extend/lib/deep-extend.js'>deep-extend.js</a><br> + <a href='./node_modules/deep-extend/LICENSE'>LICENSE</a><br> + <a href='./node_modules/deep-extend/package.json'>package.json</a><br> + <a href='./node_modules/deep-extend/README.md'>README.md</a><br> +<i> define-property</i><br> + <a href='./node_modules/define-property/index.js'>index.js</a><br> + <a href='./node_modules/define-property/LICENSE'>LICENSE</a><br> + <a href='./node_modules/define-property/package.json'>package.json</a><br> + <a href='./node_modules/define-property/README.md'>README.md</a><br> +<i> delegates</i><br> + <a href='./node_modules/delegates/.npmignore'>.npmignore</a><br> + <a href='./node_modules/delegates/History.md'>History.md</a><br> + <a href='./node_modules/delegates/index.js'>index.js</a><br> + <a href='./node_modules/delegates/License'>License</a><br> + <a href='./node_modules/delegates/Makefile'>Makefile</a><br> + <a href='./node_modules/delegates/package.json'>package.json</a><br> + <a href='./node_modules/delegates/Readme.md'>Readme.md</a><br> +<i> test</i><br> + <a href='./node_modules/delegates/test/index.js'>index.js</a><br> +<i> detect-libc</i><br> + <a href='./node_modules/detect-libc/.npmignore'>.npmignore</a><br> +<i> bin</i><br> + <a href='./node_modules/detect-libc/bin/detect-libc.js'>detect-libc.js</a><br> +<i> lib</i><br> + <a href='./node_modules/detect-libc/lib/detect-libc.js'>detect-libc.js</a><br> + <a href='./node_modules/detect-libc/LICENSE'>LICENSE</a><br> + <a href='./node_modules/detect-libc/package.json'>package.json</a><br> + <a href='./node_modules/detect-libc/README.md'>README.md</a><br> +<i> end-of-stream</i><br> + <a href='./node_modules/end-of-stream/index.js'>index.js</a><br> + <a href='./node_modules/end-of-stream/LICENSE'>LICENSE</a><br> + <a href='./node_modules/end-of-stream/package.json'>package.json</a><br> + <a href='./node_modules/end-of-stream/README.md'>README.md</a><br> +<i> error-symbol</i><br> + <a href='./node_modules/error-symbol/index.js'>index.js</a><br> + <a href='./node_modules/error-symbol/LICENSE'>LICENSE</a><br> + <a href='./node_modules/error-symbol/package.json'>package.json</a><br> + <a href='./node_modules/error-symbol/README.md'>README.md</a><br> +<i> expand-template</i><br> + <a href='./node_modules/expand-template/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/expand-template/index.js'>index.js</a><br> + <a href='./node_modules/expand-template/package.json'>package.json</a><br> + <a href='./node_modules/expand-template/README.md'>README.md</a><br> + <a href='./node_modules/expand-template/test.js'>test.js</a><br> +<i> extend-shallow</i><br> + <a href='./node_modules/extend-shallow/index.js'>index.js</a><br> + <a href='./node_modules/extend-shallow/LICENSE'>LICENSE</a><br> + <a href='./node_modules/extend-shallow/package.json'>package.json</a><br> + <a href='./node_modules/extend-shallow/README.md'>README.md</a><br> +<i> for-in</i><br> + <a href='./node_modules/for-in/index.js'>index.js</a><br> + <a href='./node_modules/for-in/LICENSE'>LICENSE</a><br> + <a href='./node_modules/for-in/package.json'>package.json</a><br> + <a href='./node_modules/for-in/README.md'>README.md</a><br> +<i> for-own</i><br> + <a href='./node_modules/for-own/index.js'>index.js</a><br> + <a href='./node_modules/for-own/LICENSE'>LICENSE</a><br> + <a href='./node_modules/for-own/package.json'>package.json</a><br> + <a href='./node_modules/for-own/README.md'>README.md</a><br> +<i> fs-constants</i><br> + <a href='./node_modules/fs-constants/browser.js'>browser.js</a><br> + <a href='./node_modules/fs-constants/index.js'>index.js</a><br> + <a href='./node_modules/fs-constants/LICENSE'>LICENSE</a><br> + <a href='./node_modules/fs-constants/package.json'>package.json</a><br> + <a href='./node_modules/fs-constants/README.md'>README.md</a><br> +<i> gauge</i><br> + <a href='./node_modules/gauge/base-theme.js'>base-theme.js</a><br> + <a href='./node_modules/gauge/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/gauge/error.js'>error.js</a><br> + <a href='./node_modules/gauge/has-color.js'>has-color.js</a><br> + <a href='./node_modules/gauge/index.js'>index.js</a><br> + <a href='./node_modules/gauge/LICENSE'>LICENSE</a><br> + <a href='./node_modules/gauge/package.json'>package.json</a><br> + <a href='./node_modules/gauge/plumbing.js'>plumbing.js</a><br> + <a href='./node_modules/gauge/process.js'>process.js</a><br> + <a href='./node_modules/gauge/progress-bar.js'>progress-bar.js</a><br> + <a href='./node_modules/gauge/README.md'>README.md</a><br> + <a href='./node_modules/gauge/render-template.js'>render-template.js</a><br> + <a href='./node_modules/gauge/set-immediate.js'>set-immediate.js</a><br> + <a href='./node_modules/gauge/set-interval.js'>set-interval.js</a><br> + <a href='./node_modules/gauge/spin.js'>spin.js</a><br> + <a href='./node_modules/gauge/template-item.js'>template-item.js</a><br> + <a href='./node_modules/gauge/theme-set.js'>theme-set.js</a><br> + <a href='./node_modules/gauge/themes.js'>themes.js</a><br> + <a href='./node_modules/gauge/wide-truncate.js'>wide-truncate.js</a><br> +<i> github-from-package</i><br> + <a href='./node_modules/github-from-package/.travis.yml'>.travis.yml</a><br> +<i> example</i><br> + <a href='./node_modules/github-from-package/example/package.json'>package.json</a><br> + <a href='./node_modules/github-from-package/example/url.js'>url.js</a><br> + <a href='./node_modules/github-from-package/index.js'>index.js</a><br> + <a href='./node_modules/github-from-package/LICENSE'>LICENSE</a><br> + <a href='./node_modules/github-from-package/package.json'>package.json</a><br> + <a href='./node_modules/github-from-package/readme.markdown'>readme.markdown</a><br> +<i> test</i><br> + <a href='./node_modules/github-from-package/test/a.json'>a.json</a><br> + <a href='./node_modules/github-from-package/test/b.json'>b.json</a><br> + <a href='./node_modules/github-from-package/test/c.json'>c.json</a><br> + <a href='./node_modules/github-from-package/test/d.json'>d.json</a><br> + <a href='./node_modules/github-from-package/test/e.json'>e.json</a><br> + <a href='./node_modules/github-from-package/test/url.js'>url.js</a><br> +<i> has-unicode</i><br> + <a href='./node_modules/has-unicode/index.js'>index.js</a><br> + <a href='./node_modules/has-unicode/LICENSE'>LICENSE</a><br> + <a href='./node_modules/has-unicode/package.json'>package.json</a><br> + <a href='./node_modules/has-unicode/README.md'>README.md</a><br> +<i> info-symbol</i><br> + <a href='./node_modules/info-symbol/index.js'>index.js</a><br> + <a href='./node_modules/info-symbol/LICENSE'>LICENSE</a><br> + <a href='./node_modules/info-symbol/package.json'>package.json</a><br> + <a href='./node_modules/info-symbol/README.md'>README.md</a><br> +<i> inherits</i><br> + <a href='./node_modules/inherits/inherits.js'>inherits.js</a><br> + <a href='./node_modules/inherits/inherits_browser.js'>inherits_browser.js</a><br> + <a href='./node_modules/inherits/LICENSE'>LICENSE</a><br> + <a href='./node_modules/inherits/package.json'>package.json</a><br> + <a href='./node_modules/inherits/README.md'>README.md</a><br> +<i> ini</i><br> + <a href='./node_modules/ini/ini.js'>ini.js</a><br> + <a href='./node_modules/ini/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ini/package.json'>package.json</a><br> + <a href='./node_modules/ini/README.md'>README.md</a><br> +<i> is-accessor-descriptor</i><br> + <a href='./node_modules/is-accessor-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/is-accessor-descriptor/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> kind-of</i><br> + <a href='./node_modules/is-accessor-descriptor/node_modules/kind-of/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/is-accessor-descriptor/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/is-accessor-descriptor/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/is-accessor-descriptor/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/is-accessor-descriptor/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/is-accessor-descriptor/package.json'>package.json</a><br> + <a href='./node_modules/is-accessor-descriptor/README.md'>README.md</a><br> +<i> is-buffer</i><br> + <a href='./node_modules/is-buffer/index.js'>index.js</a><br> + <a href='./node_modules/is-buffer/LICENSE'>LICENSE</a><br> + <a href='./node_modules/is-buffer/package.json'>package.json</a><br> + <a href='./node_modules/is-buffer/README.md'>README.md</a><br> +<i> test</i><br> + <a href='./node_modules/is-buffer/test/basic.js'>basic.js</a><br> +<i> is-data-descriptor</i><br> + <a href='./node_modules/is-data-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/is-data-descriptor/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> kind-of</i><br> + <a href='./node_modules/is-data-descriptor/node_modules/kind-of/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/is-data-descriptor/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/is-data-descriptor/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/is-data-descriptor/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/is-data-descriptor/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/is-data-descriptor/package.json'>package.json</a><br> + <a href='./node_modules/is-data-descriptor/README.md'>README.md</a><br> +<i> is-descriptor</i><br> + <a href='./node_modules/is-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/is-descriptor/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> kind-of</i><br> + <a href='./node_modules/is-descriptor/node_modules/kind-of/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/is-descriptor/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/is-descriptor/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/is-descriptor/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/is-descriptor/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/is-descriptor/package.json'>package.json</a><br> + <a href='./node_modules/is-descriptor/README.md'>README.md</a><br> +<i> is-extendable</i><br> + <a href='./node_modules/is-extendable/index.js'>index.js</a><br> + <a href='./node_modules/is-extendable/LICENSE'>LICENSE</a><br> + <a href='./node_modules/is-extendable/package.json'>package.json</a><br> + <a href='./node_modules/is-extendable/README.md'>README.md</a><br> +<i> is-fullwidth-code-point</i><br> + <a href='./node_modules/is-fullwidth-code-point/index.js'>index.js</a><br> + <a href='./node_modules/is-fullwidth-code-point/license'>license</a><br> + <a href='./node_modules/is-fullwidth-code-point/package.json'>package.json</a><br> + <a href='./node_modules/is-fullwidth-code-point/readme.md'>readme.md</a><br> +<i> is-number</i><br> + <a href='./node_modules/is-number/index.js'>index.js</a><br> + <a href='./node_modules/is-number/LICENSE'>LICENSE</a><br> + <a href='./node_modules/is-number/package.json'>package.json</a><br> + <a href='./node_modules/is-number/README.md'>README.md</a><br> +<i> is-plain-object</i><br> + <a href='./node_modules/is-plain-object/index.d.ts'>index.d.ts</a><br> + <a href='./node_modules/is-plain-object/index.js'>index.js</a><br> + <a href='./node_modules/is-plain-object/LICENSE'>LICENSE</a><br> + <a href='./node_modules/is-plain-object/package.json'>package.json</a><br> + <a href='./node_modules/is-plain-object/README.md'>README.md</a><br> +<i> is-windows</i><br> + <a href='./node_modules/is-windows/index.js'>index.js</a><br> + <a href='./node_modules/is-windows/LICENSE'>LICENSE</a><br> + <a href='./node_modules/is-windows/package.json'>package.json</a><br> + <a href='./node_modules/is-windows/README.md'>README.md</a><br> +<i> isarray</i><br> + <a href='./node_modules/isarray/.npmignore'>.npmignore</a><br> + <a href='./node_modules/isarray/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/isarray/component.json'>component.json</a><br> + <a href='./node_modules/isarray/index.js'>index.js</a><br> + <a href='./node_modules/isarray/Makefile'>Makefile</a><br> + <a href='./node_modules/isarray/package.json'>package.json</a><br> + <a href='./node_modules/isarray/README.md'>README.md</a><br> + <a href='./node_modules/isarray/test.js'>test.js</a><br> +<i> isobject</i><br> + <a href='./node_modules/isobject/index.d.ts'>index.d.ts</a><br> + <a href='./node_modules/isobject/index.js'>index.js</a><br> + <a href='./node_modules/isobject/LICENSE'>LICENSE</a><br> + <a href='./node_modules/isobject/package.json'>package.json</a><br> + <a href='./node_modules/isobject/README.md'>README.md</a><br> +<i> kind-of</i><br> + <a href='./node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/kind-of/README.md'>README.md</a><br> +<i> koalas</i><br> + <a href='./node_modules/koalas/index.js'>index.js</a><br> + <a href='./node_modules/koalas/LICENSE'>LICENSE</a><br> + <a href='./node_modules/koalas/package.json'>package.json</a><br> + <a href='./node_modules/koalas/README.md'>README.md</a><br> +<i> lazy-cache</i><br> + <a href='./node_modules/lazy-cache/index.js'>index.js</a><br> + <a href='./node_modules/lazy-cache/LICENSE'>LICENSE</a><br> + <a href='./node_modules/lazy-cache/package.json'>package.json</a><br> + <a href='./node_modules/lazy-cache/README.md'>README.md</a><br> +<i> log-ok</i><br> + <a href='./node_modules/log-ok/index.js'>index.js</a><br> + <a href='./node_modules/log-ok/LICENSE'>LICENSE</a><br> + <a href='./node_modules/log-ok/package.json'>package.json</a><br> +<i> log-utils</i><br> + <a href='./node_modules/log-utils/index.js'>index.js</a><br> + <a href='./node_modules/log-utils/LICENSE'>LICENSE</a><br> + <a href='./node_modules/log-utils/package.json'>package.json</a><br> +<i> map-visit</i><br> + <a href='./node_modules/map-visit/index.js'>index.js</a><br> + <a href='./node_modules/map-visit/LICENSE'>LICENSE</a><br> + <a href='./node_modules/map-visit/package.json'>package.json</a><br> + <a href='./node_modules/map-visit/README.md'>README.md</a><br> +<i> mimic-response</i><br> + <a href='./node_modules/mimic-response/index.js'>index.js</a><br> + <a href='./node_modules/mimic-response/license'>license</a><br> + <a href='./node_modules/mimic-response/package.json'>package.json</a><br> + <a href='./node_modules/mimic-response/readme.md'>readme.md</a><br> +<i> minimist</i><br> + <a href='./node_modules/minimist/.travis.yml'>.travis.yml</a><br> +<i> example</i><br> + <a href='./node_modules/minimist/example/parse.js'>parse.js</a><br> + <a href='./node_modules/minimist/index.js'>index.js</a><br> + <a href='./node_modules/minimist/LICENSE'>LICENSE</a><br> + <a href='./node_modules/minimist/package.json'>package.json</a><br> + <a href='./node_modules/minimist/readme.markdown'>readme.markdown</a><br> +<i> test</i><br> + <a href='./node_modules/minimist/test/all_bool.js'>all_bool.js</a><br> + <a href='./node_modules/minimist/test/bool.js'>bool.js</a><br> + <a href='./node_modules/minimist/test/dash.js'>dash.js</a><br> + <a href='./node_modules/minimist/test/default_bool.js'>default_bool.js</a><br> + <a href='./node_modules/minimist/test/dotted.js'>dotted.js</a><br> + <a href='./node_modules/minimist/test/kv_short.js'>kv_short.js</a><br> + <a href='./node_modules/minimist/test/long.js'>long.js</a><br> + <a href='./node_modules/minimist/test/num.js'>num.js</a><br> + <a href='./node_modules/minimist/test/parse.js'>parse.js</a><br> + <a href='./node_modules/minimist/test/parse_modified.js'>parse_modified.js</a><br> + <a href='./node_modules/minimist/test/short.js'>short.js</a><br> + <a href='./node_modules/minimist/test/stop_early.js'>stop_early.js</a><br> + <a href='./node_modules/minimist/test/unknown.js'>unknown.js</a><br> + <a href='./node_modules/minimist/test/whitespace.js'>whitespace.js</a><br> +<i> mixin-object</i><br> + <a href='./node_modules/mixin-object/index.js'>index.js</a><br> + <a href='./node_modules/mixin-object/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> for-in</i><br> + <a href='./node_modules/mixin-object/node_modules/for-in/index.js'>index.js</a><br> + <a href='./node_modules/mixin-object/node_modules/for-in/LICENSE'>LICENSE</a><br> + <a href='./node_modules/mixin-object/node_modules/for-in/package.json'>package.json</a><br> + <a href='./node_modules/mixin-object/node_modules/for-in/README.md'>README.md</a><br> + <a href='./node_modules/mixin-object/package.json'>package.json</a><br> + <a href='./node_modules/mixin-object/README.md'>README.md</a><br> +<i> mkdirp</i><br> + <a href='./node_modules/mkdirp/.travis.yml'>.travis.yml</a><br> +<i> bin</i><br> + <a href='./node_modules/mkdirp/bin/cmd.js'>cmd.js</a><br> + <a href='./node_modules/mkdirp/bin/usage.txt'>usage.txt</a><br> +<i> examples</i><br> + <a href='./node_modules/mkdirp/examples/pow.js'>pow.js</a><br> + <a href='./node_modules/mkdirp/index.js'>index.js</a><br> + <a href='./node_modules/mkdirp/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> minimist</i><br> + <a href='./node_modules/mkdirp/node_modules/minimist/.travis.yml'>.travis.yml</a><br> +<i> example</i><br> + <a href='./node_modules/mkdirp/node_modules/minimist/example/parse.js'>parse.js</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/index.js'>index.js</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/LICENSE'>LICENSE</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/package.json'>package.json</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/readme.markdown'>readme.markdown</a><br> +<i> test</i><br> + <a href='./node_modules/mkdirp/node_modules/minimist/test/dash.js'>dash.js</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/test/default_bool.js'>default_bool.js</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/test/dotted.js'>dotted.js</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/test/long.js'>long.js</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/test/parse.js'>parse.js</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/test/parse_modified.js'>parse_modified.js</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/test/short.js'>short.js</a><br> + <a href='./node_modules/mkdirp/node_modules/minimist/test/whitespace.js'>whitespace.js</a><br> + <a href='./node_modules/mkdirp/package.json'>package.json</a><br> + <a href='./node_modules/mkdirp/readme.markdown'>readme.markdown</a><br> +<i> test</i><br> + <a href='./node_modules/mkdirp/test/chmod.js'>chmod.js</a><br> + <a href='./node_modules/mkdirp/test/clobber.js'>clobber.js</a><br> + <a href='./node_modules/mkdirp/test/mkdirp.js'>mkdirp.js</a><br> + <a href='./node_modules/mkdirp/test/opts_fs.js'>opts_fs.js</a><br> + <a href='./node_modules/mkdirp/test/opts_fs_sync.js'>opts_fs_sync.js</a><br> + <a href='./node_modules/mkdirp/test/perm.js'>perm.js</a><br> + <a href='./node_modules/mkdirp/test/perm_sync.js'>perm_sync.js</a><br> + <a href='./node_modules/mkdirp/test/race.js'>race.js</a><br> + <a href='./node_modules/mkdirp/test/rel.js'>rel.js</a><br> + <a href='./node_modules/mkdirp/test/return.js'>return.js</a><br> + <a href='./node_modules/mkdirp/test/return_sync.js'>return_sync.js</a><br> + <a href='./node_modules/mkdirp/test/root.js'>root.js</a><br> + <a href='./node_modules/mkdirp/test/sync.js'>sync.js</a><br> + <a href='./node_modules/mkdirp/test/umask.js'>umask.js</a><br> + <a href='./node_modules/mkdirp/test/umask_sync.js'>umask_sync.js</a><br> +<i> ms</i><br> + <a href='./node_modules/ms/index.js'>index.js</a><br> + <a href='./node_modules/ms/license.md'>license.md</a><br> + <a href='./node_modules/ms/package.json'>package.json</a><br> + <a href='./node_modules/ms/readme.md'>readme.md</a><br> +<i> mute-stream</i><br> +<i> .nyc_output</i><br> + <a href='./node_modules/mute-stream/.nyc_output/33508.json'>33508.json</a><br> + <a href='./node_modules/mute-stream/.nyc_output/33510.json'>33510.json</a><br> + <a href='./node_modules/mute-stream/.travis.yml'>.travis.yml</a><br> +<i> coverage</i><br> +<i> lcov-report</i><br> + <a href='./node_modules/mute-stream/coverage/lcov-report/base.css'>base.css</a><br> + <a href='./node_modules/mute-stream/coverage/lcov-report/index.html'>index.html</a><br> + <a href='./node_modules/mute-stream/coverage/lcov-report/prettify.css'>prettify.css</a><br> + <a href='./node_modules/mute-stream/coverage/lcov-report/prettify.js'>prettify.js</a><br> + <a href='./node_modules/mute-stream/coverage/lcov-report/sort-arrow-sprite.png'>sort-arrow-sprite.png</a><br> + <a href='./node_modules/mute-stream/coverage/lcov-report/sorter.js'>sorter.js</a><br> +<i> __root__</i><br> + <a href='./node_modules/mute-stream/coverage/lcov-report/__root__/index.html'>index.html</a><br> + <a href='./node_modules/mute-stream/coverage/lcov-report/__root__/mute.js.html'>mute.js.html</a><br> + <a href='./node_modules/mute-stream/coverage/lcov.info'>lcov.info</a><br> + <a href='./node_modules/mute-stream/LICENSE'>LICENSE</a><br> + <a href='./node_modules/mute-stream/mute.js'>mute.js</a><br> + <a href='./node_modules/mute-stream/package.json'>package.json</a><br> + <a href='./node_modules/mute-stream/README.md'>README.md</a><br> +<i> test</i><br> + <a href='./node_modules/mute-stream/test/basic.js'>basic.js</a><br> +<i> nan</i><br> + <a href='./node_modules/nan/CHANGELOG.md'>CHANGELOG.md</a><br> +<i> doc</i><br> + <a href='./node_modules/nan/doc/asyncworker.md'>asyncworker.md</a><br> + <a href='./node_modules/nan/doc/buffers.md'>buffers.md</a><br> + <a href='./node_modules/nan/doc/callback.md'>callback.md</a><br> + <a href='./node_modules/nan/doc/converters.md'>converters.md</a><br> + <a href='./node_modules/nan/doc/errors.md'>errors.md</a><br> + <a href='./node_modules/nan/doc/json.md'>json.md</a><br> + <a href='./node_modules/nan/doc/maybe_types.md'>maybe_types.md</a><br> + <a href='./node_modules/nan/doc/methods.md'>methods.md</a><br> + <a href='./node_modules/nan/doc/new.md'>new.md</a><br> + <a href='./node_modules/nan/doc/node_misc.md'>node_misc.md</a><br> + <a href='./node_modules/nan/doc/object_wrappers.md'>object_wrappers.md</a><br> + <a href='./node_modules/nan/doc/persistent.md'>persistent.md</a><br> + <a href='./node_modules/nan/doc/scopes.md'>scopes.md</a><br> + <a href='./node_modules/nan/doc/script.md'>script.md</a><br> + <a href='./node_modules/nan/doc/string_bytes.md'>string_bytes.md</a><br> + <a href='./node_modules/nan/doc/v8_internals.md'>v8_internals.md</a><br> + <a href='./node_modules/nan/doc/v8_misc.md'>v8_misc.md</a><br> + <a href='./node_modules/nan/include_dirs.js'>include_dirs.js</a><br> + <a href='./node_modules/nan/LICENSE.md'>LICENSE.md</a><br> + <a href='./node_modules/nan/nan.h'>nan.h</a><br> + <a href='./node_modules/nan/nan_callbacks.h'>nan_callbacks.h</a><br> + <a href='./node_modules/nan/nan_callbacks_12_inl.h'>nan_callbacks_12_inl.h</a><br> + <a href='./node_modules/nan/nan_callbacks_pre_12_inl.h'>nan_callbacks_pre_12_inl.h</a><br> + <a href='./node_modules/nan/nan_converters.h'>nan_converters.h</a><br> + <a href='./node_modules/nan/nan_converters_43_inl.h'>nan_converters_43_inl.h</a><br> + <a href='./node_modules/nan/nan_converters_pre_43_inl.h'>nan_converters_pre_43_inl.h</a><br> + <a href='./node_modules/nan/nan_define_own_property_helper.h'>nan_define_own_property_helper.h</a><br> + <a href='./node_modules/nan/nan_implementation_12_inl.h'>nan_implementation_12_inl.h</a><br> + <a href='./node_modules/nan/nan_implementation_pre_12_inl.h'>nan_implementation_pre_12_inl.h</a><br> + <a href='./node_modules/nan/nan_json.h'>nan_json.h</a><br> + <a href='./node_modules/nan/nan_maybe_43_inl.h'>nan_maybe_43_inl.h</a><br> + <a href='./node_modules/nan/nan_maybe_pre_43_inl.h'>nan_maybe_pre_43_inl.h</a><br> + <a href='./node_modules/nan/nan_new.h'>nan_new.h</a><br> + <a href='./node_modules/nan/nan_object_wrap.h'>nan_object_wrap.h</a><br> + <a href='./node_modules/nan/nan_persistent_12_inl.h'>nan_persistent_12_inl.h</a><br> + <a href='./node_modules/nan/nan_persistent_pre_12_inl.h'>nan_persistent_pre_12_inl.h</a><br> + <a href='./node_modules/nan/nan_private.h'>nan_private.h</a><br> + <a href='./node_modules/nan/nan_string_bytes.h'>nan_string_bytes.h</a><br> + <a href='./node_modules/nan/nan_typedarray_contents.h'>nan_typedarray_contents.h</a><br> + <a href='./node_modules/nan/nan_weak.h'>nan_weak.h</a><br> + <a href='./node_modules/nan/package.json'>package.json</a><br> + <a href='./node_modules/nan/README.md'>README.md</a><br> +<i> tools</i><br> + <a href='./node_modules/nan/tools/1to2.js'>1to2.js</a><br> + <a href='./node_modules/nan/tools/package.json'>package.json</a><br> + <a href='./node_modules/nan/tools/README.md'>README.md</a><br> +<i> node-abi</i><br> + <a href='./node_modules/node-abi/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/node-abi/CODE_OF_CONDUCT.md'>CODE_OF_CONDUCT.md</a><br> + <a href='./node_modules/node-abi/CONTRIBUTING.md'>CONTRIBUTING.md</a><br> + <a href='./node_modules/node-abi/index.js'>index.js</a><br> + <a href='./node_modules/node-abi/LICENSE'>LICENSE</a><br> + <a href='./node_modules/node-abi/package.json'>package.json</a><br> + <a href='./node_modules/node-abi/README.md'>README.md</a><br> +<i> test</i><br> + <a href='./node_modules/node-abi/test/index.js'>index.js</a><br> +<i> noop-logger</i><br> + <a href='./node_modules/noop-logger/.npmignore'>.npmignore</a><br> + <a href='./node_modules/noop-logger/circle.yml'>circle.yml</a><br> + <a href='./node_modules/noop-logger/History.md'>History.md</a><br> +<i> lib</i><br> + <a href='./node_modules/noop-logger/lib/index.js'>index.js</a><br> + <a href='./node_modules/noop-logger/Makefile'>Makefile</a><br> + <a href='./node_modules/noop-logger/package.json'>package.json</a><br> + <a href='./node_modules/noop-logger/Readme.md'>Readme.md</a><br> +<i> test</i><br> + <a href='./node_modules/noop-logger/test/index.js'>index.js</a><br> +<i> npmlog</i><br> + <a href='./node_modules/npmlog/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/npmlog/LICENSE'>LICENSE</a><br> + <a href='./node_modules/npmlog/log.js'>log.js</a><br> + <a href='./node_modules/npmlog/package.json'>package.json</a><br> + <a href='./node_modules/npmlog/README.md'>README.md</a><br> +<i> number-is-nan</i><br> + <a href='./node_modules/number-is-nan/index.js'>index.js</a><br> + <a href='./node_modules/number-is-nan/license'>license</a><br> + <a href='./node_modules/number-is-nan/package.json'>package.json</a><br> + <a href='./node_modules/number-is-nan/readme.md'>readme.md</a><br> +<i> object-assign</i><br> + <a href='./node_modules/object-assign/index.js'>index.js</a><br> + <a href='./node_modules/object-assign/license'>license</a><br> + <a href='./node_modules/object-assign/package.json'>package.json</a><br> + <a href='./node_modules/object-assign/readme.md'>readme.md</a><br> +<i> object-copy</i><br> + <a href='./node_modules/object-copy/index.js'>index.js</a><br> + <a href='./node_modules/object-copy/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> define-property</i><br> + <a href='./node_modules/object-copy/node_modules/define-property/index.js'>index.js</a><br> + <a href='./node_modules/object-copy/node_modules/define-property/LICENSE'>LICENSE</a><br> + <a href='./node_modules/object-copy/node_modules/define-property/package.json'>package.json</a><br> + <a href='./node_modules/object-copy/node_modules/define-property/README.md'>README.md</a><br> +<i> is-accessor-descriptor</i><br> + <a href='./node_modules/object-copy/node_modules/is-accessor-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/object-copy/node_modules/is-accessor-descriptor/LICENSE'>LICENSE</a><br> + <a href='./node_modules/object-copy/node_modules/is-accessor-descriptor/package.json'>package.json</a><br> + <a href='./node_modules/object-copy/node_modules/is-accessor-descriptor/README.md'>README.md</a><br> +<i> is-data-descriptor</i><br> + <a href='./node_modules/object-copy/node_modules/is-data-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/object-copy/node_modules/is-data-descriptor/LICENSE'>LICENSE</a><br> + <a href='./node_modules/object-copy/node_modules/is-data-descriptor/package.json'>package.json</a><br> + <a href='./node_modules/object-copy/node_modules/is-data-descriptor/README.md'>README.md</a><br> +<i> is-descriptor</i><br> + <a href='./node_modules/object-copy/node_modules/is-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/object-copy/node_modules/is-descriptor/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> kind-of</i><br> + <a href='./node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/object-copy/node_modules/is-descriptor/package.json'>package.json</a><br> + <a href='./node_modules/object-copy/node_modules/is-descriptor/README.md'>README.md</a><br> + <a href='./node_modules/object-copy/package.json'>package.json</a><br> +<i> object-visit</i><br> + <a href='./node_modules/object-visit/index.js'>index.js</a><br> + <a href='./node_modules/object-visit/LICENSE'>LICENSE</a><br> + <a href='./node_modules/object-visit/package.json'>package.json</a><br> + <a href='./node_modules/object-visit/README.md'>README.md</a><br> +<i> once</i><br> + <a href='./node_modules/once/LICENSE'>LICENSE</a><br> + <a href='./node_modules/once/once.js'>once.js</a><br> + <a href='./node_modules/once/package.json'>package.json</a><br> + <a href='./node_modules/once/README.md'>README.md</a><br> +<i> os-homedir</i><br> + <a href='./node_modules/os-homedir/index.js'>index.js</a><br> + <a href='./node_modules/os-homedir/license'>license</a><br> + <a href='./node_modules/os-homedir/package.json'>package.json</a><br> + <a href='./node_modules/os-homedir/readme.md'>readme.md</a><br> +<i> parser-byte-length</i><br> + <a href='./node_modules/parser-byte-length/byte-length.js'>byte-length.js</a><br> + <a href='./node_modules/parser-byte-length/package.json'>package.json</a><br> + <a href='./node_modules/parser-byte-length/README.md'>README.md</a><br> +<i> parser-cctalk</i><br> + <a href='./node_modules/parser-cctalk/cctalk.js'>cctalk.js</a><br> + <a href='./node_modules/parser-cctalk/package.json'>package.json</a><br> + <a href='./node_modules/parser-cctalk/README.md'>README.md</a><br> +<i> parser-delimiter</i><br> + <a href='./node_modules/parser-delimiter/delimiter.js'>delimiter.js</a><br> + <a href='./node_modules/parser-delimiter/package.json'>package.json</a><br> + <a href='./node_modules/parser-delimiter/README.md'>README.md</a><br> +<i> parser-readline</i><br> + <a href='./node_modules/parser-readline/package.json'>package.json</a><br> + <a href='./node_modules/parser-readline/readline.js'>readline.js</a><br> + <a href='./node_modules/parser-readline/README.md'>README.md</a><br> +<i> parser-ready</i><br> + <a href='./node_modules/parser-ready/package.json'>package.json</a><br> + <a href='./node_modules/parser-ready/README.md'>README.md</a><br> + <a href='./node_modules/parser-ready/ready.js'>ready.js</a><br> +<i> parser-regex</i><br> + <a href='./node_modules/parser-regex/package.json'>package.json</a><br> + <a href='./node_modules/parser-regex/README.md'>README.md</a><br> + <a href='./node_modules/parser-regex/regex.js'>regex.js</a><br> +<i> pointer-symbol</i><br> + <a href='./node_modules/pointer-symbol/index.js'>index.js</a><br> + <a href='./node_modules/pointer-symbol/LICENSE'>LICENSE</a><br> + <a href='./node_modules/pointer-symbol/package.json'>package.json</a><br> + <a href='./node_modules/pointer-symbol/README.md'>README.md</a><br> +<i> prebuild-install</i><br> + <a href='./node_modules/prebuild-install/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/prebuild-install/appveyor.yml'>appveyor.yml</a><br> + <a href='./node_modules/prebuild-install/bin.js'>bin.js</a><br> + <a href='./node_modules/prebuild-install/CONTRIBUTING.md'>CONTRIBUTING.md</a><br> + <a href='./node_modules/prebuild-install/download.js'>download.js</a><br> + <a href='./node_modules/prebuild-install/error.js'>error.js</a><br> + <a href='./node_modules/prebuild-install/help.txt'>help.txt</a><br> + <a href='./node_modules/prebuild-install/index.js'>index.js</a><br> + <a href='./node_modules/prebuild-install/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prebuild-install/log.js'>log.js</a><br> + <a href='./node_modules/prebuild-install/package.json'>package.json</a><br> + <a href='./node_modules/prebuild-install/rc.js'>rc.js</a><br> + <a href='./node_modules/prebuild-install/README.md'>README.md</a><br> + <a href='./node_modules/prebuild-install/util.js'>util.js</a><br> +<i> process-nextick-args</i><br> + <a href='./node_modules/process-nextick-args/index.js'>index.js</a><br> + <a href='./node_modules/process-nextick-args/license.md'>license.md</a><br> + <a href='./node_modules/process-nextick-args/package.json'>package.json</a><br> + <a href='./node_modules/process-nextick-args/readme.md'>readme.md</a><br> +<i> promirepl</i><br> + <a href='./node_modules/promirepl/.npmignore'>.npmignore</a><br> +<i> bin</i><br> + <a href='./node_modules/promirepl/bin/prominode.js'>prominode.js</a><br> + <a href='./node_modules/promirepl/index.js'>index.js</a><br> + <a href='./node_modules/promirepl/LICENSE'>LICENSE</a><br> + <a href='./node_modules/promirepl/package.json'>package.json</a><br> + <a href='./node_modules/promirepl/README.md'>README.md</a><br> +<i> prompt-actions</i><br> + <a href='./node_modules/prompt-actions/index.js'>index.js</a><br> + <a href='./node_modules/prompt-actions/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> debug</i><br> + <a href='./node_modules/prompt-actions/node_modules/debug/.coveralls.yml'>.coveralls.yml</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/.eslintrc'>.eslintrc</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/.npmignore'>.npmignore</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/component.json'>component.json</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/karma.conf.js'>karma.conf.js</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/Makefile'>Makefile</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/node.js'>node.js</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/package.json'>package.json</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/README.md'>README.md</a><br> +<i> src</i><br> + <a href='./node_modules/prompt-actions/node_modules/debug/src/browser.js'>browser.js</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/src/debug.js'>debug.js</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/src/index.js'>index.js</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/src/inspector-log.js'>inspector-log.js</a><br> + <a href='./node_modules/prompt-actions/node_modules/debug/src/node.js'>node.js</a><br> + <a href='./node_modules/prompt-actions/package.json'>package.json</a><br> + <a href='./node_modules/prompt-actions/README.md'>README.md</a><br> +<i> prompt-base</i><br> + <a href='./node_modules/prompt-base/changelog.md'>changelog.md</a><br> + <a href='./node_modules/prompt-base/index.js'>index.js</a><br> + <a href='./node_modules/prompt-base/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-base/package.json'>package.json</a><br> + <a href='./node_modules/prompt-base/README.md'>README.md</a><br> +<i> prompt-checkbox</i><br> + <a href='./node_modules/prompt-checkbox/index.js'>index.js</a><br> + <a href='./node_modules/prompt-checkbox/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> debug</i><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/.coveralls.yml'>.coveralls.yml</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/.eslintrc'>.eslintrc</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/.npmignore'>.npmignore</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/component.json'>component.json</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/karma.conf.js'>karma.conf.js</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/Makefile'>Makefile</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/node.js'>node.js</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/package.json'>package.json</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/README.md'>README.md</a><br> +<i> src</i><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/src/browser.js'>browser.js</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/src/debug.js'>debug.js</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/src/index.js'>index.js</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/src/inspector-log.js'>inspector-log.js</a><br> + <a href='./node_modules/prompt-checkbox/node_modules/debug/src/node.js'>node.js</a><br> + <a href='./node_modules/prompt-checkbox/package.json'>package.json</a><br> + <a href='./node_modules/prompt-checkbox/README.md'>README.md</a><br> +<i> prompt-choices</i><br> + <a href='./node_modules/prompt-choices/index.js'>index.js</a><br> +<i> lib</i><br> + <a href='./node_modules/prompt-choices/lib/choice.js'>choice.js</a><br> + <a href='./node_modules/prompt-choices/lib/utils.js'>utils.js</a><br> + <a href='./node_modules/prompt-choices/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> clone-deep</i><br> + <a href='./node_modules/prompt-choices/node_modules/clone-deep/index.js'>index.js</a><br> + <a href='./node_modules/prompt-choices/node_modules/clone-deep/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-choices/node_modules/clone-deep/package.json'>package.json</a><br> + <a href='./node_modules/prompt-choices/node_modules/clone-deep/README.md'>README.md</a><br> +<i> define-property</i><br> + <a href='./node_modules/prompt-choices/node_modules/define-property/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/prompt-choices/node_modules/define-property/index.js'>index.js</a><br> + <a href='./node_modules/prompt-choices/node_modules/define-property/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-choices/node_modules/define-property/package.json'>package.json</a><br> + <a href='./node_modules/prompt-choices/node_modules/define-property/README.md'>README.md</a><br> +<i> kind-of</i><br> + <a href='./node_modules/prompt-choices/node_modules/kind-of/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/prompt-choices/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/prompt-choices/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-choices/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/prompt-choices/node_modules/kind-of/README.md'>README.md</a><br> +<i> shallow-clone</i><br> + <a href='./node_modules/prompt-choices/node_modules/shallow-clone/index.js'>index.js</a><br> + <a href='./node_modules/prompt-choices/node_modules/shallow-clone/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-choices/node_modules/shallow-clone/package.json'>package.json</a><br> + <a href='./node_modules/prompt-choices/node_modules/shallow-clone/README.md'>README.md</a><br> + <a href='./node_modules/prompt-choices/package.json'>package.json</a><br> + <a href='./node_modules/prompt-choices/README.md'>README.md</a><br> +<i> prompt-list</i><br> + <a href='./node_modules/prompt-list/index.js'>index.js</a><br> + <a href='./node_modules/prompt-list/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-list/package.json'>package.json</a><br> + <a href='./node_modules/prompt-list/README.md'>README.md</a><br> +<i> prompt-question</i><br> + <a href='./node_modules/prompt-question/index.js'>index.js</a><br> +<i> lib</i><br> + <a href='./node_modules/prompt-question/lib/utils.js'>utils.js</a><br> + <a href='./node_modules/prompt-question/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> kind-of</i><br> + <a href='./node_modules/prompt-question/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/prompt-question/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-question/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/prompt-question/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/prompt-question/package.json'>package.json</a><br> + <a href='./node_modules/prompt-question/README.md'>README.md</a><br> +<i> prompt-radio</i><br> + <a href='./node_modules/prompt-radio/index.js'>index.js</a><br> + <a href='./node_modules/prompt-radio/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> debug</i><br> + <a href='./node_modules/prompt-radio/node_modules/debug/.coveralls.yml'>.coveralls.yml</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/.eslintrc'>.eslintrc</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/.npmignore'>.npmignore</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/component.json'>component.json</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/karma.conf.js'>karma.conf.js</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/LICENSE'>LICENSE</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/Makefile'>Makefile</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/node.js'>node.js</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/package.json'>package.json</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/README.md'>README.md</a><br> +<i> src</i><br> + <a href='./node_modules/prompt-radio/node_modules/debug/src/browser.js'>browser.js</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/src/debug.js'>debug.js</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/src/index.js'>index.js</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/src/inspector-log.js'>inspector-log.js</a><br> + <a href='./node_modules/prompt-radio/node_modules/debug/src/node.js'>node.js</a><br> + <a href='./node_modules/prompt-radio/package.json'>package.json</a><br> + <a href='./node_modules/prompt-radio/README.md'>README.md</a><br> +<i> pump</i><br> + <a href='./node_modules/pump/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/pump/index.js'>index.js</a><br> + <a href='./node_modules/pump/LICENSE'>LICENSE</a><br> + <a href='./node_modules/pump/package.json'>package.json</a><br> + <a href='./node_modules/pump/README.md'>README.md</a><br> + <a href='./node_modules/pump/test-browser.js'>test-browser.js</a><br> + <a href='./node_modules/pump/test-node.js'>test-node.js</a><br> +<i> radio-symbol</i><br> + <a href='./node_modules/radio-symbol/index.js'>index.js</a><br> + <a href='./node_modules/radio-symbol/LICENSE'>LICENSE</a><br> + <a href='./node_modules/radio-symbol/package.json'>package.json</a><br> + <a href='./node_modules/radio-symbol/README.md'>README.md</a><br> +<i> rc</i><br> + <a href='./node_modules/rc/browser.js'>browser.js</a><br> + <a href='./node_modules/rc/cli.js'>cli.js</a><br> + <a href='./node_modules/rc/index.js'>index.js</a><br> +<i> lib</i><br> + <a href='./node_modules/rc/lib/utils.js'>utils.js</a><br> + <a href='./node_modules/rc/LICENSE.APACHE2'>LICENSE.APACHE2</a><br> + <a href='./node_modules/rc/LICENSE.BSD'>LICENSE.BSD</a><br> + <a href='./node_modules/rc/LICENSE.MIT'>LICENSE.MIT</a><br> + <a href='./node_modules/rc/package.json'>package.json</a><br> + <a href='./node_modules/rc/README.md'>README.md</a><br> +<i> test</i><br> + <a href='./node_modules/rc/test/ini.js'>ini.js</a><br> + <a href='./node_modules/rc/test/nested-env-vars.js'>nested-env-vars.js</a><br> + <a href='./node_modules/rc/test/test.js'>test.js</a><br> +<i> readable-stream</i><br> + <a href='./node_modules/readable-stream/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/readable-stream/CONTRIBUTING.md'>CONTRIBUTING.md</a><br> +<i> doc</i><br> +<i> wg-meetings</i><br> + <a href='./node_modules/readable-stream/doc/wg-meetings/2015-01-30.md'>2015-01-30.md</a><br> + <a href='./node_modules/readable-stream/duplex-browser.js'>duplex-browser.js</a><br> + <a href='./node_modules/readable-stream/duplex.js'>duplex.js</a><br> + <a href='./node_modules/readable-stream/GOVERNANCE.md'>GOVERNANCE.md</a><br> +<i> lib</i><br> +<i> internal</i><br> +<i> streams</i><br> + <a href='./node_modules/readable-stream/lib/internal/streams/BufferList.js'>BufferList.js</a><br> + <a href='./node_modules/readable-stream/lib/internal/streams/destroy.js'>destroy.js</a><br> + <a href='./node_modules/readable-stream/lib/internal/streams/stream-browser.js'>stream-browser.js</a><br> + <a href='./node_modules/readable-stream/lib/internal/streams/stream.js'>stream.js</a><br> + <a href='./node_modules/readable-stream/lib/_stream_duplex.js'>_stream_duplex.js</a><br> + <a href='./node_modules/readable-stream/lib/_stream_passthrough.js'>_stream_passthrough.js</a><br> + <a href='./node_modules/readable-stream/lib/_stream_readable.js'>_stream_readable.js</a><br> + <a href='./node_modules/readable-stream/lib/_stream_transform.js'>_stream_transform.js</a><br> + <a href='./node_modules/readable-stream/lib/_stream_writable.js'>_stream_writable.js</a><br> + <a href='./node_modules/readable-stream/LICENSE'>LICENSE</a><br> + <a href='./node_modules/readable-stream/package.json'>package.json</a><br> + <a href='./node_modules/readable-stream/passthrough.js'>passthrough.js</a><br> + <a href='./node_modules/readable-stream/readable-browser.js'>readable-browser.js</a><br> + <a href='./node_modules/readable-stream/readable.js'>readable.js</a><br> + <a href='./node_modules/readable-stream/README.md'>README.md</a><br> + <a href='./node_modules/readable-stream/transform.js'>transform.js</a><br> + <a href='./node_modules/readable-stream/writable-browser.js'>writable-browser.js</a><br> + <a href='./node_modules/readable-stream/writable.js'>writable.js</a><br> +<i> readline-ui</i><br> + <a href='./node_modules/readline-ui/index.js'>index.js</a><br> + <a href='./node_modules/readline-ui/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> ansi-regex</i><br> + <a href='./node_modules/readline-ui/node_modules/ansi-regex/index.js'>index.js</a><br> + <a href='./node_modules/readline-ui/node_modules/ansi-regex/license'>license</a><br> + <a href='./node_modules/readline-ui/node_modules/ansi-regex/package.json'>package.json</a><br> + <a href='./node_modules/readline-ui/node_modules/ansi-regex/readme.md'>readme.md</a><br> +<i> debug</i><br> + <a href='./node_modules/readline-ui/node_modules/debug/.coveralls.yml'>.coveralls.yml</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/.eslintrc'>.eslintrc</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/.npmignore'>.npmignore</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/component.json'>component.json</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/karma.conf.js'>karma.conf.js</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/LICENSE'>LICENSE</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/Makefile'>Makefile</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/node.js'>node.js</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/package.json'>package.json</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/README.md'>README.md</a><br> +<i> src</i><br> + <a href='./node_modules/readline-ui/node_modules/debug/src/browser.js'>browser.js</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/src/debug.js'>debug.js</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/src/index.js'>index.js</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/src/inspector-log.js'>inspector-log.js</a><br> + <a href='./node_modules/readline-ui/node_modules/debug/src/node.js'>node.js</a><br> +<i> is-fullwidth-code-point</i><br> + <a href='./node_modules/readline-ui/node_modules/is-fullwidth-code-point/index.js'>index.js</a><br> + <a href='./node_modules/readline-ui/node_modules/is-fullwidth-code-point/license'>license</a><br> + <a href='./node_modules/readline-ui/node_modules/is-fullwidth-code-point/package.json'>package.json</a><br> + <a href='./node_modules/readline-ui/node_modules/is-fullwidth-code-point/readme.md'>readme.md</a><br> +<i> string-width</i><br> + <a href='./node_modules/readline-ui/node_modules/string-width/index.js'>index.js</a><br> + <a href='./node_modules/readline-ui/node_modules/string-width/license'>license</a><br> + <a href='./node_modules/readline-ui/node_modules/string-width/package.json'>package.json</a><br> + <a href='./node_modules/readline-ui/node_modules/string-width/readme.md'>readme.md</a><br> +<i> strip-ansi</i><br> + <a href='./node_modules/readline-ui/node_modules/strip-ansi/index.js'>index.js</a><br> + <a href='./node_modules/readline-ui/node_modules/strip-ansi/license'>license</a><br> + <a href='./node_modules/readline-ui/node_modules/strip-ansi/package.json'>package.json</a><br> + <a href='./node_modules/readline-ui/node_modules/strip-ansi/readme.md'>readme.md</a><br> + <a href='./node_modules/readline-ui/package.json'>package.json</a><br> + <a href='./node_modules/readline-ui/README.md'>README.md</a><br> +<i> readline-utils</i><br> + <a href='./node_modules/readline-utils/index.js'>index.js</a><br> + <a href='./node_modules/readline-utils/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> is-number</i><br> + <a href='./node_modules/readline-utils/node_modules/is-number/index.js'>index.js</a><br> + <a href='./node_modules/readline-utils/node_modules/is-number/LICENSE'>LICENSE</a><br> + <a href='./node_modules/readline-utils/node_modules/is-number/package.json'>package.json</a><br> + <a href='./node_modules/readline-utils/node_modules/is-number/README.md'>README.md</a><br> + <a href='./node_modules/readline-utils/package.json'>package.json</a><br> + <a href='./node_modules/readline-utils/README.md'>README.md</a><br> +<i> safe-buffer</i><br> + <a href='./node_modules/safe-buffer/index.d.ts'>index.d.ts</a><br> + <a href='./node_modules/safe-buffer/index.js'>index.js</a><br> + <a href='./node_modules/safe-buffer/LICENSE'>LICENSE</a><br> + <a href='./node_modules/safe-buffer/package.json'>package.json</a><br> + <a href='./node_modules/safe-buffer/README.md'>README.md</a><br> +<i> semver</i><br> +<i> bin</i><br> + <a href='./node_modules/semver/bin/semver'>semver</a><br> + <a href='./node_modules/semver/LICENSE'>LICENSE</a><br> + <a href='./node_modules/semver/package.json'>package.json</a><br> + <a href='./node_modules/semver/range.bnf'>range.bnf</a><br> + <a href='./node_modules/semver/README.md'>README.md</a><br> + <a href='./node_modules/semver/semver.js'>semver.js</a><br> +<i> serialport</i><br> + <a href='./node_modules/serialport/.jsdoc.json'>.jsdoc.json</a><br> +<i> bin</i><br> + <a href='./node_modules/serialport/bin/echo.js'>echo.js</a><br> + <a href='./node_modules/serialport/bin/find-arduino.js'>find-arduino.js</a><br> + <a href='./node_modules/serialport/bin/list.js'>list.js</a><br> + <a href='./node_modules/serialport/bin/repl.js'>repl.js</a><br> + <a href='./node_modules/serialport/bin/terminal.js'>terminal.js</a><br> + <a href='./node_modules/serialport/bin/write-a-lot.js'>write-a-lot.js</a><br> + <a href='./node_modules/serialport/binding.gyp'>binding.gyp</a><br> +<i> build</i><br> +<i> Release</i><br> + <a href='./node_modules/serialport/build/Release/serialport.node'>serialport.node</a><br> + <a href='./node_modules/serialport/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/serialport/codecov.yml'>codecov.yml</a><br> +<i> lib</i><br> +<i> bindings</i><br> + <a href='./node_modules/serialport/lib/bindings/auto-detect.js'>auto-detect.js</a><br> + <a href='./node_modules/serialport/lib/bindings/base.js'>base.js</a><br> + <a href='./node_modules/serialport/lib/bindings/darwin.js'>darwin.js</a><br> + <a href='./node_modules/serialport/lib/bindings/linux-list.js'>linux-list.js</a><br> + <a href='./node_modules/serialport/lib/bindings/linux.js'>linux.js</a><br> + <a href='./node_modules/serialport/lib/bindings/mock.js'>mock.js</a><br> + <a href='./node_modules/serialport/lib/bindings/poller.js'>poller.js</a><br> + <a href='./node_modules/serialport/lib/bindings/unix-read.js'>unix-read.js</a><br> + <a href='./node_modules/serialport/lib/bindings/unix-write.js'>unix-write.js</a><br> + <a href='./node_modules/serialport/lib/bindings/win32-sn-parser.js'>win32-sn-parser.js</a><br> + <a href='./node_modules/serialport/lib/bindings/win32.js'>win32.js</a><br> + <a href='./node_modules/serialport/lib/index.js'>index.js</a><br> + <a href='./node_modules/serialport/lib/parsers.js'>parsers.js</a><br> + <a href='./node_modules/serialport/lib/serialport.js'>serialport.js</a><br> + <a href='./node_modules/serialport/lib/util.js'>util.js</a><br> + <a href='./node_modules/serialport/LICENSE'>LICENSE</a><br> + <a href='./node_modules/serialport/package.json'>package.json</a><br> +<i> prebuilds</i><br> + <a href='./node_modules/serialport/prebuilds/serialport-v6.1.1-node-v48-darwin-x64.tar.gz'>serialport-v6.1.1-node-v48-darwin-x64.tar.gz</a><br> + <a href='./node_modules/serialport/README.md'>README.md</a><br> +<i> src</i><br> + <a href='./node_modules/serialport/src/darwin_list.cpp'>darwin_list.cpp</a><br> + <a href='./node_modules/serialport/src/darwin_list.h'>darwin_list.h</a><br> + <a href='./node_modules/serialport/src/poller.cpp'>poller.cpp</a><br> + <a href='./node_modules/serialport/src/poller.h'>poller.h</a><br> + <a href='./node_modules/serialport/src/serialport.cpp'>serialport.cpp</a><br> + <a href='./node_modules/serialport/src/serialport.h'>serialport.h</a><br> + <a href='./node_modules/serialport/src/serialport_linux.cpp'>serialport_linux.cpp</a><br> + <a href='./node_modules/serialport/src/serialport_linux.h'>serialport_linux.h</a><br> + <a href='./node_modules/serialport/src/serialport_unix.cpp'>serialport_unix.cpp</a><br> + <a href='./node_modules/serialport/src/serialport_unix.h'>serialport_unix.h</a><br> + <a href='./node_modules/serialport/src/serialport_win.cpp'>serialport_win.cpp</a><br> + <a href='./node_modules/serialport/src/serialport_win.h'>serialport_win.h</a><br> + <a href='./node_modules/serialport/test.js'>test.js</a><br> +<i> set-blocking</i><br> + <a href='./node_modules/set-blocking/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/set-blocking/index.js'>index.js</a><br> + <a href='./node_modules/set-blocking/LICENSE.txt'>LICENSE.txt</a><br> + <a href='./node_modules/set-blocking/package.json'>package.json</a><br> + <a href='./node_modules/set-blocking/README.md'>README.md</a><br> +<i> set-getter</i><br> + <a href='./node_modules/set-getter/index.js'>index.js</a><br> + <a href='./node_modules/set-getter/LICENSE'>LICENSE</a><br> + <a href='./node_modules/set-getter/package.json'>package.json</a><br> + <a href='./node_modules/set-getter/README.md'>README.md</a><br> +<i> set-value</i><br> + <a href='./node_modules/set-value/index.js'>index.js</a><br> + <a href='./node_modules/set-value/LICENSE'>LICENSE</a><br> + <a href='./node_modules/set-value/package.json'>package.json</a><br> + <a href='./node_modules/set-value/README.md'>README.md</a><br> +<i> shallow-clone</i><br> + <a href='./node_modules/shallow-clone/index.js'>index.js</a><br> + <a href='./node_modules/shallow-clone/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> kind-of</i><br> + <a href='./node_modules/shallow-clone/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/shallow-clone/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/shallow-clone/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/shallow-clone/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/shallow-clone/package.json'>package.json</a><br> + <a href='./node_modules/shallow-clone/README.md'>README.md</a><br> +<i> signal-exit</i><br> + <a href='./node_modules/signal-exit/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/signal-exit/index.js'>index.js</a><br> + <a href='./node_modules/signal-exit/LICENSE.txt'>LICENSE.txt</a><br> + <a href='./node_modules/signal-exit/package.json'>package.json</a><br> + <a href='./node_modules/signal-exit/README.md'>README.md</a><br> + <a href='./node_modules/signal-exit/signals.js'>signals.js</a><br> +<i> simple-concat</i><br> + <a href='./node_modules/simple-concat/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/simple-concat/index.js'>index.js</a><br> + <a href='./node_modules/simple-concat/LICENSE'>LICENSE</a><br> + <a href='./node_modules/simple-concat/package.json'>package.json</a><br> + <a href='./node_modules/simple-concat/README.md'>README.md</a><br> +<i> test</i><br> + <a href='./node_modules/simple-concat/test/basic.js'>basic.js</a><br> +<i> simple-get</i><br> + <a href='./node_modules/simple-get/index.js'>index.js</a><br> + <a href='./node_modules/simple-get/LICENSE'>LICENSE</a><br> + <a href='./node_modules/simple-get/package.json'>package.json</a><br> + <a href='./node_modules/simple-get/README.md'>README.md</a><br> +<i> static-extend</i><br> + <a href='./node_modules/static-extend/index.js'>index.js</a><br> + <a href='./node_modules/static-extend/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> define-property</i><br> + <a href='./node_modules/static-extend/node_modules/define-property/index.js'>index.js</a><br> + <a href='./node_modules/static-extend/node_modules/define-property/LICENSE'>LICENSE</a><br> + <a href='./node_modules/static-extend/node_modules/define-property/package.json'>package.json</a><br> + <a href='./node_modules/static-extend/node_modules/define-property/README.md'>README.md</a><br> +<i> is-accessor-descriptor</i><br> + <a href='./node_modules/static-extend/node_modules/is-accessor-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/static-extend/node_modules/is-accessor-descriptor/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> kind-of</i><br> + <a href='./node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/static-extend/node_modules/is-accessor-descriptor/package.json'>package.json</a><br> + <a href='./node_modules/static-extend/node_modules/is-accessor-descriptor/README.md'>README.md</a><br> +<i> is-data-descriptor</i><br> + <a href='./node_modules/static-extend/node_modules/is-data-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/static-extend/node_modules/is-data-descriptor/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> kind-of</i><br> + <a href='./node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/static-extend/node_modules/is-data-descriptor/package.json'>package.json</a><br> + <a href='./node_modules/static-extend/node_modules/is-data-descriptor/README.md'>README.md</a><br> +<i> is-descriptor</i><br> + <a href='./node_modules/static-extend/node_modules/is-descriptor/index.js'>index.js</a><br> + <a href='./node_modules/static-extend/node_modules/is-descriptor/LICENSE'>LICENSE</a><br> + <a href='./node_modules/static-extend/node_modules/is-descriptor/package.json'>package.json</a><br> + <a href='./node_modules/static-extend/node_modules/is-descriptor/README.md'>README.md</a><br> +<i> kind-of</i><br> + <a href='./node_modules/static-extend/node_modules/kind-of/index.js'>index.js</a><br> + <a href='./node_modules/static-extend/node_modules/kind-of/LICENSE'>LICENSE</a><br> + <a href='./node_modules/static-extend/node_modules/kind-of/package.json'>package.json</a><br> + <a href='./node_modules/static-extend/node_modules/kind-of/README.md'>README.md</a><br> + <a href='./node_modules/static-extend/package.json'>package.json</a><br> +<i> string-width</i><br> + <a href='./node_modules/string-width/index.js'>index.js</a><br> + <a href='./node_modules/string-width/license'>license</a><br> + <a href='./node_modules/string-width/package.json'>package.json</a><br> + <a href='./node_modules/string-width/readme.md'>readme.md</a><br> +<i> string_decoder</i><br> + <a href='./node_modules/string_decoder/.travis.yml'>.travis.yml</a><br> +<i> lib</i><br> + <a href='./node_modules/string_decoder/lib/string_decoder.js'>string_decoder.js</a><br> + <a href='./node_modules/string_decoder/LICENSE'>LICENSE</a><br> + <a href='./node_modules/string_decoder/package.json'>package.json</a><br> + <a href='./node_modules/string_decoder/README.md'>README.md</a><br> +<i> strip-ansi</i><br> + <a href='./node_modules/strip-ansi/index.js'>index.js</a><br> + <a href='./node_modules/strip-ansi/license'>license</a><br> + <a href='./node_modules/strip-ansi/package.json'>package.json</a><br> + <a href='./node_modules/strip-ansi/readme.md'>readme.md</a><br> +<i> strip-color</i><br> + <a href='./node_modules/strip-color/index.js'>index.js</a><br> + <a href='./node_modules/strip-color/LICENSE'>LICENSE</a><br> + <a href='./node_modules/strip-color/package.json'>package.json</a><br> + <a href='./node_modules/strip-color/README.md'>README.md</a><br> +<i> strip-json-comments</i><br> + <a href='./node_modules/strip-json-comments/index.js'>index.js</a><br> + <a href='./node_modules/strip-json-comments/license'>license</a><br> + <a href='./node_modules/strip-json-comments/package.json'>package.json</a><br> + <a href='./node_modules/strip-json-comments/readme.md'>readme.md</a><br> +<i> success-symbol</i><br> + <a href='./node_modules/success-symbol/index.js'>index.js</a><br> + <a href='./node_modules/success-symbol/LICENSE'>LICENSE</a><br> + <a href='./node_modules/success-symbol/package.json'>package.json</a><br> + <a href='./node_modules/success-symbol/README.md'>README.md</a><br> +<i> tar-fs</i><br> + <a href='./node_modules/tar-fs/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/tar-fs/index.js'>index.js</a><br> + <a href='./node_modules/tar-fs/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> pump</i><br> + <a href='./node_modules/tar-fs/node_modules/pump/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/tar-fs/node_modules/pump/index.js'>index.js</a><br> + <a href='./node_modules/tar-fs/node_modules/pump/LICENSE'>LICENSE</a><br> + <a href='./node_modules/tar-fs/node_modules/pump/package.json'>package.json</a><br> + <a href='./node_modules/tar-fs/node_modules/pump/README.md'>README.md</a><br> + <a href='./node_modules/tar-fs/node_modules/pump/test-browser.js'>test-browser.js</a><br> + <a href='./node_modules/tar-fs/node_modules/pump/test.js'>test.js</a><br> + <a href='./node_modules/tar-fs/package.json'>package.json</a><br> + <a href='./node_modules/tar-fs/README.md'>README.md</a><br> +<i> test</i><br> +<i> fixtures</i><br> +<i> a</i><br> + <a href='./node_modules/tar-fs/test/fixtures/a/hello.txt'>hello.txt</a><br> +<i> b</i><br> +<i> a</i><br> + <a href='./node_modules/tar-fs/test/fixtures/b/a/test.txt'>test.txt</a><br> +<i> d</i><br> + <a href='./node_modules/tar-fs/test/fixtures/d/file1'>file1</a><br> + <a href='./node_modules/tar-fs/test/fixtures/d/file2'>file2</a><br> +<i> sub-dir</i><br> + <a href='./node_modules/tar-fs/test/fixtures/d/sub-dir/file5'>file5</a><br> +<i> sub-files</i><br> + <a href='./node_modules/tar-fs/test/fixtures/d/sub-files/file3'>file3</a><br> + <a href='./node_modules/tar-fs/test/fixtures/d/sub-files/file4'>file4</a><br> +<i> e</i><br> +<i> directory</i><br> + <a href='./node_modules/tar-fs/test/fixtures/e/directory/.ignore'>.ignore</a><br> + <a href='./node_modules/tar-fs/test/fixtures/e/file'>file</a><br> + <a href='./node_modules/tar-fs/test/fixtures/invalid.tar'>invalid.tar</a><br> + <a href='./node_modules/tar-fs/test/index.js'>index.js</a><br> +<i> tar-stream</i><br> + <a href='./node_modules/tar-stream/extract.js'>extract.js</a><br> + <a href='./node_modules/tar-stream/headers.js'>headers.js</a><br> + <a href='./node_modules/tar-stream/index.js'>index.js</a><br> + <a href='./node_modules/tar-stream/LICENSE'>LICENSE</a><br> + <a href='./node_modules/tar-stream/pack.js'>pack.js</a><br> + <a href='./node_modules/tar-stream/package.json'>package.json</a><br> + <a href='./node_modules/tar-stream/README.md'>README.md</a><br> +<i> terminal-paginator</i><br> + <a href='./node_modules/terminal-paginator/index.js'>index.js</a><br> + <a href='./node_modules/terminal-paginator/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> debug</i><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/.coveralls.yml'>.coveralls.yml</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/.eslintrc'>.eslintrc</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/.npmignore'>.npmignore</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/CHANGELOG.md'>CHANGELOG.md</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/component.json'>component.json</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/karma.conf.js'>karma.conf.js</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/LICENSE'>LICENSE</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/Makefile'>Makefile</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/node.js'>node.js</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/package.json'>package.json</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/README.md'>README.md</a><br> +<i> src</i><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/src/browser.js'>browser.js</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/src/debug.js'>debug.js</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/src/index.js'>index.js</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/src/inspector-log.js'>inspector-log.js</a><br> + <a href='./node_modules/terminal-paginator/node_modules/debug/src/node.js'>node.js</a><br> + <a href='./node_modules/terminal-paginator/package.json'>package.json</a><br> + <a href='./node_modules/terminal-paginator/README.md'>README.md</a><br> +<i> time-stamp</i><br> + <a href='./node_modules/time-stamp/index.js'>index.js</a><br> + <a href='./node_modules/time-stamp/LICENSE'>LICENSE</a><br> + <a href='./node_modules/time-stamp/package.json'>package.json</a><br> + <a href='./node_modules/time-stamp/README.md'>README.md</a><br> +<i> to-buffer</i><br> + <a href='./node_modules/to-buffer/.travis.yml'>.travis.yml</a><br> + <a href='./node_modules/to-buffer/index.js'>index.js</a><br> + <a href='./node_modules/to-buffer/LICENSE'>LICENSE</a><br> + <a href='./node_modules/to-buffer/package.json'>package.json</a><br> + <a href='./node_modules/to-buffer/README.md'>README.md</a><br> + <a href='./node_modules/to-buffer/test.js'>test.js</a><br> +<i> to-object-path</i><br> + <a href='./node_modules/to-object-path/index.js'>index.js</a><br> + <a href='./node_modules/to-object-path/LICENSE'>LICENSE</a><br> + <a href='./node_modules/to-object-path/package.json'>package.json</a><br> + <a href='./node_modules/to-object-path/README.md'>README.md</a><br> +<i> toggle-array</i><br> + <a href='./node_modules/toggle-array/index.js'>index.js</a><br> + <a href='./node_modules/toggle-array/LICENSE'>LICENSE</a><br> + <a href='./node_modules/toggle-array/package.json'>package.json</a><br> + <a href='./node_modules/toggle-array/README.md'>README.md</a><br> +<i> tunnel-agent</i><br> + <a href='./node_modules/tunnel-agent/index.js'>index.js</a><br> + <a href='./node_modules/tunnel-agent/LICENSE'>LICENSE</a><br> + <a href='./node_modules/tunnel-agent/package.json'>package.json</a><br> + <a href='./node_modules/tunnel-agent/README.md'>README.md</a><br> +<i> util-deprecate</i><br> + <a href='./node_modules/util-deprecate/browser.js'>browser.js</a><br> + <a href='./node_modules/util-deprecate/History.md'>History.md</a><br> + <a href='./node_modules/util-deprecate/LICENSE'>LICENSE</a><br> + <a href='./node_modules/util-deprecate/node.js'>node.js</a><br> + <a href='./node_modules/util-deprecate/package.json'>package.json</a><br> + <a href='./node_modules/util-deprecate/README.md'>README.md</a><br> +<i> warning-symbol</i><br> + <a href='./node_modules/warning-symbol/index.js'>index.js</a><br> + <a href='./node_modules/warning-symbol/LICENSE'>LICENSE</a><br> + <a href='./node_modules/warning-symbol/package.json'>package.json</a><br> + <a href='./node_modules/warning-symbol/README.md'>README.md</a><br> +<i> which-pm-runs</i><br> + <a href='./node_modules/which-pm-runs/index.js'>index.js</a><br> + <a href='./node_modules/which-pm-runs/LICENSE'>LICENSE</a><br> + <a href='./node_modules/which-pm-runs/package.json'>package.json</a><br> + <a href='./node_modules/which-pm-runs/README.md'>README.md</a><br> +<i> wide-align</i><br> + <a href='./node_modules/wide-align/align.js'>align.js</a><br> + <a href='./node_modules/wide-align/LICENSE'>LICENSE</a><br> + <a href='./node_modules/wide-align/package.json'>package.json</a><br> + <a href='./node_modules/wide-align/README.md'>README.md</a><br> +<i> window-size</i><br> + <a href='./node_modules/window-size/cli.js'>cli.js</a><br> + <a href='./node_modules/window-size/index.js'>index.js</a><br> + <a href='./node_modules/window-size/LICENSE'>LICENSE</a><br> +<i> node_modules</i><br> +<i> is-number</i><br> + <a href='./node_modules/window-size/node_modules/is-number/index.js'>index.js</a><br> + <a href='./node_modules/window-size/node_modules/is-number/LICENSE'>LICENSE</a><br> + <a href='./node_modules/window-size/node_modules/is-number/package.json'>package.json</a><br> + <a href='./node_modules/window-size/node_modules/is-number/README.md'>README.md</a><br> + <a href='./node_modules/window-size/package.json'>package.json</a><br> + <a href='./node_modules/window-size/README.md'>README.md</a><br> + <a href='./node_modules/window-size/utils.js'>utils.js</a><br> +<i> wrappy</i><br> + <a href='./node_modules/wrappy/LICENSE'>LICENSE</a><br> + <a href='./node_modules/wrappy/package.json'>package.json</a><br> + <a href='./node_modules/wrappy/README.md'>README.md</a><br> + <a href='./node_modules/wrappy/wrappy.js'>wrappy.js</a><br> +<i> ws</i><br> + <a href='./node_modules/ws/index.js'>index.js</a><br> +<i> lib</i><br> + <a href='./node_modules/ws/lib/.DS_Store'>.DS_Store</a><br> + <a href='./node_modules/ws/lib/buffer-util.js'>buffer-util.js</a><br> + <a href='./node_modules/ws/lib/constants.js'>constants.js</a><br> + <a href='./node_modules/ws/lib/event-target.js'>event-target.js</a><br> + <a href='./node_modules/ws/lib/extension.js'>extension.js</a><br> + <a href='./node_modules/ws/lib/permessage-deflate.js'>permessage-deflate.js</a><br> + <a href='./node_modules/ws/lib/receiver.js'>receiver.js</a><br> + <a href='./node_modules/ws/lib/sender.js'>sender.js</a><br> + <a href='./node_modules/ws/lib/validation.js'>validation.js</a><br> + <a href='./node_modules/ws/lib/websocket-server.js'>websocket-server.js</a><br> + <a href='./node_modules/ws/lib/websocket.js'>websocket.js</a><br> + <a href='./node_modules/ws/LICENSE'>LICENSE</a><br> + <a href='./node_modules/ws/package.json'>package.json</a><br> + <a href='./node_modules/ws/README.md'>README.md</a><br> +<i> xtend</i><br> + <a href='./node_modules/xtend/.jshintrc'>.jshintrc</a><br> + <a href='./node_modules/xtend/.npmignore'>.npmignore</a><br> + <a href='./node_modules/xtend/immutable.js'>immutable.js</a><br> + <a href='./node_modules/xtend/LICENCE'>LICENCE</a><br> + <a href='./node_modules/xtend/Makefile'>Makefile</a><br> + <a href='./node_modules/xtend/mutable.js'>mutable.js</a><br> + <a href='./node_modules/xtend/package.json'>package.json</a><br> + <a href='./node_modules/xtend/README.md'>README.md</a><br> + <a href='./node_modules/xtend/test.js'>test.js</a><br> <a href='./planner-pre'>planner-pre</a><br> <i> programs</i><br> <i> frep</i><br> diff --git a/js/mkserialserver.js b/js/atkbridge.js similarity index 97% rename from js/mkserialserver.js rename to js/atkbridge.js index 17c2eb7..26bd3b5 100644 --- a/js/mkserialserver.js +++ b/js/atkbridge.js @@ -16,12 +16,12 @@ var client_address, server_port, com_port if (process.argv.length < 4 && process.argv[2] != 'default') { - console.log("command line: node serialserver.js client_address server_port com_port") + console.log("command line: node atkbridge client_address server_port com_port") process.exit(-1) } else if (process.argv[2] === 'default' || process.argv.length < 3) { client_address = '::ffff:127.0.0.1' server_port = '6789' - com_port = 'COM9' + com_port = 'COM14' } else { client_address = process.argv[2] server_port = process.argv[3] diff --git a/modules/hardware/motors/stepper b/modules/hardware/motors/stepper index 6eddc75..769dab1 100644 --- a/modules/hardware/motors/stepper +++ b/modules/hardware/motors/stepper @@ -43,7 +43,7 @@ // var inputs = { block: { - type: 'objects', + type: 'object', label: 'block', event: function(evt) { mod.block = JSON.parse(JSON.stringify(evt.detail)) // dereference pls @@ -52,9 +52,9 @@ }, ack: { type: 'packet', - label: 'headless packet', + label: 'headless packet in', event: function(evt) { - outputs.blockRequest.event() + onAcknowledgement(evt.detail) } } } @@ -62,16 +62,16 @@ // outputs // var outputs = { - blockRequest: { - type: 'event', - label: 'block request', - event: function() { - mods.output(mod, 'blockRequest', mod.axis_num) + acknowledgement: { + type: 'object', + label: 'acknowledgement', + event: function(obj) { + mods.output(mod, 'acknowledgement', obj) } }, packet: { type: 'packet', - label: 'headless packet', + label: 'headless packet out', event: function() { //mods.output(mod, 'segments', null) } @@ -96,6 +96,8 @@ mod.steps_per_mm_in.addEventListener('change', function() { mod.covert = parseFloat(mod.steps_per_mm_in.value) }) + // reverse? + mod.reverseCheck = make_checkbox_input(div, 'reversed') // // request to do the business // @@ -201,6 +203,27 @@ // // local functions // + + function onAcknowledgement(packet){ + if(packet[0] == 132){ + // wait move + var ack = {} + ack.axis = mod.axis_num + ack.type = 'wait acknowledgement' + outputs.acknowledgement.event(ack) + } else if (packet[0] == 131){ + var ack = {} + ack.axis = mod.axis_num + ack.type = 'move acknowledgement' + var steps = unpack32(packet, 1) + ack.increment = steps / mod.convert + outputs.acknowledgement.event(ack) + } else { + console.log('nonrecognized ack to stepper') + } + // check if was wait / was move, send response accordingly + } + function shipIt() { // sends integer values, I think we maintain positioning because we round before subtracting @@ -343,7 +366,13 @@ packet.push(131) // now we pack these values into C-readable bytes // int32_t steps, uint32_t entryspeed, accel, accellength, decellength - packet = packet.concat(pack32(stepwiseTrap.steps)) + var steps; + if(mod.reverseCheck.checked){ + steps = -stepwiseTrap.steps + } else { + steps = stepwiseTrap.steps + } + packet = packet.concat(pack32(steps)) packet = packet.concat(pack32(stepwiseTrap.entry)) packet = packet.concat(pack32(stepwiseTrap.accel)) packet = packet.concat(pack32(stepwiseTrap.accelLength)) @@ -361,17 +390,10 @@ packet.push(132) // now we pack these values into C-readable bytes // int32_t steps, uint32_t entryspeed, accel, accellength, decellength - packet = packet.concat(pack32(trap.delta)) - - if(isNaN(stepWait.vAvg)){ - console.log('maths failure on vAvg', trap.ramptype) - packet = packet.concat(pack32(1000)) - console.log('wait block', stepWait.steps, 1000) - } else { - packet = packet.concat(pack32(stepWait.vAvg)) - console.log('wait block', stepWait.steps, stepWait.vAvg) - } + packet = packet.concat(pack32(stepWait.steps)) + packet = packet.concat(pack32(stepWait.vAvg)) // send it along! + //console.log('wait packet', packet) mods.output(mod, 'packet', packet) } @@ -396,6 +418,10 @@ stepWait.steps = Math.round(trap.length * mod.convert) // stepWait.vAvg = Math.round(trap.vAvg * mod.convert) + if(isNaN(stepWait.vAvg)){ + console.log('err on vAvg maths in stepper') + stepWait.vAvg = 1000 + } return stepWait } @@ -410,6 +436,11 @@ return pack; } + function unpack32(array, start){ + var unpack = array[start] << 24 | array[start + 1] << 16 | array[start + 2] << 8 | array[start + 3] + return unpack + } + /* UI helpers diff --git a/modules/hardware/network/mkserial b/modules/hardware/network/atkbridge similarity index 99% rename from modules/hardware/network/mkserial rename to modules/hardware/network/atkbridge index c319122..42634a5 100644 --- a/modules/hardware/network/mkserial +++ b/modules/hardware/network/atkbridge @@ -20,7 +20,7 @@ // // name // - var name = 'mkserial demuxer' + var name = 'atk network bridge' // // initialization // diff --git a/modules/hardware/network/mkserialserver.js b/modules/hardware/network/mkserialserver.js deleted file mode 100644 index 17c2eb7..0000000 --- a/modules/hardware/network/mkserialserver.js +++ /dev/null @@ -1,151 +0,0 @@ -// -// serialserver.js -// WebSocket serial server -// -// Neil Gershenfeld and Jake Read -// (c) Massachusetts Institute of Technology 2016 -// -// This work may be reproduced, modified, distributed, performed, and -// displayed for any purpose, but must acknowledge the mods -// project. Copyright is retained and must be preserved. The work is -// provided as is; no warranty is provided, and users accept all -// liability. -// -// check command line -// -var client_address, server_port, com_port - -if (process.argv.length < 4 && process.argv[2] != 'default') { - console.log("command line: node serialserver.js client_address server_port com_port") - process.exit(-1) -} else if (process.argv[2] === 'default' || process.argv.length < 3) { - client_address = '::ffff:127.0.0.1' - server_port = '6789' - com_port = 'COM9' -} else { - client_address = process.argv[2] - server_port = process.argv[3] - com_port = process.argv[4] -} -// -// startup WebSocketServer -// -var WebSocketServer = require('ws').Server -wss = new WebSocketServer({ - port: server_port -}) -var ws // socket, particular connection -var wsConnected = false -// -// startup SerialPort -// -var SerialPort = require('serialport') -var port = new SerialPort(com_port, { - baudRate: 750000, -/* dataBits: 8, - parity: 'none', - flowControl: false*/ -}) -// -// SerialPort handlers -// -port.on('open', function() { - var wsMessage = { - type: 'message', - message: 'serial port opened' - } - // send hello to ready usb serial - console.log('opened port ' + com_port) - if (wsConnected) { - ws.send(JSON.stringify(wsMessage)) - } -}) - -console.log('waiting for connection from ' + client_address + ' on port ' + server_port) - -port.on('error', function(err) { - var wsMessage = { - type: 'message', - message: err.message - } - if (wsConnected) { - ws.send(JSON.stringify(wsMessage)) - } -}) - -port.on('data', function(data) { - var dataArray = new Array() - for (var i = 0; i < data.length; i++) { - dataArray[i] = data[i] - } - console.log('data in', dataArray) - var wsMessage = { - type: 'array', - array: dataArray - } - if (wsConnected) { - ws.send(JSON.stringify(wsMessage)) - } -}) - -// -// WebSocketServer handlers -// -wss.on('connection', function(socketConnection) { - // - // check address - // - if (socketConnection._socket.remoteAddress != client_address) { - console.log("connection rejected from " + ws._socket.remoteAddress) - var wsMessage = { - type: 'message', - message: 'socket closed' - } - socketConnection.send(JSON.stringify(wsMessage)) - socketConnection.close() - } else { - ws = socketConnection - console.log("connection accepted from " + ws._socket.remoteAddress) - wsConnected = true - } - // - // handle messages - // - var cancel - var packet = new Array() - - ws.on("message", function(message) { - var msg = JSON.parse(message) - - if (msg.type == 'packet') { - console.log('packet out', msg.packet) // packet is an array - port.write(msg.packet) - - /*, function() { - port.drain(function(err) { - if (err) { - var wsMessage = { - type: 'message', - message: err.message - } - ws.send(JSON.stringify(wsMessage)) - } - }) - }) - */ - } else if (msg.type == 'open'){ - console.log('mod requests open') - } else { - console.log('unrecognized socket message') - } - }) - // - // close - // - ws.on("close", function() { - console.log("connection closed") - if (port != null) - port.close() - port = null - }) -}) \ No newline at end of file diff --git a/modules/hardware/reset b/modules/hardware/reset new file mode 100644 index 0000000..fb88ff4 --- /dev/null +++ b/modules/hardware/reset @@ -0,0 +1,104 @@ +// +// hardware reset command +// +// Neil Gershenfeld and Jake Read +// (c) Massachusetts Institute of Technology 2018 +// +// This work may be reproduced, modified, distributed, performed, and +// displayed for any purpose, but must acknowledge the mods +// project. Copyright is retained and must be preserved. The work is +// provided as is; no warranty is provided, and users accept all +// liability. +// +// closure +// +(function() { + // globals + var mod = {} + + // name + var name = 'reset' + + var init = function() { + // + } + + var inputs = { + // + } + + var outputs = { + reset: { + type: 'packet', + label: 'headless packet out', + event: function() { + var reset = [128] + mods.output(mod, 'reset', reset) + } + } + } + + var interface = function(div) { + mod.div = div + + mod.resetButton = make_button_input(div, 'send') + mod.resetButton.addEventListener('click', function() { + outputs.reset.event() + }) + } + + + /* + UI helpers + */ + function make_text_input(div, name, size) { + div.appendChild(document.createElement('br')) + div.appendChild(document.createTextNode(name + ': ')) + var input = document.createElement('input') + input.type = 'text' + input.size = size + div.appendChild(input) + + return input + } + + function make_button_input(div, text) { + div.appendChild(document.createElement('br')) + var button = document.createElement('button') + button.style.padding = mods.ui.padding + button.style.margin = 1 + button.appendChild(document.createTextNode(text)) + div.appendChild(button) + + return button + } + + function make_checkbox_input(div, prefix) { + div.appendChild(document.createElement('br')) + div.appendChild(document.createTextNode(prefix + ': ')) + var checkbox = document.createElement('input') + checkbox.type = 'checkbox' + div.appendChild(checkbox) + + return checkbox + } + + function make_text_display(div, prefix) { + div.appendChild(document.createElement('br')) + div.appendChild(document.createTextNode(prefix + ': ')) + var span = document.createElement('span') + span.innerHTML = '' + div.appendChild(span) + + return span + } + + return ({ + mod: mod, + name: name, + init: init, + inputs: inputs, + outputs: outputs, + interface: interface + }) +}()) \ No newline at end of file diff --git a/modules/index.js b/modules/index.js index ba625ef..2cb8cd9 100644 --- a/modules/index.js +++ b/modules/index.js @@ -76,7 +76,8 @@ module_menu(' demo_toolpath','modules/hardware/demo_toolpath') module_label(' motors') module_menu(' stepper','modules/hardware/motors/stepper') module_label(' network') -module_menu(' mkserial','modules/hardware/network/mkserial') +module_menu(' atkbridge','modules/hardware/network/atkbridge') +module_menu(' reset','modules/hardware/reset') module_label('image') module_menu(' boundingbox','modules/image/boundingbox') module_menu(' color separation','modules/image/color%20separation') diff --git a/modules/motion/planner b/modules/motion/planner index 2a3e10a..d839388 100644 --- a/modules/motion/planner +++ b/modules/motion/planner @@ -48,21 +48,20 @@ motors var init = function() { mod.accelIn.value = '50' mod.junctionDeviationIn.value = '0.5' - mod.minSpeedIn.value = '1' + mod.minSpeedIn.value = '2' - mod.axisIdentifiers.value = 'X,Y,Z' + mod.axisIdentifiers.value = 'X,Y' axisIds = mod.axisIdentifiers.value.split(',') for (var i = 0; i < axisIds.length; i++) { currentPosition[i] = 0 } - mod.netWindowIn.value = '5' + mod.netWindowIn.value = '8' packetWindowSize = parseInt(mod.netWindowIn.value) - var num = 0 - mod.queueLengthDisplay.innerHTML = num.toString() + mod.queueLengthDisplay.innerHTML = moveQue.length.toString() - mod.netQueueDisplay.innerHTML = num.toString() + mod.netQueueDisplay.innerHTML = axisCounters.toString() } // // inputs @@ -79,8 +78,7 @@ motors type: 'event', label: 'acknowledgement', event: function(evt) { - // have to ID moves because some are zero length ? - acknowledgement(evt.detail) + onAcknowledgement(evt.detail) } }, sequenceControl: { @@ -126,19 +124,20 @@ motors mod.axisIdentifiers = make_text_input(div, 'axis identifiers', 12) mod.axisIdentifiers.addEventListener('change', function() { axisIds = mod.axisIdentifiers.value.split(',') + resetNetwork() }) div.appendChild(document.createElement('br')) make_text_display(div, 'planner settings') mod.accelIn = make_text_input(div, 'acceleration, units/s/s', 12) mod.junctionDeviationIn = make_text_input(div, 'junction deviation, units', 12) - mod.minSpeedIn = make_text_input(div, 'minimum junction speed, units/s/s', 12) + mod.minSpeedIn = make_text_input(div, 'minimum speed, units/s', 12) div.appendChild(document.createElement('br')) make_text_display(div, 'queuing settings') mod.queueLengthDisplay = make_text_display(div, 'instructions in queue') mod.resetQueueButton = make_button_input(div, 'reset queue') - mod.resetQueueButton.addEventListener('click', function(){ + mod.resetQueueButton.addEventListener('click', function() { resetQueue() }) div.appendChild(document.createElement('br')) @@ -152,44 +151,60 @@ motors mod.resetNetButton.addEventListener('click', function() { resetNetwork() }) + + div.appendChild(document.createElement('br')) + mod.netPositionDisplay = make_text_display(div, 'last position sent to network') + mod.finalPositionDisplay = make_text_display(div, 'last position received on network') + } // ---------------------------------------------------- THE BUSINESS // network state - var packetsInNetwork = 0 var packetWindowSize = 0 - var axiscounter = 0 - - function acknowledgement(obj) { - // todo: add position input? where do we do steps -> float? dynamic would be cool ... or just a real position count - axiscounter++ - if (axiscounter >= 2) { //} axisIds.length){ - packetsInNetwork-- - mod.netQueueDisplay.innerHTML = packetsInNetwork.toString() - checkNetwork() - outputs.moveComplete.event() - axiscounter = 0 - } + var axisCounters = [0,0] + var netPositionTracker = [0,0] + + function onAcknowledgement(obj) { + // TODO: get ack positioning + axisCounters[obj.axis] -- + mod.netQueueDisplay.innerHTML = axisCounters.toString() + checkNetwork() } function resetNetwork() { - packetsInNetwork = 0 - mod.netQueueDisplay.innerHTML = packetsInNetwork.toString() + netPositionTracker = [0,0] + mod.netPositionDisplay.innerHTML = netPositionTracker.toString() + axisCounters = [0,0] + mod.netQueueDisplay.innerHTML = axisCounters.toString() } function checkNetwork() { // see windowed state and push more data out if need be - while (packetWindowSize > packetsInNetwork && moveQue.length != 0) { - sendMove() + // TODO here + if((axisCounters[0] == axisCounters[1])){ + console.log(axisCounters) + var opening = packetWindowSize - axisCounters[0] + if(opening > moveQue.length){ + opening = moveQue.length + } + for(var i = 0; i < opening; i++){ + console.log('sending', i) + sendMove() + outputs.moveComplete.event() + } } } function sendMove() { + var lastPos = moveQue[0].p2 outputs.plannedMove.event(moveQue.shift()) mod.queueLengthDisplay.innerHTML = moveQue.length.toString() - packetsInNetwork++ - mod.netQueueDisplay.innerHTML = packetsInNetwork.toString() + mod.netPositionDisplay.innerHTML = lastPos.toString() + axisCounters.forEach(function(element, index){ + axisCounters[index] ++ + }) + mod.netQueueDisplay.innerHTML = axisCounters.toString() } @@ -208,7 +223,7 @@ motors } */ - function resetQueue(){ + function resetQueue() { moveQue.length = 0 // apparently this works mod.queueLengthDisplay.innerHTML = moveQue.length.toString() } @@ -223,6 +238,7 @@ motors p1 = moveQue[moveQue.length - 1].p2 } + // TODO: abstract axis? ids -> p1, p2 // find all letter-based and match to std array var keyset = new Array(axisIds.length) keyset.fill(0) @@ -241,6 +257,7 @@ motors } if (cartesianDistance(p1, p2) == 0) { + // TODO: check for these when move is z- and have only xy actuators? console.log('planner throwing zero length vector') } else { var cruise = obj.speed @@ -284,10 +301,10 @@ motors var jdsize = parseFloat(mod.junctionDeviationIn.value) var accel = parseFloat(mod.accelIn.value) - // not actually using this at the moment! - var jdmin = parseFloat(mod.minSpeedIn.value) + // TODO: use these + var minmin = parseFloat(mod.minSpeedIn.value) - moveQue[moveQue.length - 1].exit = 0 // trailing edge always full stop + moveQue[moveQue.length - 1].exit = minmin // trailing edge always full stop for (var i = moveQue.length - 1; i > 0; i--) { // reverse pass @@ -305,7 +322,8 @@ motors var v_entry = unitVector(moveQue[i - 1].p1, moveQue[i - 1].p2) var v_exit = unitVector(moveQue[i].p1, moveQue[i].p2) //console.log('unit entry, unit exit', toFixedMatrix(v_entry, 3), toFixedMatrix(v_exit, 3)) - var cos_theta = dotProduct(v_entry, v_exit) // dot product / mag * mag where mags are 1 each bc unit + // dot product / mag * mag where mags are 1 each bc unit + var cos_theta = dotProduct(v_entry, v_exit) // catch corner cases (get it? - actually they are very straight cases, or very turnaround cases) if (cos_theta < -0.9999999999999) { cos_theta = -0.9999999999999 @@ -313,16 +331,19 @@ motors cos_theta = 0.9999999999999 } //console.log('cos_theta', cos_theta, Math.acos(cos_theta) * (180 / Math.PI)) + // for calculating the radius, below var sin_theta_overtwo = Math.sqrt((1 - cos_theta) / 2) //console.log('sin_theta_overtwo', sin_theta_overtwo) + // size of the junction deviation curve var radius = jdsize * ((1 - sin_theta_overtwo) / sin_theta_overtwo) //console.log('radius', radius) - // feed at the junction, according to supposed acceleration through the junction + // feed at the junction, according to supposed acceleration through the junction radius var fj = Math.sqrt(accel * radius) //console.log('fj', fj) - // but don't go through the junction faster than we're cruising var feed_junction = Math.min(fj, moveQue[i].cruise, moveQue[i - 1].cruise) + // and we never travel slower than the min speed + //feed_junction = Math.max(feed_junction, minmin) //console.log('feed_junction', feed_junction) // ok we have the maximum feed at the preceeding junction -- GitLab