simple_wiimote 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/simple_wiimote.rb +63 -4
- data.tar.gz.sig +0 -0
- metadata +3 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0b45377ac8b752bde00abd09c85f3bbf39a884f
|
4
|
+
data.tar.gz: a7a4c87abc0c78c1b214b8bff704840c436200d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4ae4c284d6a9a2b56e12efdbb6b32c62d5b80caace1169d58863d7af934071be64436d22827824fefd2f2c76d3b1ce76714af14ce5347c5e174ac8210096f1b
|
7
|
+
data.tar.gz: 5fedf2eee04b3e2526bd8c591785c772550a7b9515c9ab0830735cf3063d384d2c35f3c73dd8b69ec16619c6fe68e76cdb8ec501e4274768c2e043900ceb4793
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/simple_wiimote.rb
CHANGED
@@ -4,6 +4,60 @@
|
|
4
4
|
|
5
5
|
require 'cwiid'
|
6
6
|
|
7
|
+
|
8
|
+
class Led
|
9
|
+
|
10
|
+
HIGH = 1
|
11
|
+
LOW = 0
|
12
|
+
|
13
|
+
attr_reader :state
|
14
|
+
|
15
|
+
def initialize(parent)
|
16
|
+
@state, @status = LOW, :off
|
17
|
+
@parent = parent
|
18
|
+
end
|
19
|
+
|
20
|
+
def on(duration=nil)
|
21
|
+
@state, @status = HIGH, :on
|
22
|
+
@parent.on_ledchange
|
23
|
+
(sleep duration; self.off) if duration
|
24
|
+
end
|
25
|
+
|
26
|
+
def off()
|
27
|
+
|
28
|
+
return if self.off?
|
29
|
+
@state, @status = LOW, :off
|
30
|
+
@parent.on_ledchange
|
31
|
+
end
|
32
|
+
|
33
|
+
def blink(seconds=0.5, duration: nil)
|
34
|
+
|
35
|
+
@status = :blink
|
36
|
+
t2 = Time.now + duration if duration
|
37
|
+
|
38
|
+
Thread.new do
|
39
|
+
while @status == :blink do
|
40
|
+
@state = 1
|
41
|
+
(set_pin HIGH; sleep seconds; set_pin LOW; sleep seconds)
|
42
|
+
self.off if duration and Time.now >= t2
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
alias stop off
|
49
|
+
|
50
|
+
def on?() @status == :on end
|
51
|
+
def off?() @status == :off end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def set_pin(state)
|
56
|
+
@state = state
|
57
|
+
@parent.on_ledchange
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
7
61
|
class WiiMote
|
8
62
|
attr_accessor :active
|
9
63
|
end
|
@@ -39,9 +93,10 @@ class SimpleWiimote
|
|
39
93
|
r.merge x => h
|
40
94
|
end
|
41
95
|
|
42
|
-
@events['void1'] = @events['void2'] = nil
|
43
|
-
|
44
|
-
@
|
96
|
+
@events['void1'] = @events['void2'] = nil
|
97
|
+
@terminator = ['1','2']
|
98
|
+
@led = 4.times.map { Led.new self}
|
99
|
+
|
45
100
|
end
|
46
101
|
|
47
102
|
def activate()
|
@@ -114,10 +169,14 @@ class SimpleWiimote
|
|
114
169
|
|
115
170
|
end
|
116
171
|
|
117
|
-
|
172
|
+
|
118
173
|
def rumble=(bool) @rumble = @wiimote.rumble = bool end
|
119
174
|
def close() @wiimote.close end
|
120
175
|
|
176
|
+
def on_ledchange()
|
177
|
+
@wiimote.led = @led.map(&:state).reverse.join.to_i(2)
|
178
|
+
end
|
179
|
+
|
121
180
|
protected
|
122
181
|
|
123
182
|
def on_btn_2_press(wm) puts 'button 2 pressed' end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_wiimote
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -83,5 +83,6 @@ rubyforge_project:
|
|
83
83
|
rubygems_version: 2.4.6
|
84
84
|
signing_key:
|
85
85
|
specification_version: 4
|
86
|
-
summary:
|
86
|
+
summary: Use this gem with the Wii remote to handle button presses as well as to individually
|
87
|
+
set LEDs on or off, or to make the device rumble.
|
87
88
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|