phidgets 0.1.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/History.txt +3 -0
  3. data/README.rdoc +32 -43
  4. data/Rakefile +4 -2
  5. data/bin/phidget +18 -72
  6. data/ext/phidgets/extconf.rb +5 -8
  7. data/ext/phidgets/phidgets.c +708 -173
  8. data/ext/phidgets/phidgets.h +54 -35
  9. data/ext/phidgets/phidgets_accelerometer.c +193 -109
  10. data/ext/phidgets/phidgets_bldc_motor.c +529 -0
  11. data/ext/phidgets/phidgets_capacitive_touch.c +302 -0
  12. data/ext/phidgets/phidgets_common.c +570 -315
  13. data/ext/phidgets/phidgets_current_input.c +229 -0
  14. data/ext/phidgets/phidgets_dc_motor.c +562 -0
  15. data/ext/phidgets/phidgets_dictionary.c +154 -213
  16. data/ext/phidgets/phidgets_digital_input.c +127 -0
  17. data/ext/phidgets/phidgets_digital_output.c +288 -0
  18. data/ext/phidgets/phidgets_distance_sensor.c +295 -0
  19. data/ext/phidgets/phidgets_encoder.c +211 -192
  20. data/ext/phidgets/phidgets_frequency_counter.c +310 -177
  21. data/ext/phidgets/phidgets_gps.c +226 -164
  22. data/ext/phidgets/phidgets_gyroscope.c +195 -0
  23. data/ext/phidgets/phidgets_hub.c +39 -0
  24. data/ext/phidgets/phidgets_humidity_sensor.c +200 -0
  25. data/ext/phidgets/phidgets_ir.c +211 -171
  26. data/ext/phidgets/phidgets_lcd.c +512 -0
  27. data/ext/phidgets/phidgets_light_sensor.c +200 -0
  28. data/ext/phidgets/phidgets_log.c +263 -0
  29. data/ext/phidgets/phidgets_magnetometer.c +279 -0
  30. data/ext/phidgets/phidgets_manager.c +86 -297
  31. data/ext/phidgets/phidgets_motor_position_controller.c +787 -0
  32. data/ext/phidgets/phidgets_phsensor.c +200 -152
  33. data/ext/phidgets/phidgets_power_guard.c +144 -0
  34. data/ext/phidgets/phidgets_pressure_sensor.c +200 -0
  35. data/ext/phidgets/phidgets_rc_servo.c +672 -0
  36. data/ext/phidgets/phidgets_resistance_input.c +227 -0
  37. data/ext/phidgets/phidgets_rfid.c +107 -221
  38. data/ext/phidgets/phidgets_sound_sensor.c +284 -0
  39. data/ext/phidgets/phidgets_spatial.c +124 -318
  40. data/ext/phidgets/phidgets_stepper.c +457 -430
  41. data/ext/phidgets/phidgets_temp_sensor.c +223 -228
  42. data/ext/phidgets/phidgets_voltage_input.c +428 -0
  43. data/ext/phidgets/phidgets_voltage_output.c +167 -0
  44. data/ext/phidgets/phidgets_voltage_ratio_input.c +435 -0
  45. data/lib/phidgets.rb +21 -14
  46. data/lib/phidgets/accelerometer.rb +11 -15
  47. data/lib/phidgets/bldc_motor.rb +45 -0
  48. data/lib/phidgets/capacitive_touch.rb +33 -0
  49. data/lib/phidgets/common.rb +40 -69
  50. data/lib/phidgets/current_input.rb +21 -0
  51. data/lib/phidgets/dc_motor.rb +45 -0
  52. data/lib/phidgets/dictionary.rb +30 -39
  53. data/lib/phidgets/digital_input.rb +21 -0
  54. data/lib/phidgets/digital_output.rb +56 -0
  55. data/lib/phidgets/distance_sensor.rb +33 -0
  56. data/lib/phidgets/encoder.rb +1 -29
  57. data/lib/phidgets/frequency_counter.rb +23 -14
  58. data/lib/phidgets/gps.rb +34 -26
  59. data/lib/phidgets/gyroscope.rb +21 -0
  60. data/lib/phidgets/humidity_sensor.rb +21 -0
  61. data/lib/phidgets/ir.rb +34 -39
  62. data/lib/phidgets/light_sensor.rb +21 -0
  63. data/lib/phidgets/magnetometer.rb +21 -0
  64. data/lib/phidgets/manager.rb +18 -66
  65. data/lib/phidgets/motor_position_controller.rb +45 -0
  66. data/lib/phidgets/ph_sensor.rb +2 -6
  67. data/lib/phidgets/pressure_sensor.rb +21 -0
  68. data/lib/phidgets/rc_servo.rb +58 -0
  69. data/lib/phidgets/resistance_input.rb +21 -0
  70. data/lib/phidgets/rfid.rb +22 -38
  71. data/lib/phidgets/sound_sensor.rb +21 -0
  72. data/lib/phidgets/spatial.rb +11 -15
  73. data/lib/phidgets/stepper.rb +48 -50
  74. data/lib/phidgets/temperature_sensor.rb +11 -15
  75. data/lib/phidgets/version.rb +5 -0
  76. data/lib/phidgets/voltage_input.rb +34 -0
  77. data/lib/phidgets/voltage_output.rb +23 -0
  78. data/lib/phidgets/voltage_ratio_input.rb +34 -0
  79. data/phidgets.gemspec +3 -22
  80. data/test/test_accelerometer.rb +42 -23
  81. data/test/test_bldc_motor.rb +134 -0
  82. data/test/test_capacitive_touch.rb +82 -0
  83. data/test/test_common.rb +125 -108
  84. data/test/test_current_input.rb +62 -0
  85. data/test/test_dc_motor.rb +146 -0
  86. data/test/test_dictionary.rb +22 -54
  87. data/test/test_digital_input.rb +30 -0
  88. data/test/test_digital_output.rb +70 -0
  89. data/test/test_distance_sensor.rb +76 -0
  90. data/test/test_encoder.rb +45 -38
  91. data/test/test_frequency_counter.rb +71 -36
  92. data/test/test_gps.rb +29 -38
  93. data/test/test_gyroscope.rb +54 -0
  94. data/test/test_helper.rb +0 -1
  95. data/test/test_hub.rb +14 -0
  96. data/test/test_humidity_sensor.rb +58 -0
  97. data/test/test_ir.rb +34 -34
  98. data/test/test_lcd.rb +146 -0
  99. data/test/test_light_sensor.rb +58 -0
  100. data/test/test_magnetometer.rb +78 -0
  101. data/test/test_manager.rb +10 -79
  102. data/test/test_motor_control.rb +146 -108
  103. data/test/test_phidgets.rb +2 -14
  104. data/test/test_phsensor.rb +46 -34
  105. data/test/test_power_guard.rb +42 -0
  106. data/test/test_pressure_sensor.rb +58 -0
  107. data/test/test_rc_servo.rb +174 -0
  108. data/test/test_resistance_input.rb +66 -0
  109. data/test/test_rfid.rb +15 -54
  110. data/test/test_sound_sensor.rb +78 -0
  111. data/test/test_spatial.rb +19 -85
  112. data/test/test_stepper.rb +89 -98
  113. data/test/test_temp_sensor.rb +42 -47
  114. data/test/test_voltage_input.rb +102 -0
  115. data/test/test_voltage_output.rb +46 -0
  116. data/test/test_voltage_ratio_input.rb +102 -0
  117. metadata +72 -89
  118. data/ext/phidgets/phidgets_advanced_servo.c +0 -567
  119. data/ext/phidgets/phidgets_analog.c +0 -139
  120. data/ext/phidgets/phidgets_bridge.c +0 -263
  121. data/ext/phidgets/phidgets_interface_kit.c +0 -340
  122. data/ext/phidgets/phidgets_led.c +0 -178
  123. data/ext/phidgets/phidgets_motor_control.c +0 -642
  124. data/ext/phidgets/phidgets_servo.c +0 -276
  125. data/ext/phidgets/phidgets_text_lcd.c +0 -381
  126. data/ext/phidgets/phidgets_text_led.c +0 -107
  127. data/ext/phidgets/phidgets_weight_sensor.c +0 -113
  128. data/lib/phidgets/advanced_servo.rb +0 -49
  129. data/lib/phidgets/analog.rb +0 -8
  130. data/lib/phidgets/bridge.rb +0 -25
  131. data/lib/phidgets/interfacekit.rb +0 -49
  132. data/lib/phidgets/led.rb +0 -8
  133. data/lib/phidgets/motor_control.rb +0 -110
  134. data/lib/phidgets/servo.rb +0 -23
  135. data/lib/phidgets/text_lcd.rb +0 -8
  136. data/lib/phidgets/text_led.rb +0 -8
  137. data/lib/phidgets/weight_sensor.rb +0 -25
  138. data/test/test_advanced_servo.rb +0 -152
  139. data/test/test_analog.rb +0 -45
  140. data/test/test_bridge.rb +0 -77
  141. data/test/test_interfacekit.rb +0 -97
  142. data/test/test_led.rb +0 -55
  143. data/test/test_servo.rb +0 -67
  144. data/test/test_text_lcd.rb +0 -115
  145. data/test/test_text_led.rb +0 -35
  146. data/test/test_weight_sensor.rb +0 -32
@@ -0,0 +1,58 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsLightSensor < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @phidget = Phidgets::LightSensor.new
7
+ end
8
+
9
+ def test_get_data_interval
10
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval}
11
+ end
12
+
13
+ def test_set_data_interval
14
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval = 2}
15
+ end
16
+
17
+ def test_get_min_data_interval
18
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_data_interval}
19
+ end
20
+
21
+ def test_get_max_data_interval
22
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_data_interval}
23
+ end
24
+
25
+ def test_get_illuminance
26
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.illuminance}
27
+ end
28
+
29
+ def test_get_min_illuminance
30
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_illuminance}
31
+ end
32
+
33
+ def test_get_max_illuminance
34
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_illuminance}
35
+ end
36
+
37
+ def test_get_illuminance_change_trigger
38
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.illuminance_change_trigger}
39
+ end
40
+
41
+ def test_set_illuminance_change_trigger
42
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.illuminance_change_trigger = 2.5}
43
+ end
44
+
45
+ def test_get_min_illuminance_change_trigger
46
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_illuminance_change_trigger}
47
+ end
48
+
49
+ def test_get_max_illuminance_change_trigger
50
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_illuminance_change_trigger}
51
+ end
52
+
53
+ def test_set_on_illuminance_change
54
+ assert_nothing_raised {@phidget.on_illuminance_change {puts 'illuminance_changed'}}
55
+ end
56
+
57
+ end
58
+
@@ -0,0 +1,78 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsMagnetometer < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @phidget = Phidgets::Magnetometer.new
7
+ end
8
+
9
+ def test_get_axis_count
10
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.axis_count}
11
+ end
12
+
13
+ def test_set_correction_parameters
14
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.set_correction_parameters(0,0,0,0,0,0,0,0,0,0,0,0,0)}
15
+ end
16
+
17
+ def test_get_data_interval
18
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval}
19
+ end
20
+
21
+ def test_set_data_interval
22
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval = 2}
23
+ end
24
+
25
+ def test_get_min_data_interval
26
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_data_interval}
27
+ end
28
+
29
+ def test_get_max_data_interval
30
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_data_interval}
31
+ end
32
+
33
+ def test_get_magnetic_field
34
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.magnetic_field}
35
+ end
36
+
37
+ def test_get_min_magnetic_field
38
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_magnetic_field}
39
+ end
40
+
41
+ def test_get_max_magnetic_field
42
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_magnetic_field}
43
+ end
44
+
45
+ def test_get_magnetic_field_change_trigger
46
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.magnetic_field_change_trigger}
47
+ end
48
+
49
+ def test_set_magnetic_field_change_trigger
50
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.magnetic_field_change_trigger = 2.5}
51
+ end
52
+
53
+ def test_get_min_magnetic_field_change_trigger
54
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_magnetic_field_change_trigger}
55
+ end
56
+
57
+ def test_get_max_magnetic_field_change_trigger
58
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_magnetic_field_change_trigger}
59
+ end
60
+
61
+ def test_reset_correction_parameters
62
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.reset_correction_parameters}
63
+ end
64
+
65
+ def test_save_correction_parameters
66
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.save_correction_parameters}
67
+ end
68
+
69
+ def test_get_timestamp
70
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.timestamp}
71
+ end
72
+
73
+ def test_set_on_magnetic_field_change
74
+ assert_nothing_raised {@phidget.on_magnetic_field_change {puts 'magnetic_field_changed'}}
75
+ end
76
+
77
+ end
78
+
@@ -2,92 +2,23 @@ require File.dirname(__FILE__) + '/test_helper.rb'
2
2
 
3
3
  class TestPhidgetsManager < Test::Unit::TestCase
4
4
 
5
- def test_open
6
- manager = Phidgets::Manager.new
7
- assert_nothing_raised {manager.open}
8
- manager.close
9
- end
10
-
11
- def test_open_with_hash_1
12
- manager = Phidgets::Manager.new
13
- assert_nothing_raised {manager.open :server_id => 'localhost', :password => ''}
14
- manager.close
15
- end
16
-
17
- def test_open_with_hash_2
18
- manager = Phidgets::Manager.new
19
- assert_nothing_raised {manager.open :address => 'localhost', :port => 25000, :password => ''}
20
- manager.close
21
- end
22
-
23
- def test_open_remote
24
- manager = Phidgets::Manager.new
25
- assert_nothing_raised {manager.open_remote 'localhost', 'password'}
26
- manager.close
27
- end
28
-
29
- def test_open_remote_ip
30
- manager = Phidgets::Manager.new
31
- assert_nothing_raised {manager.open_remote_ip 'localhost', 25000, 'password'}
32
- manager.close
33
- end
34
-
35
- def test_close
36
- manager = Phidgets::Manager.new
37
- manager.open
38
- assert_nothing_raised {manager.close}
39
- end
40
-
41
- def test_get_server_id
42
- manager = Phidgets::Manager.new
43
- manager.open_remote 'localhost', 'password'
44
- assert_equal('localhost', manager.server_id)
45
- manager.close
5
+ def setup
6
+ @phidget = Phidgets::Manager.new
46
7
  end
47
8
 
48
- def test_get_server_address
49
- manager = Phidgets::Manager.new
50
- manager.open_remote_ip 'localhost', 25000, 'password'
51
- assert_equal(['localhost',25000], manager.server_address)
52
- manager.close
53
- end
54
-
55
- def test_get_server_status
56
- manager = Phidgets::Manager.new
57
- manager.open_remote 'localhost', 'password'
58
- assert_equal(Phidgets::NOTATTACHED, manager.server_status)
59
- manager.close
60
- end
61
-
62
- def test_get_attached_devices
63
- manager = Phidgets::Manager.new
9
+ def test_open
64
10
  assert_nothing_raised do
65
- devices = manager.attached_devices
66
- assert_equal(0, devices.count)
11
+ @phidget.open
12
+ @phidget.close
67
13
  end
68
- manager.close
69
14
  end
70
15
 
71
- unless RUBY_VERSION < '1.9.0'
72
- def test_set_on_attach
73
- manager = Phidgets::Manager.new
74
- assert_nothing_raised {manager.on_attach {puts 'hello'}}
75
- end
76
-
77
- def test_set_on_detach
78
- manager = Phidgets::Manager.new
79
- assert_nothing_raised {manager.on_detach {puts 'goodbye'}}
80
- end
81
-
82
- def test_set_on_server_connect
83
- manager = Phidgets::Manager.new
84
- assert_nothing_raised {manager.on_server_connect {puts 'hello'}}
85
- end
16
+ def test_set_on_attach
17
+ assert_nothing_raised {@phidget.on_attach {puts 'phidget_attached'}}
18
+ end
86
19
 
87
- def test_set_on_server_disconnect
88
- manager = Phidgets::Manager.new
89
- assert_nothing_raised {manager.on_server_disconnect {puts 'goodbye'}}
90
- end
20
+ def test_set_on_detach
21
+ assert_nothing_raised {@phidget.on_detach {puts 'phidget_detached'}}
91
22
  end
92
23
 
93
24
  end
@@ -1,171 +1,209 @@
1
1
  require File.dirname(__FILE__) + '/test_helper.rb'
2
2
 
3
- class TestPhidgetsMotorControl < Test::Unit::TestCase
3
+ class TestPhidgetsMotorPositionController < Test::Unit::TestCase
4
4
 
5
- def test_create
6
- assert_nothing_raised {Phidgets::MotorControl.new}
5
+ def setup
6
+ @phidget = Phidgets::MotorPositionController.new
7
7
  end
8
8
 
9
- def test_get_motor_count
10
- motor = Phidgets::MotorControl.new
11
- assert_raise(Phidgets::Error::NotAttached) {motor.motor_count}
9
+ def test_get_acceleration
10
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.acceleration}
12
11
  end
13
12
 
14
- def test_get_velocity
15
- motor = Phidgets::MotorControl.new
16
- assert_raise(Phidgets::Error::NotAttached) {motor.velocity 1}
13
+ def test_set_acceleration
14
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.acceleration = 58.9}
17
15
  end
18
16
 
19
- def test_set_velocity
20
- motor = Phidgets::MotorControl.new
21
- assert_raise(Phidgets::Error::NotAttached) {motor.set_velocity 1, 33.5}
17
+ def test_get_min_acceleration
18
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_acceleration}
22
19
  end
23
20
 
24
- def test_get_acceleration
25
- motor = Phidgets::MotorControl.new
26
- assert_raise(Phidgets::Error::NotAttached) {motor.acceleration 1}
21
+ def test_get_max_acceleration
22
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_acceleration}
27
23
  end
28
24
 
29
- def test_get_acceleration_min
30
- motor = Phidgets::MotorControl.new
31
- assert_raise(Phidgets::Error::NotAttached) {motor.acceleration_min 1}
25
+ def test_get_current_limit
26
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.current_limit}
32
27
  end
33
28
 
34
- def test_get_acceleration_max
35
- motor = Phidgets::MotorControl.new
36
- assert_raise(Phidgets::Error::NotAttached) {motor.acceleration_max 1}
29
+ def test_set_current_limit
30
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.current_limit = 2.5}
37
31
  end
38
32
 
39
- def test_set_acceleration
40
- motor = Phidgets::MotorControl.new
41
- assert_raise(Phidgets::Error::NotAttached) {motor.set_acceleration 1, 58.9}
33
+ def test_get_min_current_limit
34
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_current_limit}
35
+ end
36
+
37
+ def test_get_max_current_limit
38
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_current_limit}
39
+ end
40
+
41
+ def test_get_current_regulator_gain
42
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.current_regulator_gain}
43
+ end
44
+
45
+ def test_set_current_regulator_gain
46
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.current_regulator_gain = 2.5}
47
+ end
48
+
49
+ def test_get_min_current_regulator_gain
50
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_current_regulator_gain}
42
51
  end
43
52
 
44
- def test_get_current
45
- motor = Phidgets::MotorControl.new
46
- assert_raise(Phidgets::Error::NotAttached) {motor.current 1}
53
+ def test_get_max_current_regulator_gain
54
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_current_regulator_gain}
47
55
  end
48
56
 
49
- def test_get_input_count
50
- motor = Phidgets::MotorControl.new
51
- assert_raise(Phidgets::Error::NotAttached) {motor.input_count}
57
+ def test_get_data_interval
58
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval}
52
59
  end
53
60
 
54
- def test_get_input_state
55
- motor = Phidgets::MotorControl.new
56
- assert_raise(Phidgets::Error::NotAttached) {motor.input_state 1}
61
+ def test_set_data_interval
62
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval = 2}
57
63
  end
58
64
 
59
- def test_get_encoder_count
60
- motor = Phidgets::MotorControl.new
61
- assert_raise(Phidgets::Error::NotAttached) {motor.encoder_count}
65
+ def test_get_min_data_interval
66
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_data_interval}
62
67
  end
63
68
 
64
- def test_get_encoder_position
65
- motor = Phidgets::MotorControl.new
66
- assert_raise(Phidgets::Error::NotAttached) {motor.encoder_position 1}
69
+ def test_get_max_data_interval
70
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_data_interval}
67
71
  end
68
72
 
69
- def test_set_encoder_position
70
- motor = Phidgets::MotorControl.new
71
- assert_raise(Phidgets::Error::NotAttached) {motor.set_encoder_position 1, 1500}
73
+ def test_get_dead_band
74
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.dead_band}
72
75
  end
73
76
 
74
- def test_get_back_emf
75
- motor = Phidgets::MotorControl.new
76
- assert_raise(Phidgets::Error::NotAttached) {motor.back_emf 1}
77
+ def test_set_dead_band
78
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.dead_band = 2.5}
77
79
  end
78
80
 
79
- def test_get_back_emf_sensing_state
80
- motor = Phidgets::MotorControl.new
81
- assert_raise(Phidgets::Error::NotAttached) {motor.back_emf_sensing_state 1}
81
+ def test_get_duty_cycle
82
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.duty_cycle}
82
83
  end
83
84
 
84
- def test_set_back_emf_sensing_state
85
- motor = Phidgets::MotorControl.new
86
- assert_raise(Phidgets::Error::NotAttached) {motor.set_back_emf_sensing_state 1, true}
85
+ def test_get_engaged
86
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.engaged?}
87
87
  end
88
88
 
89
- def test_get_supply_voltage
90
- motor = Phidgets::MotorControl.new
91
- assert_raise(Phidgets::Error::NotAttached) {motor.supply_voltage}
89
+ def test_set_engaged
90
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.engaged = true}
92
91
  end
93
92
 
94
- def test_get_braking
95
- motor = Phidgets::MotorControl.new
96
- assert_raise(Phidgets::Error::NotAttached) {motor.braking 1}
93
+ def test_get_fan_mode
94
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.fan_mode}
97
95
  end
98
96
 
99
- def test_set_braking
100
- motor = Phidgets::MotorControl.new
101
- assert_raise(Phidgets::Error::NotAttached) {motor.set_braking 1, 34.5}
97
+ def test_set_fan_mode
98
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.fan_mode = Phidgets::FAN_MODE_AUTO}
102
99
  end
103
100
 
104
- def test_get_sensor_count
105
- motor = Phidgets::MotorControl.new
106
- assert_raise(Phidgets::Error::NotAttached) {motor.sensor_count}
101
+ def test_get_io_mode
102
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.io_mode}
107
103
  end
108
104
 
109
- def test_get_sensor_value
110
- motor = Phidgets::MotorControl.new
111
- assert_raise(Phidgets::Error::NotAttached) {motor.sensor_value 1}
105
+ def test_set_io_mode
106
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.io_mode = Phidgets::Encoder::IO_MODE_LINE_DRIVER_10K}
112
107
  end
113
108
 
114
- def test_get_sensor_raw_value
115
- motor = Phidgets::MotorControl.new
116
- assert_raise(Phidgets::Error::NotAttached) {motor.sensor_raw_value 1}
109
+ def test_get_kd
110
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.kd}
117
111
  end
118
112
 
119
- def test_get_ratiometric
120
- motor = Phidgets::MotorControl.new
121
- assert_raise(Phidgets::Error::NotAttached) {motor.ratiometric?}
113
+ def test_set_kd
114
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.kd = 2.5}
122
115
  end
123
116
 
124
- def test_set_ratiometric
125
- motor = Phidgets::MotorControl.new
126
- assert_raise(Phidgets::Error::NotAttached) {motor.ratiometric = true}
117
+ def test_get_ki
118
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.ki}
127
119
  end
128
120
 
129
- unless RUBY_VERSION < '1.9.0'
130
- def test_set_on_velocity_change
131
- motor = Phidgets::MotorControl.new
132
- assert_nothing_raised {motor.on_velocity_change {puts 'hello'}}
133
- end
121
+ def test_set_ki
122
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.ki = 2.5}
123
+ end
124
+
125
+ def test_get_kp
126
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.kp}
127
+ end
128
+
129
+ def test_set_kp
130
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.kp = 2.5}
131
+ end
132
+
133
+ def test_get_position
134
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.position}
135
+ end
134
136
 
135
- def test_set_on_current_change
136
- motor = Phidgets::MotorControl.new
137
- assert_nothing_raised {motor.on_current_change {puts 'hello'}}
138
- end
137
+ def test_get_min_position
138
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_position}
139
+ end
139
140
 
140
- def test_set_on_current_update
141
- motor = Phidgets::MotorControl.new
142
- assert_nothing_raised {motor.on_current_update {puts 'hello'}}
143
- end
141
+ def test_get_max_position
142
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_position}
143
+ end
144
144
 
145
- def test_set_on_input_change
146
- motor = Phidgets::MotorControl.new
147
- assert_nothing_raised {motor.on_input_change {puts 'hello'}}
148
- end
145
+ def test_add_position_offset
146
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.add_position_offset(5.2)}
147
+ end
149
148
 
150
- def test_set_on_encoder_position_change
151
- motor = Phidgets::MotorControl.new
152
- assert_nothing_raised {motor.on_encoder_position_change {puts 'hello'}}
153
- end
149
+ def test_get_rescale_factor
150
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.rescale_factor}
151
+ end
154
152
 
155
- def test_set_on_encoder_position_update
156
- motor = Phidgets::MotorControl.new
157
- assert_nothing_raised {motor.on_encoder_position_update {puts 'hello'}}
158
- end
153
+ def test_set_rescale_factor
154
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.rescale_factor = 2.5}
155
+ end
159
156
 
160
- def test_set_on_back_emf_update
161
- motor = Phidgets::MotorControl.new
162
- assert_nothing_raised {motor.on_back_emf_update {puts 'hello'}}
163
- end
157
+ def test_get_stall_velocity
158
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.stall_velocity}
159
+ end
160
+
161
+ def test_set_stall_velocity
162
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.stall_velocity = 33.5}
163
+ end
164
+
165
+ def test_get_min_stall_velocity
166
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_stall_velocity}
167
+ end
168
+
169
+ def test_get_max_stall_velocity
170
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_stall_velocity}
171
+ end
172
+
173
+ def test_get_target_position
174
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.target_position}
175
+ end
176
+
177
+ def test_set_target_position
178
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.target_position = 2.5}
179
+ end
180
+
181
+ def test_set_target_position_async
182
+ assert_nothing_raised {@phidget.set_target_position_async(3.3) {puts 'target_position_set'}}
183
+ end
184
+
185
+ def test_get_velocity_limit
186
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.velocity_limit}
187
+ end
188
+
189
+ def test_set_velocity_limit
190
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.velocity_limit = 2.5}
191
+ end
192
+
193
+ def test_get_min_velocity_limit
194
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_velocity_limit}
195
+ end
196
+
197
+ def test_get_max_velocity_limit
198
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_velocity_limit}
199
+ end
200
+
201
+ def test_set_on_duty_cycle_update
202
+ assert_nothing_raised {@phidget.on_duty_cycle_update {puts 'duty_cycle_updated'}}
203
+ end
164
204
 
165
- def test_set_on_sensor_update
166
- motor = Phidgets::MotorControl.new
167
- assert_nothing_raised {motor.on_sensor_update {puts 'hello'}}
168
- end
205
+ def test_set_on_position_change
206
+ assert_nothing_raised {@phidget.on_position_change {puts 'position_changed'}}
169
207
  end
170
208
 
171
209
  end