artoo-leapmotion 0.1.3 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 033376bf3cfa8a3b9b56a03ade3711dd458e4ffc
4
- data.tar.gz: ba42a7e225447f604d5dbc3a9447543c844130f6
3
+ metadata.gz: 162af68408d602a5a482333ebd39a2cecc40b74b
4
+ data.tar.gz: 848c559000f80727272dcab898fbca94cff5aa0c
5
5
  SHA512:
6
- metadata.gz: 4b76678a143e79a0edca443d4b38dc57d979cddba69c52f97a1612ed4e498c02de6cb7e795e99ebd7d27403e227e9adbc1418159ab248d78a641970bc0b6b692
7
- data.tar.gz: 4263072c336971b3140986ace6f312fea4a639e7706ae161c25798d2d72f4d3a9af862d797d0317ee35b52563b88392162b67bbe80a42aa731129abfb436cd3b
6
+ metadata.gz: b786d357bba4156462f78fc56f3ae959779c02116bc7d1a860a5c7aa3fe2012e61dde60b1addd5f77e0708086c433e5e0589059eb402ed12d9962283d13f577d
7
+ data.tar.gz: baae8130ea437b2ad93113b6a6d3f4e1181eb57b9b1d7741e5555b9192c0051b28be0e17e4be8c1c0b77b14c69d60e69f9924020c2a3d311e2d501adc535c4e5
@@ -1,59 +1,56 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- artoo-leapmotion (0.1.3)
5
- artoo (~> 1.1.0)
4
+ artoo-leapmotion (0.2.0)
5
+ artoo (~> 1.2.0)
6
6
  hybridgroup-celluloid-websocket-client
7
7
 
8
8
  GEM
9
9
  remote: http://rubygems.org/
10
10
  specs:
11
- artoo (1.1.0)
11
+ artoo (1.2.0)
12
12
  celluloid (~> 0.15.0)
13
13
  celluloid-io (~> 0.15.0)
14
14
  multi_json (~> 1.6)
15
15
  pry (~> 0.9)
16
16
  rake (~> 10.0)
17
- reel (~> 0.4.0.pre)
17
+ reel (~> 0.4.0)
18
18
  thor (~> 0.18.1)
19
- celluloid (0.15.0)
19
+ celluloid (0.15.1)
20
20
  timers (~> 1.1.0)
21
21
  celluloid-io (0.15.0)
22
22
  celluloid (>= 0.15.0)
23
23
  nio4r (>= 0.5.0)
24
- certified (0.1.1)
25
24
  coderay (1.0.9)
26
- http (0.4.0)
27
- certified
25
+ http (0.5.0)
28
26
  http_parser.rb
29
- http_parser.rb (0.5.3)
27
+ http_parser.rb (0.6.0.beta.2)
30
28
  hybridgroup-celluloid-websocket-client (0.0.3)
31
29
  celluloid-io
32
30
  websocket-driver
33
31
  metaclass (0.0.1)
34
32
  method_source (0.8.2)
35
- minitest (5.0.6)
33
+ minitest (5.0.7)
36
34
  minitest-happy (1.0.0)
37
35
  mocha (0.14.0)
38
36
  metaclass (~> 0.0.1)
39
- multi_json (1.7.9)
37
+ multi_json (1.8.0)
40
38
  nio4r (0.5.0)
41
39
  pry (0.9.12.2)
42
40
  coderay (~> 1.0.5)
43
41
  method_source (~> 0.8)
44
42
  slop (~> 3.4)
45
- rack (1.5.2)
46
43
  rake (10.1.0)
47
- reel (0.4.0.pre)
48
- celluloid-io (>= 0.8.0)
49
- http (>= 0.2.0)
50
- http_parser.rb (>= 0.5.3)
51
- rack (>= 1.4.0)
52
- websocket_parser (>= 0.1.2)
44
+ reel (0.4.0)
45
+ celluloid (>= 0.15.1)
46
+ celluloid-io (>= 0.15.0)
47
+ http (>= 0.5.0)
48
+ http_parser.rb (>= 0.6.0.beta.2)
49
+ websocket_parser (>= 0.1.4)
53
50
  slop (3.4.6)
54
51
  thor (0.18.1)
55
52
  timers (1.1.0)
56
- websocket-driver (0.2.3)
53
+ websocket-driver (0.3.0)
57
54
  websocket_parser (0.1.4)
58
55
  http
59
56
 
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
- s.add_runtime_dependency 'artoo', '~> 1.1.0'
22
+ s.add_runtime_dependency 'artoo', '~> 1.2.0'
23
23
  s.add_runtime_dependency 'hybridgroup-celluloid-websocket-client'
24
24
  s.add_development_dependency 'minitest', '~> 5.0'
25
25
  s.add_development_dependency 'minitest-happy'
@@ -0,0 +1,27 @@
1
+ require 'artoo'
2
+
3
+ connection :leapmotion, :adaptor => :leapmotion, :port => '127.0.0.1:6437'
4
+ device :leapmotion, :driver => :leapmotion
5
+
6
+ work do
7
+ on leapmotion, :open => :on_open
8
+ on leapmotion, :hand => :on_hand
9
+ on leapmotion, :close => :on_close
10
+ end
11
+
12
+ def on_open(*args)
13
+ puts args
14
+ end
15
+
16
+ def on_hand(*args)
17
+ hand = args[1]
18
+ puts "#{scale_to_servo(hand.palm_x, -200, 200)},#{scale_to_servo(hand.palm_y, -130, 130)}" if hand
19
+ end
20
+
21
+ def on_close(*args)
22
+ puts args
23
+ end
24
+
25
+ def scale_to_servo(val, min, max)
26
+ (((val - min) / (max - min)) * 180).ceil
27
+ end
@@ -1,5 +1,5 @@
1
1
  module Artoo
2
2
  module Leapmotion
3
- VERSION = '0.1.3'
3
+ VERSION = '0.2.0'
4
4
  end
5
5
  end
@@ -33,7 +33,9 @@ module Artoo
33
33
  frame = Artoo::Drivers::Leapmotion::Frame.new(message)
34
34
  publish(event_topic_name("frame"), frame)
35
35
 
36
- frame.gestures.each {|g| publish(event_topic_name("gesture"), g)}
36
+ frame.hands.each {|h| publish(event_topic_name("hand"), h)} if frame.hands
37
+ frame.gestures.each {|g| publish(event_topic_name("gesture"), g)} if frame.gestures
38
+ frame.pointables.each {|p| publish(event_topic_name("pointable"), p)} if frame.pointables
37
39
  else
38
40
  publish(event_topic_name("error"), data)
39
41
  end
@@ -19,6 +19,18 @@ module Artoo
19
19
  self.class.send(:define_method, k.to_sym, lambda { instance_variable_get("@#{k}") })
20
20
  end
21
21
  end
22
+
23
+ def palm_x
24
+ palmPosition[0] if palmPosition
25
+ end
26
+
27
+ def palm_y
28
+ palmPosition[2] if palmPosition
29
+ end
30
+
31
+ def palm_z
32
+ palmPosition[1] if palmPosition
33
+ end
22
34
  end
23
35
  end
24
36
  end
@@ -15,7 +15,9 @@ describe Artoo::Drivers::Leapmotion do
15
15
  @connection = mock('connection')
16
16
  @device.stubs(:connection).returns(@connection)
17
17
  @frame = mock('frame')
18
+ @frame.stubs(:hands).returns([])
18
19
  @frame.stubs(:gestures).returns([])
20
+ @frame.stubs(:pointables).returns([])
19
21
  Artoo::Drivers::Leapmotion::Frame.stubs(:new).returns(@frame)
20
22
  end
21
23
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: artoo-leapmotion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ron Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-05 00:00:00.000000000 Z
11
+ date: 2013-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: artoo
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 1.1.0
19
+ version: 1.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: 1.1.0
26
+ version: 1.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: hybridgroup-celluloid-websocket-client
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -96,6 +96,7 @@ files:
96
96
  - artoo-leapmotion.gemspec
97
97
  - examples/leap.rb
98
98
  - examples/leap_gesture.rb
99
+ - examples/leap_hands.rb
99
100
  - lib/artoo-leapmotion.rb
100
101
  - lib/artoo-leapmotion/version.rb
101
102
  - lib/artoo/adaptors/leapmotion.rb