Class: Artoo::Drivers::Ardrone
- Inherits:
-
Driver
- Object
- Driver
- Artoo::Drivers::Ardrone
- Defined in:
- lib/artoo/drivers/ardrone.rb
Overview
Ardrone driver behaviors
Constant Summary collapse
- COMMANDS =
[:start, :stop, :hover, :land, :take_off, :enable_emergency, :disable_emergency, :front_camera, :bottom_camera, :up, :down, :left, :right, :forward, :backward, :turn_left, :turn_right, :reset_watchdog, :led].freeze
Instance Method Summary collapse
- #disable_emergency ⇒ Object
- #enable_emergency ⇒ Object
- #start(nav = nil) ⇒ Object
- #start_with_nav(nav) ⇒ Object
Instance Method Details
#disable_emergency ⇒ Object
45 46 47 48 49 50 |
# File 'lib/artoo/drivers/ardrone.rb', line 45 def disable_emergency connection.disable_emergency after(1) do connection.disable_emergency(false) end end |
#enable_emergency ⇒ Object
38 39 40 41 42 43 |
# File 'lib/artoo/drivers/ardrone.rb', line 38 def enable_emergency connection.enable_emergency after(1) do connection.enable_emergency(false) end end |
#start(nav = nil) ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/artoo/drivers/ardrone.rb', line 12 def start(nav=nil) connection.start(false) # send false, so Argus does not use NavMonitor if nav start_with_nav(nav) else publish(event_topic_name("ready")) end end |
#start_with_nav(nav) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/artoo/drivers/ardrone.rb', line 22 def start_with_nav(nav) until !nav.emergency_landing?.nil? sleep 0.1 end if nav.emergency_landing? connection.disable_emergency after(1) do connection.disable_emergency(false) publish(event_topic_name("ready")) end else publish(event_topic_name("ready")) end end |