Class: Artoo::Adaptors::Ardrone

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

Overview

This class connects to a ARDrone 2.0

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



36
37
38
# File 'lib/artoo/adaptors/ardrone.rb', line 36

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.



9
10
11
# File 'lib/artoo/adaptors/ardrone.rb', line 9

def ardrone
  @ardrone
end

Instance Method Details

#connectBoolean

Creates Argus Drone connection with device

Returns:

  • (Boolean)


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

def connect
  require 'argus' unless defined?(::Argus::Drone)
  @ardrone = ::Argus::Drone.new(socket: connect_to_udp, host: port.host, port: port.port)
  super
end

#disconnectBoolean

Disconnects device by stopping it and ending connection

Returns:

  • (Boolean)


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

def disconnect
  ardrone.stop
  super
end

#finalizeObject

Finalizes connection with ARDrone by landing and stopping the device



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

def finalize
  if connected?
    ardrone.land
    ardrone.stop
  end
end