tg-can-controls-gateway 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +2 -1
- data/VERSION +1 -1
- data/lib/can-controls-gateway.rb +1 -0
- data/lib/osc_broadcast_sender.rb +6 -3
- data/lib/osc_to_rca_dispatcher.rb +9 -11
- data/lib/runner.rb +5 -6
- data/lib/server.rb +7 -5
- metadata +14 -4
data/Rakefile
CHANGED
@@ -15,9 +15,10 @@ begin
|
|
15
15
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
16
16
|
|
17
17
|
gem.add_development_dependency "rspec"
|
18
|
+
gem.add_runtime_dependency "eventmachine", ">=0.12.10"
|
18
19
|
gem.add_runtime_dependency "applix"
|
19
20
|
gem.add_runtime_dependency "gom-script"
|
20
|
-
gem.add_runtime_dependency "
|
21
|
+
gem.add_runtime_dependency "osc", ">=0.1.4"
|
21
22
|
end
|
22
23
|
rescue LoadError
|
23
24
|
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/can-controls-gateway.rb
CHANGED
data/lib/osc_broadcast_sender.rb
CHANGED
@@ -6,8 +6,11 @@ require 'time'
|
|
6
6
|
ADDR = ['<broadcast>', 6567] # broadcast address
|
7
7
|
STATION_ID = 1
|
8
8
|
DIMENSIONALITY = 2
|
9
|
-
EVENTS
|
10
|
-
|
9
|
+
EVENTS = [
|
10
|
+
# "swipeDown", "swipeUp", "swipeLeft", "swipeRight", "zoomIn", "zoomOut",
|
11
|
+
# "cancel", "mouseDown", 'bigSwipe', "mouseMove", 'mouseUp', 'otherunknown'
|
12
|
+
"swipeLeft", "swipeRight"
|
13
|
+
]
|
11
14
|
|
12
15
|
UDPSock = UDPSocket.new
|
13
16
|
UDPSock.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true)
|
@@ -41,4 +44,4 @@ end
|
|
41
44
|
|
42
45
|
UDPSock.close
|
43
46
|
|
44
|
-
puts "good bye"
|
47
|
+
puts "good bye"
|
@@ -11,7 +11,7 @@ module CanControlsGateway
|
|
11
11
|
@raw_data = data
|
12
12
|
@osc_packet = OSC::Packet.decode @raw_data rescue @osc_packet = nil
|
13
13
|
@osc_message = @osc_packet[0][1] rescue @osc_message = nil
|
14
|
-
@event = extract_event
|
14
|
+
@event = extract_event @osc_message
|
15
15
|
end
|
16
16
|
|
17
17
|
def dispatch_rca
|
@@ -26,17 +26,15 @@ module CanControlsGateway
|
|
26
26
|
|
27
27
|
private
|
28
28
|
|
29
|
-
def extract_event
|
30
|
-
return nil if
|
31
|
-
if
|
32
|
-
|
33
|
-
elsif
|
34
|
-
|
29
|
+
def extract_event omsg
|
30
|
+
return nil if omsg.nil?
|
31
|
+
if omsg[0].kind_of?(OSC::OSCString) #s
|
32
|
+
EVENTS[omsg[0].to_s]
|
33
|
+
elsif omsg[2].kind_of?(OSC::OSCString) # ffs
|
34
|
+
EVENTS[omsg[2].to_s]
|
35
35
|
else
|
36
|
-
|
36
|
+
nil # something else, e.g. ff
|
37
37
|
end
|
38
38
|
end
|
39
|
-
|
40
39
|
end
|
41
|
-
|
42
|
-
end
|
40
|
+
end
|
data/lib/runner.rb
CHANGED
@@ -15,9 +15,7 @@ class CcgRunner < Gom::Remote::Entry
|
|
15
15
|
}
|
16
16
|
|
17
17
|
include OAttr
|
18
|
-
oattr :incoming_osc_port, :device
|
19
|
-
|
20
|
-
attr_reader :valve
|
18
|
+
oattr :incoming_osc_port, :device, :valve
|
21
19
|
|
22
20
|
def self.instance
|
23
21
|
@@instance
|
@@ -35,6 +33,7 @@ class CcgRunner < Gom::Remote::Entry
|
|
35
33
|
STATION['rci_uri'] = device_rci_uri
|
36
34
|
puts " -- STATION info: #{STATION.inspect}"
|
37
35
|
|
36
|
+
@options[:valve] = valve.to_sym # type fixing the GOM string
|
38
37
|
init_gnp
|
39
38
|
end
|
40
39
|
|
@@ -67,9 +66,9 @@ class CcgRunner < Gom::Remote::Entry
|
|
67
66
|
connection.subscribe @sub
|
68
67
|
end
|
69
68
|
|
70
|
-
def valve_update
|
71
|
-
@valve = attribute["value"].to_sym
|
72
|
-
puts " -- can-controls-valve now: #{
|
69
|
+
def valve_update _, attribute
|
70
|
+
@options[:valve] = attribute["value"].to_sym
|
71
|
+
puts " -- can-controls-valve now: #{valve}"
|
73
72
|
end
|
74
73
|
end
|
75
74
|
|
data/lib/server.rb
CHANGED
@@ -11,9 +11,7 @@ module UdpServer
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def receive_data(data)
|
14
|
-
puts "1"
|
15
14
|
return unless(CcgRunner.instance.valve == :open)
|
16
|
-
puts "2"
|
17
15
|
|
18
16
|
##
|
19
17
|
#CcgLogger::LOGGER.info "#{Time.now.iso8601} | >> raw incoming data: ----------------------"
|
@@ -26,9 +24,13 @@ module UdpServer
|
|
26
24
|
|
27
25
|
# RCA
|
28
26
|
rca_dispatching = proc {
|
29
|
-
|
30
|
-
|
31
|
-
|
27
|
+
begin
|
28
|
+
my_dispatcher = CanControlsGateway::OscToRcaDispatcher.new data
|
29
|
+
#CcgLogger::LOGGER.info my_dispatcher.event.inspect
|
30
|
+
my_dispatcher.dispatch_rca
|
31
|
+
rescue Exception => e
|
32
|
+
puts " ## #{e}\n -> #{e.backtrace.join "\n "}"
|
33
|
+
end
|
32
34
|
}
|
33
35
|
rca_callback = proc { |result|
|
34
36
|
#if result
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tg-can-controls-gateway
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- art+com/andreas marr
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-02-
|
12
|
+
date: 2010-02-02 00:00:00 +01:00
|
13
13
|
default_executable: can_controls_gateway
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -22,6 +22,16 @@ dependencies:
|
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: "0"
|
24
24
|
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: eventmachine
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.12.10
|
34
|
+
version:
|
25
35
|
- !ruby/object:Gem::Dependency
|
26
36
|
name: applix
|
27
37
|
type: :runtime
|
@@ -43,14 +53,14 @@ dependencies:
|
|
43
53
|
version: "0"
|
44
54
|
version:
|
45
55
|
- !ruby/object:Gem::Dependency
|
46
|
-
name:
|
56
|
+
name: osc
|
47
57
|
type: :runtime
|
48
58
|
version_requirement:
|
49
59
|
version_requirements: !ruby/object:Gem::Requirement
|
50
60
|
requirements:
|
51
61
|
- - ">="
|
52
62
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.
|
63
|
+
version: 0.1.4
|
54
64
|
version:
|
55
65
|
description: to be written
|
56
66
|
email: entwicklung.t-gallery@artcom.de
|