phidgets 0.1.3 → 1.0.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.
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,33 @@
1
+
2
+
3
+ module Phidgets
4
+ class DistanceSensor < Common
5
+
6
+ # call-seq:
7
+ # setOnDistanceChangeHandler(proc=nil, &block)
8
+ #
9
+ # Assigns a handler that will be called when the DistanceChange event occurs.
10
+ #
11
+ def setOnDistanceChangeHandler(cb_proc = nil, &cb_block)
12
+ @on_distance_change_thread.kill if defined? @on_distance_change_thread and @on_distance_change_thread.alive?
13
+ callback = cb_proc || cb_block
14
+ @on_distance_change_thread = Thread.new {ext_setOnDistanceChangeHandler(callback)}
15
+ end
16
+
17
+ # call-seq:
18
+ # setOnSonarReflectionsUpdateHandler(proc=nil, &block)
19
+ #
20
+ # Assigns a handler that will be called when the SonarReflectionsUpdate event occurs.
21
+ #
22
+ def setOnSonarReflectionsUpdateHandler(cb_proc = nil, &cb_block)
23
+ @on_reflections_update_thread.kill if defined? @on_reflections_update_thread and @on_reflections_update_thread.alive?
24
+ callback = cb_proc || cb_block
25
+ @on_reflections_update_thread = Thread.new {ext_setOnSonarReflectionsUpdateHandler(callback)}
26
+ end
27
+
28
+ alias :on_distance_change :setOnDistanceChangeHandler
29
+ alias :on_sonar_reflections_update :setOnSonarReflectionsUpdateHandler
30
+
31
+ end
32
+ end
33
+
@@ -3,46 +3,18 @@
3
3
  module Phidgets
4
4
  class Encoder < Common
5
5
 
6
- unless RUBY_VERSION < '1.9.0'
7
-
8
- # call-seq:
9
- # setOnInputChangeHandler(proc=nil, &block)
10
- #
11
- # Sets an input change handler. This is called when a digital input changes.
12
- #
13
- def setOnInputChangeHandler(cb_proc = nil, &cb_block)
14
- @on_input_change_thread.kill if defined? @on_input_change_thread
15
- callback = cb_proc || cb_block
16
- @on_input_change_thread = Thread.new {ext_setOnInputChangeHandler(callback)}
17
- end
18
-
19
6
  # call-seq:
20
7
  # setOnPositionChangeHandler(proc=nil, &block)
21
8
  #
22
9
  # Sets an encoder position change handler. This is called when an encoder position changes.
23
10
  #
24
11
  def setOnPositionChangeHandler(cb_proc = nil, &cb_block)
25
- @on_position_change_thread.kill if defined? @on_position_change_thread
12
+ @on_position_change_thread.kill if defined? @on_position_change_thread and @on_position_change_thread.alive?
26
13
  callback = cb_proc || cb_block
27
14
  @on_position_change_thread = Thread.new {ext_setOnPositionChangeHandler(callback)}
28
15
  end
29
16
 
30
- # call-seq:
31
- # setOnIndexHandler(proc=nil, &block)
32
- #
33
- # Sets an encoder index handler. This is called when there is a pulse on the index pin.
34
- #
35
- def setOnIndexHandler(cb_proc = nil, &cb_block)
36
- @on_index_thread.kill if defined? @on_index_thread
37
- callback = cb_proc || cb_block
38
- @on_index_thread = Thread.new {ext_setOnIndexHandler(callback)}
39
- end
40
-
41
- alias :on_input_change :setOnInputChangeHandler
42
17
  alias :on_position_change :setOnPositionChangeHandler
43
- alias :on_index :setOnIndexHandler
44
-
45
- end
46
18
 
47
19
  end
48
20
  end
@@ -3,23 +3,32 @@
3
3
  module Phidgets
4
4
  class FrequencyCounter < Common
5
5
 
6
- unless RUBY_VERSION < '1.9.0'
7
-
8
- # call-seq:
9
- # setOnCountHandler(proc=nil, &block)
10
- #
11
- # Sets a count event handler. This is called when ticks have been counted on an input, or when the timeout has passed.
12
- #
13
- def setOnCountHandler(cb_proc = nil, &cb_block)
14
- @on_count_thread.kill if defined? @on_count_thread
15
- callback = cb_proc || cb_block
16
- @on_count_thread = Thread.new {ext_setOnCountHandler(callback)}
17
- end
18
-
19
- alias :on_count :setOnCountHandler
6
+ # call-seq:
7
+ # setOnCountChangeHandler(proc=nil, &block)
8
+ #
9
+ # Assigns a handler that will be called when the CountChange event occurs.
10
+ #
11
+ def setOnCountChangeHandler(cb_proc = nil, &cb_block)
12
+ @on_count_change_thread.kill if defined? @on_count_change_thread and @on_count_change_thread.alive?
13
+ callback = cb_proc || cb_block
14
+ @on_count_change_thread = Thread.new {ext_setOnCountChangeHandler(callback)}
15
+ end
20
16
 
17
+ alias :on_count_change :setOnCountChangeHandler
18
+
19
+ # call-seq:
20
+ # setOnFrequencyChangeHandler(proc=nil, &block)
21
+ #
22
+ # Assigns a handler that will be called when the CountChange event occurs.
23
+ #
24
+ def setOnFrequencyChangeHandler(cb_proc = nil, &cb_block)
25
+ @on_frequency_change_thread.kill if defined? @on_frequency_change_thread and @on_frequency_change_thread.alive?
26
+ callback = cb_proc || cb_block
27
+ @on_frequency_change_thread = Thread.new {ext_setOnFrequencyChangeHandler(callback)}
21
28
  end
22
29
 
30
+ alias :on_frequency_change :setOnFrequencyChangeHandler
31
+
23
32
  end
24
33
  end
25
34
 
@@ -3,35 +3,43 @@
3
3
  module Phidgets
4
4
  class GPS < Common
5
5
 
6
- unless RUBY_VERSION < '1.9.0'
7
-
8
- # call-seq:
9
- # setOnPositionChangeHandler(proc=nil, &block)
10
- #
11
- # Sets a position change event handler. This is called when any of latitude, longitude, or altitude change.
12
- #
13
- def setOnPositionChangeHandler(cb_proc = nil, &cb_block)
14
- @on_position_change_thread.kill if defined? @on_position_change_thread
15
- callback = cb_proc || cb_block
16
- @on_position_change_thread = Thread.new {ext_setOnPositionChangeHandler(callback)}
17
- end
18
-
19
- # call-seq:
20
- # setOnPositionFixStatusChangeHandler(proc=nil, &block)
21
- #
22
- # Sets a position fix status change event handler. This is called when a position fix is aquired or lost.
23
- #
24
- def setOnPositionFixStatusChangeHandler(cb_proc = nil, &cb_block)
25
- @on_position_fix_status_change_thread.kill if defined? @on_position_fix_status_change_thread
26
- callback = cb_proc || cb_block
27
- @on_position_fix_status_change_thread = Thread.new {ext_setOnPositionFixStatusChangeHandler(callback)}
28
- end
29
-
30
- alias :on_position_change :setOnPositionChangeHandler
31
- alias :on_position_fix_status_change :setOnPositionFixStatusChangeHandler
6
+ # call-seq:
7
+ # setOnHeadingChangeHandler(proc=nil, &block)
8
+ #
9
+ # Assigns a handler that will be called when the HeadingChange event occurs.
10
+ #
11
+ def setOnHeadingChangeHandler(cb_proc = nil, &cb_block)
12
+ @on_heading_change_thread.kill if defined? @on_heading_change_thread and @on_heading_change_thread.alive?
13
+ callback = cb_proc || cb_block
14
+ @on_heading_change_thread = Thread.new {ext_setOnHeadingChangeHandler(callback)}
15
+ end
16
+
17
+ # call-seq:
18
+ # setOnPositionChangeHandler(proc=nil, &block)
19
+ #
20
+ # Assigns a handler that will be called when the PositionChange event occurs.
21
+ #
22
+ def setOnPositionChangeHandler(cb_proc = nil, &cb_block)
23
+ @on_position_change_thread.kill if defined? @on_position_change_thread and @on_position_change_thread.alive?
24
+ callback = cb_proc || cb_block
25
+ @on_position_change_thread = Thread.new {ext_setOnPositionChangeHandler(callback)}
26
+ end
32
27
 
28
+ # call-seq:
29
+ # setOnPositionFixStateChangeHandler(proc=nil, &block)
30
+ #
31
+ # Assigns a handler that will be called when the PositionFixStateChange event occurs.
32
+ #
33
+ def setOnPositionFixStateChangeHandler(cb_proc = nil, &cb_block)
34
+ @on_position_fix_state_change_thread.kill if defined? @on_position_fix_state_change_thread and @on_position_fix_state_change_thread.alive?
35
+ callback = cb_proc || cb_block
36
+ @on_position_fix_state_change_thread = Thread.new {ext_setOnPositionFixStateChangeHandler(callback)}
33
37
  end
34
38
 
39
+ alias :on_heading_change :setOnHeadingChangeHandler
40
+ alias :on_position_change :setOnPositionChangeHandler
41
+ alias :on_position_fix_state_change :setOnPositionFixStateChangeHandler
42
+
35
43
  end
36
44
  end
37
45
 
@@ -0,0 +1,21 @@
1
+
2
+
3
+ module Phidgets
4
+ class Gyroscope < Common
5
+
6
+ # call-seq:
7
+ # setOnAngularRateUpdateHandler(proc=nil, &block)
8
+ #
9
+ # Assigns a handler that will be called when the AngularRateUpdate event occurs.
10
+ #
11
+ def setOnAngularRateUpdateHandler(cb_proc = nil, &cb_block)
12
+ @on_angular_rate_update_thread.kill if defined? @on_angular_rate_update_thread and @on_angular_rate_update_thread.alive?
13
+ callback = cb_proc || cb_block
14
+ @on_angular_rate_update_thread = Thread.new {ext_setOnAngularRateUpdateHandler(callback)}
15
+ end
16
+
17
+ alias :on_angular_rate_update :setOnAngularRateUpdateHandler
18
+
19
+ end
20
+ end
21
+
@@ -0,0 +1,21 @@
1
+
2
+
3
+ module Phidgets
4
+ class HumiditySensor < Common
5
+
6
+ # call-seq:
7
+ # setOnHumidityChangeHandler(proc=nil, &block)
8
+ #
9
+ # Assigns a handler that will be called when the HumidityChange event occurs.
10
+ #
11
+ def setOnHumidityChangeHandler(cb_proc = nil, &cb_block)
12
+ @on_humidity_change_thread.kill if defined? @on_humidity_change_thread and @on_humidity_change_thread.alive?
13
+ callback = cb_proc || cb_block
14
+ @on_humidity_change_thread = Thread.new {ext_setOnHumidityChangeHandler(callback)}
15
+ end
16
+
17
+ alias :on_humidity_change :setOnHumidityChangeHandler
18
+
19
+ end
20
+ end
21
+
@@ -3,48 +3,43 @@
3
3
  module Phidgets
4
4
  class IR < Common
5
5
 
6
- unless RUBY_VERSION < '1.9.0'
7
-
8
- # call-seq:
9
- # setOnCodeHandler(proc=nil, &block)
10
- #
11
- # Set a Code handler. This is called when a code has been received that could be
12
- # automatically decoded.
13
- #
14
- def setOnCodeHandler(cb_proc = nil, &cb_block)
15
- @on_code_thread.kill if defined? @on_code_thread
16
- callback = cb_proc || cb_block
17
- @on_code_thread = Thread.new {ext_setOnCodeHandler(callback)}
18
- end
19
-
20
- # call-seq:
21
- # setOnLearnHandler(proc=nil, &block)
22
- #
23
- # Set a Learn handler. This is called when a code has been received for long enough to be learned.
24
- #
25
- def setOnLearnHandler(cb_proc = nil, &cb_block)
26
- @on_learn_thread.kill if defined? @on_learn_thread
27
- callback = cb_proc || cb_block
28
- @on_learn_thread = Thread.new {ext_setOnLearnHandler(callback)}
29
- end
30
-
31
- # call-seq:
32
- # setOnRawDataHandler(proc=nil, &block)
33
- #
34
- # Set a Raw Data handler. This is called when raw data has been read from the device.
35
- #
36
- def setOnRawDataHandler(cb_proc = nil, &cb_block)
37
- @on_raw_data_thread.kill if defined? @on_raw_data_thread
38
- callback = cb_proc || cb_block
39
- @on_raw_data_thread = Thread.new {ext_setOnRawDataHandler(callback)}
40
- end
41
-
42
- alias :on_code :setOnCodeHandler
43
- alias :on_learn :setOnLearnHandler
44
- alias :on_raw_data :setOnRawDataHandler
6
+ # call-seq:
7
+ # setOnCodeHandler(proc=nil, &block)
8
+ #
9
+ # Assigns a handler that will be called when the Code event occurs.
10
+ #
11
+ def setOnCodeHandler(cb_proc = nil, &cb_block)
12
+ @on_code_thread.kill if defined? @on_code_thread and @on_code_thread.alive?
13
+ callback = cb_proc || cb_block
14
+ @on_code_thread = Thread.new {ext_setOnCodeHandler(callback)}
15
+ end
16
+
17
+ # call-seq:
18
+ # setOnLearnHandler(proc=nil, &block)
19
+ #
20
+ # Assigns a handler that will be called when the Learn event occurs.
21
+ #
22
+ def setOnLearnHandler(cb_proc = nil, &cb_block)
23
+ @on_learn_thread.kill if defined? @on_learn_thread and @on_learn_thread.alive?
24
+ callback = cb_proc || cb_block
25
+ @on_learn_thread = Thread.new {ext_setOnLearnHandler(callback)}
26
+ end
45
27
 
28
+ # call-seq:
29
+ # setOnRawDataHandler(proc=nil, &block)
30
+ #
31
+ # Assigns a handler that will be called when the RawData event occurs.
32
+ #
33
+ def setOnRawDataHandler(cb_proc = nil, &cb_block)
34
+ @on_raw_data_thread.kill if defined? @on_raw_data_thread and @on_raw_data_thread.alive?
35
+ callback = cb_proc || cb_block
36
+ @on_raw_data_thread = Thread.new {ext_setOnRawDataHandler(callback)}
46
37
  end
47
38
 
39
+ alias :on_code :setOnCodeHandler
40
+ alias :on_learn :setOnLearnHandler
41
+ alias :on_raw_data :setOnRawDataHandler
42
+
48
43
  end
49
44
  end
50
45
 
@@ -0,0 +1,21 @@
1
+
2
+
3
+ module Phidgets
4
+ class LightSensor < Common
5
+
6
+ # call-seq:
7
+ # setOnIlluminanceChangeHandler(proc=nil, &block)
8
+ #
9
+ # Assigns a handler that will be called when the IlluminanceChange event occurs.
10
+ #
11
+ def setOnIlluminanceChangeHandler(cb_proc = nil, &cb_block)
12
+ @on_illuminance_change_thread.kill if defined? @on_illuminance_change_thread and @on_illuminance_change_thread.alive?
13
+ callback = cb_proc || cb_block
14
+ @on_illuminance_change_thread = Thread.new {ext_setOnIlluminanceChangeHandler(callback)}
15
+ end
16
+
17
+ alias :on_illuminance_change :setOnIlluminanceChangeHandler
18
+
19
+ end
20
+ end
21
+
@@ -0,0 +1,21 @@
1
+
2
+
3
+ module Phidgets
4
+ class Magnetometer < Common
5
+
6
+ # call-seq:
7
+ # setOnMagneticFieldChangeHandler(proc=nil, &block)
8
+ #
9
+ # Assigns a handler that will be called when the MagneticFieldChange event occurs.
10
+ #
11
+ def setOnMagneticFieldChangeHandler(cb_proc = nil, &cb_block)
12
+ @on_magnetic_field_change_thread.kill if defined? @on_magnetic_field_change_thread and @on_magnetic_field_change_thread.alive?
13
+ callback = cb_proc || cb_block
14
+ @on_magnetic_field_change_thread = Thread.new {ext_setOnMagneticFieldChangeHandler(callback)}
15
+ end
16
+
17
+ alias :on_magnetic_field_change :setOnMagneticFieldChangeHandler
18
+
19
+ end
20
+ end
21
+
@@ -3,78 +3,30 @@ module Phidgets
3
3
  class Manager
4
4
 
5
5
  # call-seq:
6
- # open(args)
6
+ # setOnAttachHandler(proc=nil, &block)
7
7
  #
8
- # Opens a Manager. Will attempt to make the correct open call (open, openRemote, openRemoteIP) based
9
- # on the arguments passed in. Args is a hash and the following keys may be used:
10
- # :server_id, :address, :port, :password.
8
+ # Assigns a handler that will be called when the Attach event occurs.
11
9
  #
12
- def open(args={})
13
- if args.key? :server_id
14
- open_remote(args[:server_id], args[:password])
15
- elsif args.key? :address
16
- open_remote_ip(args[:address], args[:port], args[:password])
17
- else
18
- ext_open
19
- end
10
+ def setOnAttachHandler(cb_proc = nil, &cb_block)
11
+ @on_attach_thread.kill if defined? @on_attach_thread and @on_attach_thread.alive?
12
+ callback = cb_proc || cb_block
13
+ @on_attach_thread = Thread.new {ext_setOnAttachHandler(callback)}
20
14
  end
21
15
 
22
-
23
- unless RUBY_VERSION < '1.9.0'
24
-
25
- # call-seq:
26
- # setOnAttachHandler(proc=nil, &block)
27
- #
28
- # Sets an attach handler callback function. This is called when a Phidget is plugged into the system.
29
- #
30
- def setOnAttachHandler(cb_proc = nil, &cb_block)
31
- @on_attach_thread.kill if defined? @on_attach_thread
32
- callback = cb_proc || cb_block
33
- @on_attach_thread = Thread.new {ext_setOnAttachHandler(callback)}
34
- end
35
-
36
- # call-seq:
37
- # setOnDetachHandler(proc=nil, &block)
38
- #
39
- # Sets a detach handler callback function. This is called when a Phidget is unplugged from the system.
40
- #
41
- def setOnDetachHandler(cb_proc = nil, &cb_block)
42
- @on_detach_thread.kill if defined? @on_detach_thread
43
- callback = cb_proc || cb_block
44
- @on_detach_thread = Thread.new {ext_setOnDetachHandler(callback)}
45
- end
46
-
47
- # call-seq:
48
- # setOnServerConnectHandler(proc=nil, &block)
49
- #
50
- # Sets a server connect handler callback function. This is used for opening Phidget Managers remotely,
51
- # and is called when a connection to the sever has been made.
52
- #
53
- def setOnServerConnectHandler(cb_proc = nil, &cb_block)
54
- @on_server_connect_thread.kill if defined? @on_server_connect_thread
55
- callback = cb_proc || cb_block
56
- @on_server_connect_thread = Thread.new {ext_setOnServerConnectHandler(callback)}
57
- end
58
-
59
- # call-seq:
60
- # setOnServerDisconnectHandler(proc=nil, &block)
61
- #
62
- # Sets a server disconnect handler callback function. This is used for opening Phidget Managers remotely,
63
- # and is called when a connection to the server has been lost.
64
- #
65
- def setOnServerDisconnectHandler(cb_proc = nil, &cb_block)
66
- @on_server_disconnect_thread.kill if defined? @on_server_disconnect_thread
67
- callback = cb_proc || cb_block
68
- @on_server_disconnect_thread = Thread.new {ext_setOnServerDisconnectHandler(callback)}
69
- end
70
-
71
- alias :on_attach :setOnAttachHandler
72
- alias :on_detach :setOnDetachHandler
73
- alias :on_server_connect :setOnServerConnectHandler
74
- alias :on_server_disconnect :setOnServerDisconnectHandler
75
-
16
+ # call-seq:
17
+ # setOnDetachHandler(proc=nil, &block)
18
+ #
19
+ # Assigns a handler that will be called when the Detach event occurs.
20
+ #
21
+ def setOnDetachHandler(cb_proc = nil, &cb_block)
22
+ @on_detach_thread.kill if defined? @on_detach_thread and @on_detach_thread.alive?
23
+ callback = cb_proc || cb_block
24
+ @on_detach_thread = Thread.new {ext_setOnDetachHandler(callback)}
76
25
  end
77
26
 
27
+ alias :on_attach :setOnAttachHandler
28
+ alias :on_detach :setOnDetachHandler
29
+
78
30
  end
79
31
  end
80
32