class Argus::Drone

Attributes

controller[R]
nav[R]

Public Class Methods

new(opts={}) click to toggle source
   # File lib/argus/drone.rb
 9 def initialize(opts={})
10   host = opts[:remote_host] || '192.168.1.1'
11   port = opts[:post] || '5556'
12   @sender = opts[:sender] || Argus::UdpSender.new(socket: opts[:socket], remote_host: host, port: port)
13   @at = opts[:commander] || Argus::ATCommander.new(@sender)
14   @controller = opts[:controller] || Argus::Controller.new(@at)
15   if opts[:nav_monitor]
16     @nav = opts[:nav_monitor]
17   elsif opts.fetch(:enable_nav_monitor, true)
18     @nav =  NavMonitor.new(@controller, host)
19   else
20     @nav = NullNavMonitor.new
21   end
22 end

Public Instance Methods

commander() click to toggle source
   # File lib/argus/drone.rb
24 def commander
25   @at
26 end
nav_callback(*args, &block) click to toggle source
start(enable_nav_monitor=true) click to toggle source
   # File lib/argus/drone.rb
28 def start(enable_nav_monitor=true)
29   @nav.start
30   @at.start
31 end
stop() click to toggle source
   # File lib/argus/drone.rb
33 def stop
34   @controller.land
35 
36   @at.stop
37   @nav.stop
38 
39   @at.join
40   @nav.join
41 end