Class: Artoo::Adaptors::Crazyflie

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

Overview

Connect to a crazyflie quadcopter

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

Uses method missing to call device actions

See Also:

  • documentation


47
48
49
# File 'lib/artoo/adaptors/crazyflie.rb', line 47

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

Instance Attribute Details

#commanderObject (readonly)

Returns the value of attribute commander.



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

def commander
  @commander
end

#crazyflieObject (readonly)

Returns the value of attribute crazyflie.



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

def crazyflie
  @crazyflie
end

Instance Method Details

#connectBoolean

Creates a connection with crazyflie

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/artoo/adaptors/crazyflie.rb', line 12

def connect
  require 'crubyflie' unless defined?(::Crubyflie)
  @crazyflie = ::Crubyflie::Crazyflie.new('/tmp/test')
  source = additional_params[:source] || ""
  if source.empty?
    flies = @crazyflie.scan_interface
    if flies.empty?
      raise "No crazyflies!"
    end
    source = flies.first
  end
  @crazyflie.open_link(source)
  @commander = ::Crubyflie::Commander.new(@crazyflie)
  super
end

#disconnectBoolean

Closes connection with device

Returns:

  • (Boolean)


30
31
32
33
34
# File 'lib/artoo/adaptors/crazyflie.rb', line 30

def disconnect
  @crazyflie.close_link

  super
end

#firmware_nameObject

device info interface



37
38
39
# File 'lib/artoo/adaptors/crazyflie.rb', line 37

def firmware_name
  "Crazyflie"
end

#versionObject



41
42
43
# File 'lib/artoo/adaptors/crazyflie.rb', line 41

def version
  Crubyflie::VERSION
end