Skip to content
Snippets Groups Projects
Commit e47e09fc authored by Jonathan Hanks's avatar Jonathan Hanks
Browse files

Merge branch 'bolster_dolphin_driver_control' into 'master'

Startup Sequencer: Make dolphin  drivers depend on dolphin port being active

See merge request cds/advligorts!264
parents 508c4d26 4d04dd5d
No related branches found
No related tags found
1 merge request!264Startup Sequencer: Make dolphin drivers depend on dolphin port being active
......@@ -38,6 +38,7 @@ Description=All models
targ_path = path.join(self.target_dir, targ_name)
services = ['dis_kosif.service', 'dis_ix.service', 'dis_irm.service', 'dis_sisci.service',
'dis_nodemgr.service']
with open(targ_path, "wt") as f:
f.write(gen_disclaimer)
f.write(f"""[Unit]
......@@ -46,6 +47,10 @@ Wants={" ".join(services)}""")
self.serialize_units(services)
self.bind_units(services)
for service in services:
self.part_of(service, targ_name)
return Process(targ_name, 'dis_nodemgr.service', 'dis_kosif.service',)
def epics_only_models(self, models):
......
......@@ -32,11 +32,19 @@ class Sequencer(object):
before_world = []
world = []
models = False
if self.options["HAS_DOLPHIN_PORT"] and self.options["IS_DOLPHIN_NODE"]:
before_world.append(self.processes.dolphin_port())
before_world.append(self.delay(15, "dolphin_port"))
if self.options["IS_DOLPHIN_NODE"]:
before_world.append(self.processes.dolphin_drivers())
dolphin_drivers = self.processes.dolphin_drivers()
if self.options["HAS_DOLPHIN_PORT"]:
dolphin_port = self.processes.dolphin_port()
# bind drivers to port control so that drivers automatically get disabled
# when port is closed
self.processes.binds_to(dolphin_drivers.first_service, dolphin_port.start)
before_world.append(dolphin_port)
before_world.append(self.delay(15, "dolphin_port"))
before_world.append(dolphin_drivers)
klog("dolphin drivers added")
before_world.append(self.delay(30, "startup"))
if self.options["HAS_EPICS_ONLY_MODELS"]:
world.append(self.processes.epics_only_models(self.options["EPICS_ONLY_MODELS"]))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment