Class: Phidgets::Servo
- Inherits:
-
Object
- Object
- Phidgets::Servo
- Includes:
- Common
- Defined in:
- lib/phidgets-ffi/servo.rb
Overview
This class represents a PhidgetServo.
Defined Under Namespace
Classes: ServoServos
Constant Summary collapse
- Klass =
Phidgets::FFI::CPhidgetServo
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
The attributes of a PhidgetServo.
-
#servos ⇒ ServoServos
readonly
Collection of servo motors.
Instance Method Summary collapse
-
#on_position_change(obj = nil, &block) ⇒ Boolean
Sets a position change handler callback function.
Methods included from Common
#attached?, #attached_to_server?, attributes, #close, #detached?, #detached_to_server?, device_class, #device_class, device_id, #id, #initialize, #label, #label=, #name, #on_attach, #on_detach, #on_error, #on_server_connect, #on_server_disconnect, #on_sleep, #on_wake, #serial_number, #server_address, server_address, #server_id, server_id, server_status, #type, #version, #wait_for_attachment
Instance Attribute Details
#attributes ⇒ Object (readonly)
The attributes of a PhidgetServo
16 17 18 |
# File 'lib/phidgets-ffi/servo.rb', line 16 def attributes @attributes end |
#servos ⇒ ServoServos (readonly)
Collection of servo motors
11 12 13 |
# File 'lib/phidgets-ffi/servo.rb', line 11 def servos @servos end |
Instance Method Details
#on_position_change(obj = nil, &block) ⇒ Boolean
Sets a position change handler callback function. This is called when a the servo position has changed.
As this runs in it’s own thread, be sure that all errors are properly handled or the thread will halt and not fire any more.
32 33 34 35 36 37 38 |
# File 'lib/phidgets-ffi/servo.rb', line 32 def on_position_change(obj=nil, &block) @on_position_change_obj = obj @on_position_change = Proc.new { |device, obj_ptr, index, position| yield self, @servos[index], position, object_for(obj_ptr) } Klass.set_OnPositionChange_Handler(@handle, @on_position_change, pointer_for(obj)) end |