Class: Argus::Controller
Instance Method Summary
collapse
decode_float, encode_float
Constructor Details
#initialize(at_commander) ⇒ Controller
Returns a new instance of Controller.
8
9
10
11
12
13
14
|
# File 'lib/argus/controller.rb', line 8
def initialize(at_commander)
@at_commander = at_commander
@emergency = false
land
hover
end
|
Instance Method Details
#ack_control_mode ⇒ Object
#animate(selection, duration) ⇒ Object
107
108
109
110
111
112
113
114
115
|
# File 'lib/argus/controller.rb', line 107
def animate(selection, duration)
selection = FlightAnimation.lookup_value(selection)
value = [
selection,
duration
].join(',')
@at_commander.config("control:flight_anim",value)
self
end
|
#backward(amount) ⇒ Object
54
55
56
57
58
|
# File 'lib/argus/controller.rb', line 54
def backward(amount)
@moving = true
@pitch = amount
update_pcmd
end
|
#bottom_camera ⇒ Object
137
138
139
|
# File 'lib/argus/controller.rb', line 137
def bottom_camera
config("video:video_channel", "1")
end
|
#config(key, value) ⇒ Object
124
125
126
127
|
# File 'lib/argus/controller.rb', line 124
def config(key, value)
@at_commander.config(key, value)
self
end
|
#demo_mode ⇒ Object
129
130
131
|
# File 'lib/argus/controller.rb', line 129
def demo_mode
config("general:navdata_demo", "TRUE")
end
|
#disable_emergency(state = true) ⇒ Object
33
34
35
36
37
|
# File 'lib/argus/controller.rb', line 33
def disable_emergency(state=true)
@flying = false
@emergency = state
update_ref
end
|
#down(amount) ⇒ Object
78
79
80
81
82
|
# File 'lib/argus/controller.rb', line 78
def down(amount)
@moving = true
@gaz = -amount
update_pcmd
end
|
#enable_detection(colors, type = 10, select = 32) ⇒ Object
117
118
119
120
121
122
|
# File 'lib/argus/controller.rb', line 117
def enable_detection(colors, type=10, select=32)
config("detect:enemy_colors",colors.to_s)
config("detect:detect_type", type.to_s)
config("detect:detections_select_h", select.to_s)
self
end
|
#enable_emergency(state = false) ⇒ Object
27
28
29
30
31
|
# File 'lib/argus/controller.rb', line 27
def enable_emergency(state=false)
@flying = true
@emergency = state
update_ref
end
|
#forward(amount) ⇒ Object
48
49
50
51
52
|
# File 'lib/argus/controller.rb', line 48
def forward(amount)
@moving = true
@pitch = -amount
update_pcmd
end
|
#front_camera ⇒ Object
133
134
135
|
# File 'lib/argus/controller.rb', line 133
def front_camera
config("video:video_channel", "2")
end
|
#hover ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'lib/argus/controller.rb', line 39
def hover
@moving = false
@roll = 0.0
@pitch = 0.0
@gaz = 0.0
@yaw = 0.0
update_pcmd
end
|
#land ⇒ Object
22
23
24
25
|
# File 'lib/argus/controller.rb', line 22
def land
@flying = false
update_ref
end
|
#led(selection, hertz, duration) ⇒ Object
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/argus/controller.rb', line 96
def led(selection, hertz, duration)
selection = LedAnimation.lookup_value(selection)
value = [
selection,
FloatEncoding.encode_float(hertz),
duration
].join(',')
@at_commander.config("leds:leds_anim",value)
self
end
|
#left(amount) ⇒ Object
60
61
62
63
64
|
# File 'lib/argus/controller.rb', line 60
def left(amount)
@moving = true
@roll = -amount
update_pcmd
end
|
#reset_watchdog ⇒ Object
141
142
143
144
|
# File 'lib/argus/controller.rb', line 141
def reset_watchdog
@at_commander.comwdg
self
end
|
#right(amount) ⇒ Object
66
67
68
69
70
|
# File 'lib/argus/controller.rb', line 66
def right(amount)
@moving = true
@roll = amount
update_pcmd
end
|
#take_off ⇒ Object
16
17
18
19
20
|
# File 'lib/argus/controller.rb', line 16
def take_off
@flying = true
@emergency = false
update_ref
end
|
#turn_left(amount) ⇒ Object
84
85
86
87
88
|
# File 'lib/argus/controller.rb', line 84
def turn_left(amount)
@moving = true
@yaw = -amount
update_pcmd
end
|
#turn_right(amount) ⇒ Object
90
91
92
93
94
|
# File 'lib/argus/controller.rb', line 90
def turn_right(amount)
@moving = true
@yaw = amount
update_pcmd
end
|
#up(amount) ⇒ Object
72
73
74
75
76
|
# File 'lib/argus/controller.rb', line 72
def up(amount)
@moving = true
@gaz = amount
update_pcmd
end
|