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



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

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
# File 'lib/artoo/adaptors/ardrone_navigation.rb', line 12

def connect
  require 'argus' unless defined?(::Argus::NavStreamer)
  @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)


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

def disconnect
  ardrone.close
  super
end