Class: Artoo::Drivers::Wiiclassic
Overview
Wiiclassic driver behaviors for Firmata
Instance Attribute Summary
Attributes inherited from Wiidriver
#data, #joystick
Attributes inherited from Driver
#parent
Instance Method Summary
collapse
Methods inherited from Wiidriver
#address, #initialize, #start_driver
Methods inherited from Driver
#connection, #event_topic_name, #initialize, #interval, #method_missing, #pin, #start_driver
Methods included from Celluloid
#timers
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Artoo::Drivers::Driver
Instance Method Details
#adjust_origins ⇒ Object
24
25
26
27
28
29
30
31
|
# File 'lib/artoo/drivers/wiiclassic.rb', line 24
def adjust_origins
set_joystick_default_value(:ly_origin, data[:ly])
set_joystick_default_value(:lx_origin, data[:lx])
set_joystick_default_value(:ry_origin, data[:ry])
set_joystick_default_value(:rx_origin, data[:rx])
set_joystick_default_value(:rt_origin, data[:rt])
set_joystick_default_value(:lt_origin, data[:lt])
end
|
#update(value) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/artoo/drivers/wiiclassic.rb', line 7
def update(value)
begin
super
adjust_origins
update_buttons
update_left_joystick
update_right_joystick
update_triggers
rescue Exception => e
Logger.error "wiiclassic update exception!"
Logger.error e.message
Logger.error e.backtrace.inspect
end
end
|
43
44
45
|
# File 'lib/artoo/drivers/wiiclassic.rb', line 43
def update_button(name, key)
publish(event_topic_name(name)) if data[key] == true
end
|
33
34
35
36
37
38
39
40
41
|
# File 'lib/artoo/drivers/wiiclassic.rb', line 33
def update_buttons
update_button("a_button", :a)
update_button("b_button", :b)
update_button("x_button", :x)
update_button("y_button", :y)
update_button("home_button", :h)
update_button("start_button", :+)
update_button("select_button", :-)
end
|
#update_left_joystick ⇒ Object
47
48
49
|
# File 'lib/artoo/drivers/wiiclassic.rb', line 47
def update_left_joystick
publish(event_topic_name("left_joystick"), {:x => calculate_joystick_value(:lx, :lx_origin), :y => calculate_joystick_value(:ly, :ly_origin)})
end
|
#update_right_joystick ⇒ Object
51
52
53
|
# File 'lib/artoo/drivers/wiiclassic.rb', line 51
def update_right_joystick
publish(event_topic_name("right_joystick"), {:x => calculate_joystick_value(:rx, :rx_origin), :y => calculate_joystick_value(:ry, :ry_origin)})
end
|
#update_triggers ⇒ Object
55
56
57
58
|
# File 'lib/artoo/drivers/wiiclassic.rb', line 55
def update_triggers
publish(event_topic_name("right_trigger"), calculate_joystick_value(:rt, :rt_origin))
publish(event_topic_name("left_trigger"), calculate_joystick_value(:lt, :lt_origin))
end
|