simple_wiimote 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|