class Syskit::Robot::SlaveDeviceInstance
A SlaveDeviceInstance represents slave devices, i.e. data services that are provided by other devices. For instance, a camera image from a stereocamera device.
Attributes
master_device[R]
The MasterDeviceInstance that we depend on
service[R]
The actual service on #master_device's task model
Public Class Methods
new(master_device, service)
click to toggle source
# File lib/syskit/robot/slave_device_instance.rb, line 43 def initialize(master_device, service) @master_device = master_device @service = service end
Public Instance Methods
==(other)
click to toggle source
# File lib/syskit/robot/slave_device_instance.rb, line 84 def ==(other) other.kind_of?(SlaveDeviceInstance) && other.master_device == master_device && other.name == name end
burst(*args)
click to toggle source
Calls superclass method
# File lib/syskit/robot/slave_device_instance.rb, line 64 def burst(*args) if args.empty? super || master_device.burst else super end end
device_model()
click to toggle source
# File lib/syskit/robot/slave_device_instance.rb, line 24 def device_model service.model end
each_fullfilled_model(&block)
click to toggle source
# File lib/syskit/robot/slave_device_instance.rb, line 12 def each_fullfilled_model(&block) service.model.each_fullfilled_model(&block) end
full_name()
click to toggle source
# File lib/syskit/robot/slave_device_instance.rb, line 34 def full_name "#{master_device.name}.#{name}" end
name()
click to toggle source
The slave name. It is the same name than the corresponding service on the task model
# File lib/syskit/robot/slave_device_instance.rb, line 30 def name service.name end
period(*args)
click to toggle source
Calls superclass method
# File lib/syskit/robot/slave_device_instance.rb, line 50 def period(*args) if args.empty? super || master_device.period else super end end
robot()
click to toggle source
# File lib/syskit/robot/slave_device_instance.rb, line 16 def robot master_device.robot end
sample_size(*args)
click to toggle source
Calls superclass method
# File lib/syskit/robot/slave_device_instance.rb, line 57 def sample_size(*args) if args.empty? super || master_device.sample_size else super end end
short_name()
click to toggle source
Defined to be consistent with task and data service models
# File lib/syskit/robot/slave_device_instance.rb, line 39 def short_name "#{name}[#{service.model.short_name}]" end
task()
click to toggle source
# File lib/syskit/robot/slave_device_instance.rb, line 48 def task; master_device.task end
task_model()
click to toggle source
# File lib/syskit/robot/slave_device_instance.rb, line 20 def task_model master_device.task_model end
to_instance_requirements()
click to toggle source
Returns the InstanceRequirements object that can be used to represent this device
# File lib/syskit/robot/slave_device_instance.rb, line 74 def to_instance_requirements req = master_device.to_instance_requirements req.select_service(service) req end
to_s()
click to toggle source
# File lib/syskit/robot/slave_device_instance.rb, line 80 def to_s "device(#{device_model.short_name}, :as => #{full_name}).#{name}_srv" end