Commit 05cfc785 authored by Jameson Rollins's avatar Jameson Rollins

system manager user code variable

This allows for specifying a "GRD_MANAGER" variable in the user code that
will be used to set the initial MANAGER record, with an initial MODE of
parent dde2d1fc
Pipeline #47245 passed with stages
in 37 seconds
......@@ -40,7 +40,7 @@ class Daemon(object):
def __init__(self, system, logger,
......@@ -98,7 +98,13 @@ class Daemon(object):
# set initial values
self['TIME_INIT'] = int(time.time())
self['OP'] = initial_op
self['MODE'] = initial_mode
if initial_mode is not None:
self['MODE'] = initial_mode
elif self.system.manager:
self['MANAGER'] = self.system.manager
self['MODE'] = 'MANAGED'
self['MODE'] = 'AUTO'
self['LOGLEVEL'] = self.default_loglevel
self['STATE'] = initial_state or 'INIT'
self['TARGET'] = self['STATE']
......@@ -128,6 +128,7 @@ class GuardSystem(object):
# reset parameters loaded from module
self._initial_request = None
self._nominal_state = None
self._manager = None
self._node_managers = {}
# don't recorgnize ca_prefix changes on reset
self._ca_monitor = False
......@@ -477,6 +478,12 @@ class GuardSystem(object):
self._nominal_state = None
# set manager
if hasattr(module, 'GRD_MANAGER'):
self._manager = module.GRD_MANAGER
self._manager = None
# add specified edges
if hasattr(module, 'edges'):
# verify states
......@@ -584,7 +591,7 @@ class GuardSystem(object):
def related_displays(self):
"""MEDM related displays.
"""User code specified MEDM related displays.
List of (label, name, args) string tuples.
......@@ -592,14 +599,19 @@ class GuardSystem(object):
def request(self):
"""Initial REQUEST state."""
"""User code specified REQUEST state."""
return self._initial_request
def nominal(self):
"""Initial NOMINAL state."""
"""User code specified NOMINAL state."""
return self._nominal_state
def manager(self):
"""User code specified MANAGER."""
return self._manager
def graph(self):
"""System state graph object."""
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment