Class: Artoo::Adaptors::ArdroneNavigation

Inherits:
Adaptor
  • Object
show all
Defined in:
lib/artoo/adaptors/ardrone_navigation.rb

Overview

Connect to a ARDrone 2.0 navigation data stream

Instance Attribute Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name, *arguments, &block) ⇒ Object

Calls ardrone actions using method missing



29
30
31
# File 'lib/artoo/adaptors/ardrone_navigation.rb', line 29

def method_missing(method_name, *arguments, &block)
  ardrone.send(method_name, *arguments, &block)
end

Instance Attribute Details

#ardroneObject (readonly)

Returns the value of attribute ardrone.



8
9
10
# File 'lib/artoo/adaptors/ardrone_navigation.rb', line 8

def ardrone
  @ardrone
end

Instance Method Details

#connectBoolean

Creates connection with Argus NavStreamer and starts ardrone device

Returns:

  • (Boolean)


12
13
14
15
16
17
18
# File 'lib/artoo/adaptors/ardrone_navigation.rb', line 12

def connect
  require 'argus' unless defined?(::Argus::NavStreamer)
  puts "nav", port.host, port.port
  @ardrone = ::Argus::NavStreamer.new(socket: connect_to_udp, remote_host: port.host, port: port.port.to_i)
  @ardrone.start
  super
end

#disconnectBoolean

Closes connection with ardrone device

Returns:

  • (Boolean)


22
23
24
25
# File 'lib/artoo/adaptors/ardrone_navigation.rb', line 22

def disconnect
  ardrone.close
  super
end