hutch_python.load_conf.load_conf¶
- hutch_python.load_conf.load_conf(conf, hutch_dir=None, args=None)¶
Step through the object loading procedure, given a configuration.
The procedure is:
Check the configuration for errors
Display the banner by calling
hutch_bannerUse
hutchkey to createhutch.dbimportable namespace to stash the objects. This will be literallyhutch.dbif hutch is not provided, or the hutch name e.g.mfx.db.Evaluate the settings to determine which kind of daq object to create later.
Load debug tools
Load options
Set ophyd signal default timeouts
Create a
logsnamespace that allows the user to configure the logging settings.Create a
RunEngine,RECreate a
daqobject withREregistered.Import
plan_defaultsand includebp,bps, andbpp.Add a
renamespace of ready-to-run scan functions as a mirror ofbp. Graft all daq-integrated scans onto thedaqobject.Create a
scan_pvsobject, andenableit.Use
hutchanddaq_platformkeys to create theelogobject and configure it to match the correct experiment.Load the shared global devices for LCLS
Use
dbkey to load devices from thehappibeamline database and create ahutch_beampathobject fromlightpathCreate an
archiveobject for interfacing with the Archiver ApplianceUse
hutchkey to load detector objects from thecamviewerconfiguration file.Load some simulated hardware and place it in the
simnamespace.Use
experimentkey to select the current experimentIf
experimentwas missing, autoselect experiment usinghutchkey
Use current experiment to load experiment objects from questionnaire
Use
loadkey to bring up the user’sbeamlinemodulesUse current experiment to load experiment file
Create some default groups
Configure and load the position presets
Write the db.txt file to note what was loaded
If a conf key is missing, we’ll note it in a
logger.infomessage. If an extra conf entry is found, we’ll note it in alogger.warningmessage. If an automatically selected file is missing, we’ll note it in alogger.infomessage. All other errors will be noted in a logger.error message.- Parameters:
conf (dict) –
dictinterpretation of the original yaml filehutch_dir (
Pathorstr, optional) –Pathobject that points to the hutch’s launch directory. This is the directory that includes theexperimentsdirectory and a hutchname directory e.g.mfxIf this is missing, we’ll be unable to write thedb.txtfile, do relative filepath database selection forhappi, or establish a preset positions directory.args (argparse.Namespace, optional) – The namespace returned from the cli argument parsing, or None
- Returns:
objs – See the return value of
load- Return type:
dict{str: object}