ajfisher / node-pixel

Library for using addressable LEDs (such as NeoPixels/WS2812) with Firmata and JohnnyFive
MIT License
275 stars 71 forks source link

Issue flashing Firmata to Arduino Board #259

Closed danielduan2002 closed 3 years ago

danielduan2002 commented 3 years ago

I successfully installed johnny-five as well as the node-pixel and nodebots-interchange packages. After copying the command to flash my Arduino with the custom Firmata, I received these two lines after a brief wait

Downloading firmware

Flashing firmware to board

However, after proceeding and running the node app, this error gets spit out.

(node:19580) UnhandledPromiseRejectionWarning: IncorrectFirmataVersionError: Please upload NodePixel Firmata to the board

I'm not sure where the issue lies exactly, so any help or advice is greatly appreciated.

Specs: Windows 10 Node v14.17.3 npm v6.14.13 Arduino Uno Rev3

ajfisher commented 3 years ago

What version of J5 are you using? I suspect with the recent release this is going to cause an issue with the version of firmata it's expecting to pull through.

On Thu, 8 Jul 2021 at 15:42, danielduan2002 @.***> wrote:

I successfully installed johnny-five as well as the node-pixel and nodebots-interchange packages. After copying the command to flash my Arduino with the custom Firmata, I received these two lines after a brief wait

Downloading firmware

Flashing firmware to board

However, after proceeding and running the node app, this error gets spit out.

(node:19580) UnhandledPromiseRejectionWarning: IncorrectFirmataVersionError: Please upload NodePixel Firmata to the board

I'm not sure where the issue lies exactly, so any help or advice is greatly appreciated.

Specs: Windows 10 Node v14.17.3 npm v6.14.13 Arduino Uno Rev3

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ajfisher/node-pixel/issues/259, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA5DI2SDOUDNMBFDRJYMX3TWU3DVANCNFSM5AAACI4A .

danielduan2002 commented 3 years ago

I tried downgrading to johnny-five@2.0.0, but I'm still receiving the same error message.

I copied my node modules below if that might be of any help.

+-- firmata@0.19.1
| +-- browser-serialport@2.1.0
| `-- serialport@6.0.5
|   +-- bindings@1.3.0
|   +-- commander@2.20.3
|   +-- debug@3.2.7
|   | `-- ms@2.1.2
|   +-- nan@2.14.2
|   +-- prebuild-install@2.5.3
|   | +-- detect-libc@1.0.3
|   | +-- expand-template@1.1.1
|   | +-- github-from-package@0.0.0
|   | +-- minimist@1.2.5
|   | +-- mkdirp@0.5.5
|   | | `-- minimist@1.2.5 deduped
|   | +-- node-abi@2.30.0
|   | | `-- semver@5.7.1
|   | +-- noop-logger@0.1.1
|   | +-- npmlog@4.1.2
|   | | +-- are-we-there-yet@1.1.5
|   | | | +-- delegates@1.0.0
|   | | | `-- readable-stream@2.3.7 deduped
|   | | +-- console-control-strings@1.1.0
|   | | +-- gauge@2.7.4
|   | | | +-- aproba@1.2.0
|   | | | +-- console-control-strings@1.1.0 deduped
|   | | | +-- has-unicode@2.0.1
|   | | | +-- object-assign@4.1.1
|   | | | +-- signal-exit@3.0.3
|   | | | +-- string-width@1.0.2
|   | | | | +-- code-point-at@1.1.0
|   | | | | +-- is-fullwidth-code-point@1.0.0
|   | | | | | `-- number-is-nan@1.0.1
|   | | | | `-- strip-ansi@3.0.1 deduped
|   | | | +-- strip-ansi@3.0.1
|   | | | | `-- ansi-regex@2.1.1
|   | | | `-- wide-align@1.1.3
|   | | |   `-- string-width@1.0.2 deduped
|   | | `-- set-blocking@2.0.0
|   | +-- os-homedir@1.0.2
|   | +-- pump@2.0.1
|   | | +-- end-of-stream@1.4.4
|   | | | `-- once@1.4.0 deduped
|   | | `-- once@1.4.0
|   | |   `-- wrappy@1.0.2
|   | +-- rc@1.2.8
|   | | +-- deep-extend@0.6.0
|   | | +-- ini@1.3.8
|   | | +-- minimist@1.2.5 deduped
|   | | `-- strip-json-comments@2.0.1
|   | +-- simple-get@2.8.1
|   | | +-- decompress-response@3.3.0
|   | | | `-- mimic-response@1.0.1
|   | | +-- once@1.4.0 deduped
|   | | `-- simple-concat@1.0.1
|   | +-- tar-fs@1.16.3
|   | | +-- chownr@1.1.4
|   | | +-- mkdirp@0.5.5 deduped
|   | | +-- pump@1.0.3
|   | | | +-- end-of-stream@1.4.4 deduped
|   | | | `-- once@1.4.0 deduped
|   | | `-- tar-stream@1.6.2
|   | |   +-- bl@1.2.3
|   | |   | +-- readable-stream@2.3.7 deduped
|   | |   | `-- safe-buffer@5.1.2 deduped
|   | |   +-- buffer-alloc@1.2.0
|   | |   | +-- buffer-alloc-unsafe@1.1.0
|   | |   | `-- buffer-fill@1.0.0
|   | |   +-- end-of-stream@1.4.4 deduped
|   | |   +-- fs-constants@1.0.0
|   | |   +-- readable-stream@2.3.7
|   | |   | +-- core-util-is@1.0.2
|   | |   | +-- inherits@2.0.4
|   | |   | +-- isarray@1.0.0
|   | |   | +-- process-nextick-args@2.0.1
|   | |   | +-- safe-buffer@5.1.2 deduped
|   | |   | +-- string_decoder@1.1.1
|   | |   | | `-- safe-buffer@5.1.2 deduped
|   | |   | `-- util-deprecate@1.0.2
|   | |   +-- to-buffer@1.1.1
|   | |   `-- xtend@4.0.2
|   | +-- tunnel-agent@0.6.0
|   | | `-- safe-buffer@5.1.2 deduped
|   | `-- which-pm-runs@1.0.0
|   +-- promirepl@1.0.1
|   +-- prompt-list@3.2.0
|   | +-- ansi-cyan@0.1.1
|   | | `-- ansi-wrap@0.1.0
|   | +-- ansi-dim@0.1.1
|   | | `-- ansi-wrap@0.1.0 deduped
|   | `-- prompt-radio@1.2.1
|   |   +-- debug@2.6.9
|   |   | `-- ms@2.0.0
|   |   `-- prompt-checkbox@2.2.0
|   |     +-- ansi-cyan@0.1.1 deduped
|   |     +-- debug@2.6.9
|   |     | `-- ms@2.0.0
|   |     `-- prompt-base@4.1.0
|   |       +-- component-emitter@1.3.0
|   |       +-- debug@3.2.7
|   |       | `-- ms@2.1.2 deduped
|   |       +-- koalas@1.0.2
|   |       +-- log-utils@0.2.1
|   |       | +-- ansi-colors@0.2.0
|   |       | | +-- ansi-bgblack@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-bgblue@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-bgcyan@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-bggreen@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-bgmagenta@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-bgred@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-bgwhite@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-bgyellow@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-black@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-blue@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-bold@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-cyan@0.1.1 deduped
|   |       | | +-- ansi-dim@0.1.1 deduped
|   |       | | +-- ansi-gray@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-green@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-grey@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-hidden@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-inverse@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-italic@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-magenta@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-red@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-reset@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-strikethrough@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-underline@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-white@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | +-- ansi-yellow@0.1.1
|   |       | | | `-- ansi-wrap@0.1.0 deduped
|   |       | | `-- lazy-cache@2.0.2
|   |       | |   `-- set-getter@0.1.1
|   |       | |     `-- to-object-path@0.3.0
|   |       | |       `-- kind-of@3.2.2 deduped
|   |       | +-- error-symbol@0.1.0
|   |       | +-- info-symbol@0.1.0
|   |       | +-- log-ok@0.1.1
|   |       | | +-- ansi-green@0.1.1 deduped
|   |       | | `-- success-symbol@0.1.0 deduped
|   |       | +-- success-symbol@0.1.0
|   |       | +-- time-stamp@1.1.0
|   |       | `-- warning-symbol@0.1.0
|   |       +-- prompt-actions@3.0.2
|   |       | `-- debug@2.6.9
|   |       |   `-- ms@2.0.0
|   |       +-- prompt-question@5.0.2
|   |       | +-- clone-deep@1.0.0
|   |       | | +-- for-own@1.0.0
|   |       | | | `-- for-in@1.0.2
|   |       | | +-- is-plain-object@2.0.4
|   |       | | | `-- isobject@3.0.1 deduped
|   |       | | +-- kind-of@5.1.0
|   |       | | `-- shallow-clone@1.0.0
|   |       | |   +-- is-extendable@0.1.1 deduped
|   |       | |   +-- kind-of@5.1.0
|   |       | |   `-- mixin-object@2.0.1
|   |       | |     +-- for-in@0.1.8
|   |       | |     `-- is-extendable@0.1.1 deduped
|   |       | +-- debug@3.2.7
|   |       | | `-- ms@2.1.2 deduped
|   |       | +-- define-property@1.0.0
|   |       | | `-- is-descriptor@1.0.2
|   |       | |   +-- is-accessor-descriptor@1.0.0
|   |       | |   | `-- kind-of@6.0.3
|   |       | |   +-- is-data-descriptor@1.0.0
|   |       | |   | `-- kind-of@6.0.3
|   |       | |   `-- kind-of@6.0.3
|   |       | +-- isobject@3.0.1
|   |       | +-- kind-of@5.1.0
|   |       | +-- koalas@1.0.2 deduped
|   |       | `-- prompt-choices@4.1.0
|   |       |   +-- arr-flatten@1.1.0 deduped
|   |       |   +-- arr-swap@1.0.1
|   |       |   | `-- is-number@3.0.0
|   |       |   |   `-- kind-of@3.2.2 deduped
|   |       |   +-- choices-separator@2.0.0
|   |       |   | +-- ansi-dim@0.1.1 deduped
|   |       |   | +-- debug@2.6.9
|   |       |   | | `-- ms@2.0.0
|   |       |   | `-- strip-color@0.1.0 deduped
|   |       |   +-- clone-deep@4.0.1
|   |       |   | +-- is-plain-object@2.0.4 deduped
|   |       |   | +-- kind-of@6.0.3 deduped
|   |       |   | `-- shallow-clone@3.0.1
|   |       |   |   `-- kind-of@6.0.3 deduped
|   |       |   +-- collection-visit@1.0.0
|   |       |   | +-- map-visit@1.0.0
|   |       |   | | `-- object-visit@1.0.1 deduped
|   |       |   | `-- object-visit@1.0.1
|   |       |   |   `-- isobject@3.0.1 deduped
|   |       |   +-- define-property@2.0.2
|   |       |   | +-- is-descriptor@1.0.2 deduped
|   |       |   | `-- isobject@3.0.1 deduped
|   |       |   +-- is-number@6.0.0
|   |       |   +-- kind-of@6.0.3
|   |       |   +-- koalas@1.0.2 deduped
|   |       |   +-- log-utils@0.2.1 deduped
|   |       |   +-- pointer-symbol@1.0.0
|   |       |   +-- radio-symbol@2.0.0
|   |       |   | +-- ansi-gray@0.1.1 deduped
|   |       |   | +-- ansi-green@0.1.1 deduped
|   |       |   | `-- is-windows@1.0.2 deduped
|   |       |   +-- set-value@3.0.2
|   |       |   | `-- is-plain-object@2.0.4 deduped
|   |       |   +-- strip-color@0.1.0 deduped
|   |       |   +-- terminal-paginator@2.0.2
|   |       |   | +-- debug@2.6.9
|   |       |   | | `-- ms@2.0.0
|   |       |   | +-- extend-shallow@2.0.1 deduped
|   |       |   | `-- log-utils@0.2.1 deduped
|   |       |   `-- toggle-array@1.0.1
|   |       |     `-- isobject@3.0.1 deduped
|   |       +-- readline-ui@2.2.3
|   |       | +-- component-emitter@1.3.0 deduped
|   |       | +-- debug@2.6.9
|   |       | | `-- ms@2.0.0
|   |       | +-- readline-utils@2.2.3 deduped
|   |       | `-- string-width@2.1.1
|   |       |   +-- is-fullwidth-code-point@2.0.0
|   |       |   `-- strip-ansi@4.0.0
|   |       |     `-- ansi-regex@3.0.0
|   |       +-- readline-utils@2.2.3
|   |       | +-- arr-flatten@1.1.0
|   |       | +-- extend-shallow@2.0.1
|   |       | | `-- is-extendable@0.1.1
|   |       | +-- is-buffer@1.1.6
|   |       | +-- is-number@3.0.0
|   |       | | `-- kind-of@3.2.2
|   |       | |   `-- is-buffer@1.1.6 deduped
|   |       | +-- is-windows@1.0.2
|   |       | +-- koalas@1.0.2 deduped
|   |       | +-- mute-stream@0.0.7
|   |       | +-- strip-color@0.1.0
|   |       | `-- window-size@1.1.1
|   |       |   +-- define-property@1.0.0 deduped
|   |       |   `-- is-number@3.0.0
|   |       |     `-- kind-of@3.2.2 deduped
|   |       `-- static-extend@0.1.2
|   |         +-- define-property@0.2.5
|   |         | `-- is-descriptor@0.1.6
|   |         |   +-- is-accessor-descriptor@0.1.6
|   |         |   | `-- kind-of@3.2.2
|   |         |   |   `-- is-buffer@1.1.6 deduped
|   |         |   +-- is-data-descriptor@0.1.4
|   |         |   | `-- kind-of@3.2.2
|   |         |   |   `-- is-buffer@1.1.6 deduped
|   |         |   `-- kind-of@5.1.0
|   |         `-- object-copy@0.1.0
|   |           +-- copy-descriptor@0.1.1
|   |           +-- define-property@0.2.5
|   |           | `-- is-descriptor@0.1.6
|   |           |   +-- is-accessor-descriptor@0.1.6
|   |           |   | `-- kind-of@3.2.2 deduped
|   |           |   +-- is-data-descriptor@0.1.4
|   |           |   | `-- kind-of@3.2.2 deduped
|   |           |   `-- kind-of@5.1.0
|   |           `-- kind-of@3.2.2 deduped
|   `-- safe-buffer@5.1.2
+-- johnny-five@2.0.0
| +-- browser-serialport@2.1.0 deduped
| +-- chalk@2.1.0
| | +-- ansi-styles@3.2.1
| | | `-- color-convert@1.9.3
| | |   `-- color-name@1.1.3
| | +-- escape-string-regexp@1.0.5
| | `-- supports-color@4.5.0
| |   `-- has-flag@2.0.0
| +-- color-convert@1.2.2
| +-- firmata@2.3.0
| | +-- firmata-io@2.3.0
| | `-- serialport@8.0.8 deduped
| +-- lodash.clonedeep@4.5.0
| +-- lodash.debounce@4.0.8
| +-- nanotimer@0.3.10
| +-- serialport@8.0.8
| | +-- @serialport/binding-mock@8.0.6
| | | +-- @serialport/binding-abstract@8.0.6
| | | | `-- debug@4.3.2 deduped
| | | `-- debug@4.3.2 deduped
| | +-- @serialport/bindings@8.0.8
| | | +-- @serialport/binding-abstract@8.0.6 deduped
| | | +-- @serialport/parser-readline@8.0.6 deduped
| | | +-- bindings@1.5.0
| | | | `-- file-uri-to-path@1.0.0
| | | +-- debug@4.3.2 deduped
| | | +-- nan@2.14.2 deduped
| | | `-- prebuild-install@5.3.6
| | |   +-- detect-libc@1.0.3 deduped
| | |   +-- expand-template@2.0.3
| | |   +-- github-from-package@0.0.0 deduped
| | |   +-- minimist@1.2.5 deduped
| | |   +-- mkdirp-classic@0.5.3
| | |   +-- napi-build-utils@1.0.2
| | |   +-- node-abi@2.30.0 deduped
| | |   +-- noop-logger@0.1.1 deduped
| | |   +-- npmlog@4.1.2 deduped
| | |   +-- pump@3.0.0
| | |   | +-- end-of-stream@1.4.4 deduped
| | |   | `-- once@1.4.0 deduped
| | |   +-- rc@1.2.8 deduped
| | |   +-- simple-get@3.1.0
| | |   | +-- decompress-response@4.2.1
| | |   | | `-- mimic-response@2.1.0
| | |   | +-- once@1.4.0 deduped
| | |   | `-- simple-concat@1.0.1 deduped
| | |   +-- tar-fs@2.1.1
| | |   | +-- chownr@1.1.4 deduped
| | |   | +-- mkdirp-classic@0.5.3 deduped
| | |   | +-- pump@3.0.0 deduped
| | |   | `-- tar-stream@2.2.0
| | |   |   +-- bl@4.1.0
| | |   |   | +-- buffer@5.7.1
| | |   |   | | +-- base64-js@1.5.1
| | |   |   | | `-- ieee754@1.2.1
| | |   |   | +-- inherits@2.0.4 deduped
| | |   |   | `-- readable-stream@3.6.0
| | |   |   |   +-- inherits@2.0.4 deduped
| | |   |   |   +-- string_decoder@1.1.1 deduped
| | |   |   |   `-- util-deprecate@1.0.2 deduped
| | |   |   +-- end-of-stream@1.4.4 deduped
| | |   |   +-- fs-constants@1.0.0 deduped
| | |   |   +-- inherits@2.0.4 deduped
| | |   |   `-- readable-stream@3.6.0
| | |   |     +-- inherits@2.0.4 deduped
| | |   |     +-- string_decoder@1.1.1 deduped
| | |   |     `-- util-deprecate@1.0.2 deduped
| | |   +-- tunnel-agent@0.6.0 deduped
| | |   `-- which-pm-runs@1.0.0 deduped
| | +-- @serialport/parser-byte-length@8.0.6
| | +-- @serialport/parser-cctalk@8.0.6
| | +-- @serialport/parser-delimiter@8.0.6
| | +-- @serialport/parser-readline@8.0.6
| | | `-- @serialport/parser-delimiter@8.0.6 deduped
| | +-- @serialport/parser-ready@8.0.6
| | +-- @serialport/parser-regex@8.0.6
| | +-- @serialport/stream@8.0.6
| | | `-- debug@4.3.2 deduped
| | `-- debug@4.3.2
| |   `-- ms@2.1.2 deduped
| `-- temporal@0.7.1
+-- node-pixel@0.11.0
| `-- color-string@1.5.5
|   +-- color-name@1.1.4
|   `-- simple-swizzle@0.2.2
|     `-- is-arrayish@0.3.2
`-- nwjs-j5-fix@1.0.6
danielduan2002 commented 3 years ago

Update: In the process of debugging this error, I pulled this project directly and that fixed the issue of firmata not flashing onto the Arduino board. My best guess as to what was causing the error in the first place was conflicting versions of node modules that node-pixel shared with the initial project that I had tried to install node-pixel into earlier.

During the process of debugging, I also ran into a related issue that I notice has been brought up in other threads but not resolved officially. If anyone is running into an error during the initial flashing that says:

Error: Sending 3020: receiveData timeout after 400ms.

What caused this issue for me is I had a peripheral module connected to my board (specifically a MIDI Shield for the Arduino Uno), which occupies the Rx and Tx pins during its on state. To upload code to the board or flash it with firmware, those pins need to be free.

Ajfisher, thank you for the prompt response to my issue and your advice in solving it. In the end the cause turned out to be my own incompetence, but I appreciate the advice and help!