Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firmata fails to start a connection with Arduino mega2560 #170

Open
emmeblm opened this issue Aug 2, 2017 · 1 comment
Open

Firmata fails to start a connection with Arduino mega2560 #170

emmeblm opened this issue Aug 2, 2017 · 1 comment

Comments

@emmeblm
Copy link

emmeblm commented Aug 2, 2017

Hi!
I'm trying to run the blinking example with an Arduino MEGA2560.
These are the steps I followed:

$ gort scan serial

/dev/cu.Bluetooth-Incoming-Port		/dev/tty.Bluetooth-Incoming-Port
/dev/cu.usbmodem1421			/dev/tty.usbmodem1421

So I changed the adaptor to port => '/dev/tty.usbmodem1421' (also tried with /dev/cu.usbmodem1421 having the same result)

Then gort arduino install and it installed avrdude successfully.
Now I run:

$ gort arduino upload firmata /dev/tty.usbmodem1421 -b mega2560

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: reading input file "/var/folders/2l/2x1l6t5530s25fzgvyfzdp_r0000gn/T/816739554"
avrdude: writing flash (12224 bytes):

Writing | ################################################## | 100% 1.97s

avrdude: 12224 bytes of flash written
avrdude: verifying flash memory against /var/folders/2l/2x1l6t5530s25fzgvyfzdp_r0000gn/T/816739554:
avrdude: load data flash data from input file /var/folders/2l/2x1l6t5530s25fzgvyfzdp_r0000gn/T/816739554:
avrdude: input file /var/folders/2l/2x1l6t5530s25fzgvyfzdp_r0000gn/T/816739554 contains 12224 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 1.57s

avrdude: verifying ...
avrdude: 12224 bytes of flash verified

avrdude done.  Thank you.

According to the output of that command, the firmata software was successfully loaded. So the only thing left to do is run the program:

$ ruby blink_led.rb

I, [2017-08-01T19:48:42.463021 #22491]  INFO -- : Registering connection 'arduino'...
I, [2017-08-01T19:48:42.463138 #22491]  INFO -- : Registering device 'board'...
I, [2017-08-01T19:48:42.463169 #22491]  INFO -- : Registering device 'led'...
I, [2017-08-01T19:48:42.463193 #22491]  INFO -- : Preparing work...
I, [2017-08-01T19:48:42.463942 #22491]  INFO -- : Initializing artoo::connection arduino...
I, [2017-08-01T19:48:42.472186 #22491]  INFO -- : Initializing artoo::device board...
I, [2017-08-01T19:48:42.473928 #22491]  INFO -- : Initializing artoo::device led...
I, [2017-08-01T19:48:42.476191 #22491]  INFO -- : Starting work...
I, [2017-08-01T19:48:42.476433 #22491]  INFO -- : Connecting to 'arduino' on port '/dev/cu.usbmodem1421'...

And it just hangs there.

I'm running macOS Sierra 10.12.5 and ruby version 2.2.2 (as needed by artoo-arduino dependencies)

I saw this same issue hapening in gobot: hybridgroup/gobot#374
They resolved it applying some changes. Could Artoo be having the same issues?

Thanks

@emmeblm
Copy link
Author

emmeblm commented Aug 2, 2017

The stack trace that I get when stoping the command (after waiting a very fair amount of time):

D, [2017-08-01T20:04:56.278930 #22491] DEBUG -- : Terminating 12 actors...
W, [2017-08-01T20:04:56.282903 #22491]  WARN -- : Terminating task: type=:call, meta={:method_name=>:work}, status=:receiving
	Celluloid::TaskFiber backtrace unavailable. Please try `Celluloid.task_class = Celluloid::TaskThread` if you need backtraces here.
/Users/lemme/.rvm/gems/ruby-2.2.2/gems/thor-0.19.4/lib/thor/actions.rb:254:in `system': Interrupt
	from /Users/lemme/.rvm/gems/ruby-2.2.2/gems/thor-0.19.4/lib/thor/actions.rb:254:in `run'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/gems/artoo-1.8.2/bin/artoo:34:in `start'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/gems/artoo-1.8.2/bin/artoo:48:in `<top (required)>'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/bin/artoo:23:in `load'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/bin/artoo:23:in `<main>'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
	from /Users/lemme/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'
W, [2017-08-01T20:04:56.284197 #22491]  WARN -- : Terminating task: type=:call, meta={:method_name=>:connect}, status=:callwait
	Celluloid::TaskFiber backtrace unavailable. Please try `Celluloid.task_class = Celluloid::TaskThread` if you need backtraces here.
E, [2017-08-01T20:04:56.284513 #22491] ERROR -- : task was terminated
E, [2017-08-01T20:04:56.284574 #22491] ERROR -- : ["/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:34:in `terminate'", "/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/actor.rb:345:in `each'", "/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/actor.rb:345:in `cleanup'", "/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/actor.rb:329:in `shutdown'", "/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/actor.rb:164:in `run'", "/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/actor.rb:130:in `block in start'", "/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/thread_handle.rb:13:in `block in initialize'", "/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/actor_system.rb:32:in `block in get_thread'", "/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb:130:in `call'", "/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb:130:in `block in create'"]

E, [2017-08-01T20:04:57.174093 #22491] ERROR -- : Actor crashed!
RubySerial::Exception: EBADF
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/rubyserial-0.1.2/lib/rubyserial/posix.rb:62:in `read'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/hybridgroup-firmata-0.4.7/lib/firmata/board.rb:297:in `read'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/hybridgroup-firmata-0.4.7/lib/firmata/board.rb:76:in `read_and_process'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/hybridgroup-firmata-0.4.7/lib/firmata/board.rb:64:in `block (2 levels) in connect'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/hybridgroup-firmata-0.4.7/lib/firmata/board.rb:61:in `loop'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/hybridgroup-firmata-0.4.7/lib/firmata/board.rb:61:in `block in connect'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/hybridgroup-firmata-0.4.7/lib/firmata/board.rb:60:in `catch'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/hybridgroup-firmata-0.4.7/lib/firmata/board.rb:60:in `connect'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/artoo-arduino-1.4.4/lib/artoo/adaptors/firmata.rb:16:in `connect'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `public_send'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `dispatch'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/calls.rb:63:in `dispatch'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/cell.rb:60:in `block in invoke'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/cell.rb:71:in `block in task'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/actor.rb:357:in `block in task'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:57:in `block in initialize'
	/Users/lemme/.rvm/gems/ruby-2.2.2/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:15:in `block in create'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant