phidgets4r 0.0.2
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.
- data/GNU_GPL.txt +340 -0
- data/README.rdoc +72 -0
- data/Rakefile +67 -0
- data/lib/phidgets/common.rb +409 -0
- data/lib/phidgets/interfacekit.rb +78 -0
- data/lib/phidgets/rfid.rb +83 -0
- data/lib/phidgets/servo.rb +64 -0
- data/lib/phidgets.rb +11 -0
- data/test/test_helper.rb +3 -0
- data/test/test_interfacekit.rb +194 -0
- data/test/test_phidgets.rb +5 -0
- data/test/test_servo.rb +146 -0
- metadata +73 -0
@@ -0,0 +1,194 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
|
3
|
+
class TestPhidgetsInterfaceKit < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
sleep 1
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_001_create
|
10
|
+
assert_nothing_raised {
|
11
|
+
ik = Phidgets::InterfaceKit.new
|
12
|
+
ik.delete
|
13
|
+
}
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_002_attach
|
17
|
+
assert_nothing_raised {
|
18
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
19
|
+
ik.close
|
20
|
+
ik.delete
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_003_fail_attach
|
25
|
+
assert_raises (Phidgets::Exception) {
|
26
|
+
ik = Phidgets::InterfaceKit.new(1, 2000)
|
27
|
+
ik.delete
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_004_get_device_name
|
32
|
+
assert_nothing_raised {
|
33
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
34
|
+
ik.getDeviceName
|
35
|
+
ik.close
|
36
|
+
ik.delete
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_005_get_serial_number
|
41
|
+
assert_nothing_raised {
|
42
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
43
|
+
ik.getSerialNumber
|
44
|
+
ik.close
|
45
|
+
ik.delete
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_006_get_device_version
|
50
|
+
assert_nothing_raised {
|
51
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
52
|
+
ik.getDeviceVersion
|
53
|
+
ik.close
|
54
|
+
ik.delete
|
55
|
+
}
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_007_get_device_status
|
59
|
+
assert_nothing_raised {
|
60
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
61
|
+
ik.getDeviceStatus
|
62
|
+
ik.close
|
63
|
+
ik.delete
|
64
|
+
}
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_008_get_device_type
|
68
|
+
assert_nothing_raised {
|
69
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
70
|
+
ik.getDeviceType
|
71
|
+
ik.close
|
72
|
+
ik.delete
|
73
|
+
}
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_009_get_device_label
|
77
|
+
assert_nothing_raised {
|
78
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
79
|
+
ik.getDeviceLabel
|
80
|
+
ik.close
|
81
|
+
ik.delete
|
82
|
+
}
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_010_get_device_id
|
86
|
+
assert_nothing_raised {
|
87
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
88
|
+
ik.getDeviceID
|
89
|
+
ik.close
|
90
|
+
ik.delete
|
91
|
+
}
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_011_get_device_class
|
95
|
+
device_class = Phidgets::CLASS_NOTHING
|
96
|
+
assert_nothing_raised {
|
97
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
98
|
+
device_class = ik.getDeviceClass
|
99
|
+
ik.close
|
100
|
+
ik.delete
|
101
|
+
}
|
102
|
+
assert device_class == Phidgets::CLASS_INTERFACEKIT
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_012_get_input_count
|
106
|
+
device_id = 0
|
107
|
+
count = -1
|
108
|
+
assert_nothing_raised {
|
109
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
110
|
+
device_id = ik.getDeviceID
|
111
|
+
count = ik.getInputCount
|
112
|
+
ik.close
|
113
|
+
ik.delete
|
114
|
+
}
|
115
|
+
case device_id
|
116
|
+
when Phidgets::ID_INTERFACEKIT_0_0_4
|
117
|
+
assert count == 0
|
118
|
+
when Phidgets::ID_INTERFACEKIT_0_0_8
|
119
|
+
assert count == 0
|
120
|
+
when Phidgets::ID_INTERFACEKIT_0_16_16
|
121
|
+
assert count == 16
|
122
|
+
when Phidgets::ID_INTERFACEKIT_8_8_8
|
123
|
+
assert count == 8
|
124
|
+
when Phidgets::ID_INTERFACEKIT_8_8_8_w_LCD
|
125
|
+
assert count == 8
|
126
|
+
when Phidgets::ID_INTERFACEKIT_0_8_8_w_LCD
|
127
|
+
assert count == 8
|
128
|
+
when Phidgets::ID_INTERFACEKIT_4_8_8
|
129
|
+
assert count == 8
|
130
|
+
else
|
131
|
+
flunk
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
def test_013_get_output_count
|
136
|
+
device_id = 0
|
137
|
+
count = -1
|
138
|
+
assert_nothing_raised {
|
139
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
140
|
+
device_id = ik.getDeviceID
|
141
|
+
count = ik.getOutputCount
|
142
|
+
ik.close
|
143
|
+
ik.delete
|
144
|
+
}
|
145
|
+
case device_id
|
146
|
+
when Phidgets::ID_INTERFACEKIT_0_0_4
|
147
|
+
assert count == 4
|
148
|
+
when Phidgets::ID_INTERFACEKIT_0_0_8
|
149
|
+
assert count == 8
|
150
|
+
when Phidgets::ID_INTERFACEKIT_0_16_16
|
151
|
+
assert count == 16
|
152
|
+
when Phidgets::ID_INTERFACEKIT_8_8_8
|
153
|
+
assert count == 8
|
154
|
+
when Phidgets::ID_INTERFACEKIT_8_8_8_w_LCD
|
155
|
+
assert count == 8
|
156
|
+
when Phidgets::ID_INTERFACEKIT_0_8_8_w_LCD
|
157
|
+
assert count == 8
|
158
|
+
when Phidgets::ID_INTERFACEKIT_4_8_8
|
159
|
+
assert count == 8
|
160
|
+
else
|
161
|
+
flunk
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
def test_014_get_sensor_count
|
166
|
+
device_id = 0
|
167
|
+
count = -1
|
168
|
+
assert_nothing_raised {
|
169
|
+
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
170
|
+
device_id = ik.getDeviceID
|
171
|
+
count = ik.getSensorCount
|
172
|
+
ik.close
|
173
|
+
ik.delete
|
174
|
+
}
|
175
|
+
case device_id
|
176
|
+
when Phidgets::ID_INTERFACEKIT_0_0_4
|
177
|
+
assert count == 0
|
178
|
+
when Phidgets::ID_INTERFACEKIT_0_0_8
|
179
|
+
assert count == 0
|
180
|
+
when Phidgets::ID_INTERFACEKIT_0_16_16
|
181
|
+
assert count == 0
|
182
|
+
when Phidgets::ID_INTERFACEKIT_8_8_8
|
183
|
+
assert count == 8
|
184
|
+
when Phidgets::ID_INTERFACEKIT_8_8_8_w_LCD
|
185
|
+
assert count == 8
|
186
|
+
when Phidgets::ID_INTERFACEKIT_0_8_8_w_LCD
|
187
|
+
assert count == 0
|
188
|
+
when Phidgets::ID_INTERFACEKIT_4_8_8
|
189
|
+
assert count == 4
|
190
|
+
else
|
191
|
+
flunk
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
data/test/test_servo.rb
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
|
3
|
+
class TestPhidgetsServo < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
sleep 1
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_001_create
|
10
|
+
assert_nothing_raised {
|
11
|
+
servo = Phidgets::Servo.new
|
12
|
+
servo.delete
|
13
|
+
}
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_002_attach
|
17
|
+
assert_nothing_raised {
|
18
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
19
|
+
servo.close
|
20
|
+
servo.delete
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_003_fail_attach
|
25
|
+
assert_raises (Phidgets::Exception) {
|
26
|
+
servo = Phidgets::Servo.new(1, 2000)
|
27
|
+
servo.delete
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_004_get_device_name
|
32
|
+
assert_nothing_raised {
|
33
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
34
|
+
servo.getDeviceName
|
35
|
+
servo.close
|
36
|
+
servo.delete
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_005_get_serial_number
|
41
|
+
assert_nothing_raised {
|
42
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
43
|
+
servo.getSerialNumber
|
44
|
+
servo.close
|
45
|
+
servo.delete
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_006_get_device_version
|
50
|
+
assert_nothing_raised {
|
51
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
52
|
+
servo.getDeviceVersion
|
53
|
+
servo.close
|
54
|
+
servo.delete
|
55
|
+
}
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_007_get_device_status
|
59
|
+
assert_nothing_raised {
|
60
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
61
|
+
servo.getDeviceStatus
|
62
|
+
servo.close
|
63
|
+
servo.delete
|
64
|
+
}
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_008_get_device_type
|
68
|
+
assert_nothing_raised {
|
69
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
70
|
+
servo.getDeviceType
|
71
|
+
servo.close
|
72
|
+
servo.delete
|
73
|
+
}
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_009_get_device_label
|
77
|
+
assert_nothing_raised {
|
78
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
79
|
+
servo.getDeviceLabel
|
80
|
+
servo.close
|
81
|
+
servo.delete
|
82
|
+
}
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_010_get_device_id
|
86
|
+
assert_nothing_raised {
|
87
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
88
|
+
servo.getDeviceID
|
89
|
+
servo.close
|
90
|
+
servo.delete
|
91
|
+
}
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_011_get_device_class
|
95
|
+
device_class = Phidgets::CLASS_NOTHING
|
96
|
+
assert_nothing_raised {
|
97
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
98
|
+
device_class = servo.getDeviceClass
|
99
|
+
servo.close
|
100
|
+
servo.delete
|
101
|
+
}
|
102
|
+
assert device_class == Phidgets::CLASS_SERVO
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_012_get_motor_count
|
106
|
+
device_id = 0
|
107
|
+
count = -1
|
108
|
+
assert_nothing_raised {
|
109
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
110
|
+
device_id = servo.getDeviceID
|
111
|
+
count = servo.getMotorCount
|
112
|
+
servo.close
|
113
|
+
servo.delete
|
114
|
+
}
|
115
|
+
assert 1 == count
|
116
|
+
end
|
117
|
+
|
118
|
+
def test_013_positions
|
119
|
+
device_id = 0
|
120
|
+
position = -1.0
|
121
|
+
max = -1
|
122
|
+
min = -1
|
123
|
+
engaged = -1
|
124
|
+
|
125
|
+
assert_nothing_raised {
|
126
|
+
servo = Phidgets::Servo.new(-1, 2000)
|
127
|
+
puts "device_id: #{servo.getDeviceID}"
|
128
|
+
puts "device_name: #{servo.getDeviceName}"
|
129
|
+
puts "status: #{servo.getDeviceStatus}"
|
130
|
+
max = servo.getPositionMax(0)
|
131
|
+
min = servo.getPositionMin(0)
|
132
|
+
puts "min: #{min} - max: #{max}"
|
133
|
+
servo.setPosition(0, 10.0)
|
134
|
+
sleep 3
|
135
|
+
|
136
|
+
position = servo.getPosition(0)
|
137
|
+
servo.close
|
138
|
+
servo.delete
|
139
|
+
}
|
140
|
+
puts "position: #{position}"
|
141
|
+
assert 0.0 == min
|
142
|
+
assert 220.0 == max
|
143
|
+
assert 10.0 == position
|
144
|
+
end
|
145
|
+
|
146
|
+
end
|
metadata
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: phidgets4r
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Kit Plummer
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-05-15 00:00:00 -07:00
|
18
|
+
default_executable:
|
19
|
+
dependencies: []
|
20
|
+
|
21
|
+
description: Just a simple Ruby library to provide Ruby-style abstraction around the Phidgets C library. Fork of the RubyForge phidget project.
|
22
|
+
email: kitplummer@gmail.com
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files: []
|
28
|
+
|
29
|
+
files:
|
30
|
+
- Rakefile
|
31
|
+
- README.rdoc
|
32
|
+
- GNU_GPL.txt
|
33
|
+
- lib/phidgets/common.rb
|
34
|
+
- lib/phidgets/interfacekit.rb
|
35
|
+
- lib/phidgets/rfid.rb
|
36
|
+
- lib/phidgets/servo.rb
|
37
|
+
- lib/phidgets.rb
|
38
|
+
- test/test_helper.rb
|
39
|
+
- test/test_interfacekit.rb
|
40
|
+
- test/test_phidgets.rb
|
41
|
+
- test/test_servo.rb
|
42
|
+
has_rdoc: true
|
43
|
+
homepage: http://github.com/kitplummer/phidgets4r
|
44
|
+
licenses: []
|
45
|
+
|
46
|
+
post_install_message:
|
47
|
+
rdoc_options: []
|
48
|
+
|
49
|
+
require_paths:
|
50
|
+
- lib
|
51
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
version: "0"
|
58
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
version: "0"
|
65
|
+
requirements:
|
66
|
+
- none
|
67
|
+
rubyforge_project: phidgets4r
|
68
|
+
rubygems_version: 1.3.6
|
69
|
+
signing_key:
|
70
|
+
specification_version: 3
|
71
|
+
summary: Interact with Phidgets via Ruby.
|
72
|
+
test_files: []
|
73
|
+
|