Settings and Configurations - ISISComputingGroup/ibex_developers_manual GitHub Wiki

Wiki > The Backend System > Settings and Configurations

How is an instrument configured and what is stored in the settings directory.

The settings directory should be in c:\Instrument\Settings, it contains (each level is a directory):

Configurations directory

The configurations directory has the settings for the instrument in.

Files

It contains some files:

  • config_version.txt: configuration version
  • globals.txt: overriding definition of macros for IOCs
  • last_config.txt: last loaded config in IBEX
  • rc_setting.cmd: commands to load in runcontrol
  • banner.xml: customised displays and buttons for the GUI banner
  • custom_records.db: records specific to the instrument which are loaded by INSTETC
    • Pass macros through from globals.txt with CUSTOM_RECORD_MACROS="DSC_EUROTHRM=03,DSC_LKSH336=02"

User configuration

The user configuration is items we expect an instrument scientist to change using the GUI. These include the

DAE Configuration

Configuration files for the DAE.

  • tables: wiring, spectra and detector tables
  • tcb: tcb parameter files

Configuration of devices and extensions

These are directories which configure devices which would be too complicated for macro configuration. For example the Galil configuration with the need to setup the controller, homing routines etc. Historically this was named after a category of device, e.g. galil. This allow configuration of devices as a whole. They can also be named after an IOC which allow configuration of a single IOC, e.g SM300_01.

The extensions are items which extend an IOC for example a motion setpoints which allow a motor to stop at labelled positions. These are configured from the IOC configuration directory and may need optional extra configuration directories.

The pattern for both device configuration and extensions configuration is that the IOC loads a command file sitting in a directory if it is present.

Directories:

  • galil: configures the galil Galil and extensions
  • mclen: configures McLennan motors McLennan and extensions
  • sm300_01: configures the SM300_01 motor extensions
  • motionSetPoints: setpoint look up files
  • refl (for reflectometers only): contains a file config.py, which tells instruments using the Reflectometry IOC what their beamline looks like (follow the link for details)

Common extensions:

Version Control

The configuration directory is backed up into git. This is done by the Blockserver.

Each instrument stores the configurations in their own branch in this repository, these branches are named the same as the instrument machine.

The repository is stored in a local repository.

Special cases

Detmon has a special case for their configuration because they want to create configurations with the same info for multiple CAEN crates. The way this is created is [described on the ibex instrument page](in https://github.com/ISISComputingGroup/IBEX/wiki/DETMON-Instrument-Details#configuration-set-up).