Class: Syskit::Robot::SlaveDeviceInstance
Overview
A SlaveDeviceInstance represents slave devices, i.e. data services that are
provided by other devices. For instance, a camera image from a stereocamera
device.
Instance Attribute Summary collapse
Instance Method Summary
collapse
#doc, #instanciate, #to_action
Constructor Details
Returns a new instance of SlaveDeviceInstance
43
44
45
46
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 43
def initialize(master_device, service)
@master_device = master_device
@service = service
end
|
Instance Attribute Details
#master_device ⇒ Object
The MasterDeviceInstance that we depend on
8
9
10
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 8
def master_device
@master_device
end
|
The actual service on master_device's task model
10
11
12
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 10
def service
@service
end
|
Instance Method Details
#==(other) ⇒ Object
84
85
86
87
88
|
# 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) ⇒ Object
64
65
66
67
68
69
70
|
# 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 ⇒ Object
24
25
26
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 24
def device_model
service.model
end
|
#each_fullfilled_model(&block) ⇒ Object
12
13
14
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 12
def each_fullfilled_model(&block)
service.model.each_fullfilled_model(&block)
end
|
#full_name ⇒ Object
34
35
36
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 34
def full_name
"#{master_device.name}.#{name}"
end
|
The slave name. It is the same name than the corresponding service on the
task model
30
31
32
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 30
def name
service.name
end
|
#period(*args) ⇒ Object
50
51
52
53
54
55
56
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 50
def period(*args)
if args.empty?
super || master_device.period
else
super
end
end
|
16
17
18
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 16
def robot
master_device.robot
end
|
#sample_size(*args) ⇒ Object
57
58
59
60
61
62
63
|
# 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 ⇒ Object
Defined to be consistent with task and data service models
39
40
41
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 39
def short_name
"#{name}[#{service.model.short_name}]"
end
|
48
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 48
def task; master_device.task end
|
#task_model ⇒ Object
20
21
22
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 20
def task_model
master_device.task_model
end
|
#to_instance_requirements ⇒ Object
Returns the InstanceRequirements object that can be used to represent this
device
74
75
76
77
78
|
# 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
|
80
81
82
|
# File 'lib/syskit/robot/slave_device_instance.rb', line 80
def to_s
"device(#{device_model.short_name}, :as => #{full_name}).#{name}_srv"
end
|