fesa-confdisp

List configuration settings and event mappings for a set of instance files

Will evaluate configuration data from instance files from workspace as well as from front-end boot directory (production).

Introduction

FESA provides for a detailed configuration of device parameters. Especially, when a FESA class supports many device intances, this results in many configuration parameters. Intention of this tool is to display the setting of such parameters for the devices in a bunch of instance files.

The tool will evaluate instance files for a given deploy unit name. File evaluation may be limited to specific front-end nodes.

From the instance files, the value of selected configuration parameters or event mappings will be displayed for all contained devices. Configuration parameters in this context mean the sub-itmes of the tags <device-instance ... name="..." ...> , which are <configuration> , <setting> , <acquisition> and <events-mapping> . For demonstration, see section Examples.

Usage

usage: fesa-confdisp [-h] DEPLOY_UNIT
    [-d DIRECTORY] [-f FILE] [-n NODE] [-N ENVIRONMENT] [- p]
    [-e EVENT] [-r RTACTION] [-v VALUE] [-S XMLFILE] [-a]
    [-a] [-g] [-G] [-E] [-R] [-V]
    [-l] [-i] [--version]

    Names DEPLOY_UNIT, -n NODE, -v VALUE, -e EVENT may be abbreviated,
    e.g. instead of -v configuration.subset shortened paths like -v conf.subset,
    -v co.sub, -v c.s, ..., may be used
    For DEPLOY_UNIT and NODE wildcards (*, ?) are supported, because of
    shell-expansion use quotes (-n "scuxl02*")

    Neither options -p and -f given:
        Instance files are expected in
            <DIRECTORY>/<DEPLOY_UNIT>/src/test/<NODE>/
        where DIRECTORY (option -d) defaults to ./
        and NODE (option -n) defaults to * (all nodes)

        For additional information see FESA wiki,
            https://www-acc.gsi.de/wiki/FESA/FESA-Tools-config-display
    

display data from FESA instance files

positional arguments:
  DEPLOY                deploy unit

optional arguments:
  -h, --help            show this help message and exit
  -d DIRECTORY, --directory DIRECTORY        #db_nodes = ['scuxl0020', 'scuxl0025', 'scuxl0040', 'scuxl0049']
        #print db_nodes
        #sys.exit()

                        base Directory for file search
  -f FILE, --file FILE  read from File FILE
  -N DATABASE, --database DATABASE
                        only Nodes (FECs) from database, for DATABASE development/integration/production
  -n NODE, --node NODE  limit to front-end Node NODE (e.g. scuxl0815 or 815), multiple options possible
  -p, --production      search files in Production directory (/common/export/fesa/local/*)
  -l LISTITEM, --listitem LISTITEM
                        list KEYWORD (version, fesaversion)
  -e EVENT, --event EVENT
                        read Event mapping of EVENT for each device
  -r REALTIME, --realtime REALTIME
                        read iformation for real-time action for each device
  -v VALUE, --value VALUE
                        read configuration Value VALUE (e.g. configuration.subset) for each device
  -s STATUS, --status STATUS
                        output detailed status to XML file
  -a, --allmatching     in combination with -e / -r / -v: evaluate All entries which match to path
  -g, --globaldevices   evaluate also Global devices
  -G, --Globaldevices   evaluate only Global devices
  -E, --Events          list all Event configurations defined in instance file
  -V, --Values          list all device Value names, occuring in any device
  -R, --Realtime        list all real-time actions defined in design of fesa-class
  -i, --input           output compatible to Input of fesa-instance
  --version             show version and exit

Characteristics

XML Item Identification

Configuration parameters are specified in a tag-dot-tag notification. This means: In a structure as

<device-instance ... name="GTS3MU1" ...>
    <configuration>
        <powerSupplyType>
        ...

the node powerSupplyType will be addressed by -v configuration.powerSupplyType .

Value specifications by subitem, like <value>MILAEG</value> , and by item parameter, like <accelerator value="ESR"/> , are supported.

To ease specifications, only the head of the items names have to be given, as long as head of item is unique. As an example, -v configuration.powerSupplyType and -v conf.powerSupplyT are equivalent. Several items matching will result in an error message. Given the option -a (all matching items) will list the values of all matching items.

If a given name exactly matches, it is preferred. Given -v conf.refValue will find only configuration.refValue and will not find an additional configuration.refValueDim .

Instant-File Localisation ( -d <directory>, -f <filename>, -p )

The tool looks, as default, for instance files in the tree

./<deploy-unit>/src/test/<fe-node>/

This should accord to the common FESA workstructure structure. The base directory of the file search can be set by option -d (e.g. fesa-confdisp PowerSuppl -d ~/myworkspace )

Using option -p , instance files will be evaluated in the directory tree which is used by the front-end nodes (the SCU computer). Deploy unit names may be abbreviated. Given PowerSupply will evaluate all deploy-units PowerSupply*, while PowerSupplyEsr will evaluate PowerSupplyEsr_DU only.

Option *-f* <file name> will evaluate the given file only.

Wildcards are supported in names of deploy-units and names of front-end nodes (option -n). Because of shell expansion of wildcards, generally quoting is required when wildcards are used.

Limit to FE-Nodes ( -n <fe-node>, -N <environment> )

The search for files can be limited to special front-end nodes, using option *-n* <node> (multiple options possible):
option -n scuxl0037 -n scuxl0042 will evaluate only files for the listed SCUs

Option -n accepts also numbers. These are expanded to names scuxl<number>, eg. -n 37 is expanded to -n scuxl0037 .

The search for files can be limited to front-end nodes which are listed in the FESA database (front-ends listed in the DEVICES table of the FESA database) by option -N <environment>. Possible environments are development, integration and production. The environment name can be abbreviated.
-N int : evaluate only files for front-end nodes which are listed in the integration FESA database

Main Options

Configuraton Values ( -v <value path> )

The configuration value option displays configurations parameters. This means, for each device in the instance file, entries in the sections <configuration>, <acquisition> and <setting>.
fesa-confdisp PowerSupplyH -p -n scuxl0168 -v conf.acceleratorZo

0 /common/export/fesa/local/scuxl0168/PowerSupplyHebt_DU/PowerSupplyHebt_DU.instance
 GEITKX1    configuration.acceleratorZone value: ESR_RING           
 GEITKX1_H  configuration.acceleratorZone value: ESR_RING           
 GEITKX2    configuration.acceleratorZone value: ESR_RING           
 GEITKX2_H  configuration.acceleratorZone value: ESR_RING           
 GEITQT11   configuration.acceleratorZone value: ESR_RING           
 GEITQT12   configuration.acceleratorZone value: ESR_RING           
 GEITQT13   configuration.acceleratorZone value: ESR_RING           
 GTS2QT11   configuration.acceleratorZone value: GTS1DI4S_TO_GTS3MU1
 GTS2QT12   configuration.acceleratorZone value: GTS1DI4S_TO_GTS3MU1
 GTS2QT13   configuration.acceleratorZone value: GTS1DI4S_TO_GTS3MU1

fesa-confdisp PowerSupply -p -n scuxl0005 -n scuxl0006  -v set.inv 

0 /common/export/fesa/local/scuxl0005/PowerSupplyCry_DU/PowerSupplyCry_DU.instance
 YRT1LD51H  setting.inverter value: POS_INVERTER
 YRT1LD51V  setting.inverter value: NEG_INVERTER
 YRT1LD52H  setting.inverter value: NEG_INVERTER
 YRT1LD52V  setting.inverter value: POS_INVERTER

1 /common/export/fesa/local/scuxl0006/PowerSupplyCry_DU/PowerSupplyCry_DU.instance
 YR03BG0E   setting.inverter value: NO_INVERTER

Event Mapping ( -e <event name> )

The event mapping option (-e ) displays, for each device in the instance file, the mapping of the logical event, and a description of the event configuration.
fesa-confdisp PowerSupplyCry -p  -n scuxl0076 -e Volt

0 /common/export/fesa/local/scuxl0076/PowerSupplyCry_DU/PowerSupplyCry_DU.instance
 YR03BG3T   VoltageSetEvent setOnFgPrep     Timing hardware-event CMD_FG_PREP#512 offset= -100000  
 YR03BG4T   VoltageSetEvent setOnFgPrep     Timing hardware-event CMD_FG_PREP#512 offset= -100000  
 YR03BG5T   VoltageSetEvent setOnFgPrep     Timing hardware-event CMD_FG_PREP#512 offset= -100000  
 YR03BG6T   VoltageSetEvent setOnFgPrep     Timing hardware-event CMD_FG_PREP#512 offset= -100000  
 YR03BG7T   VoltageSetEvent setOnFgPrep     Timing hardware-event CMD_FG_PREP#512 offset= -100000  
 YR03BG7TL  VoltageSetEvent setOnSeqStart   Timing hardware-event CMD_SEQ_START#257 offset= 5000000



fesa-confdisp PowerSupplyCry -p -n scuxl0226 -e GapEnd 

0 /common/export/fesa/local/scuxl0226/PowerSupplyCry_DU/PowerSupplyCry_DU.instance
 GHTYKH4    GapEndEvent gapEndOnEventDelayed   Timing hardware-event CMD_GAP_END#259 offset= -16
 GHTYKV4    GapEndEvent gapEndOnEventDelayed   Timing hardware-event CMD_GAP_END#259 offset= -16
 YR03KH3G   GapEndEvent gapEndOnEvent          Timing hardware-event CMD_GAP_END#259            
 YR03KH5C   GapEndEvent gapEndOnEvent          Timing hardware-event CMD_GAP_END#259            
 YR03KV3G   GapEndEvent gapEndOnEvent          Timing hardware-event CMD_GAP_END#259            
 YR03KV5C   GapEndEvent gapEndOnEvent          Timing hardware-event CMD_GAP_END#259       

RT-Actions ( -r <RT-action> )

The RT-action option (-r <RT-action>) displays, for each device in the instance file, for the given RT-action, the logical event to which the action is linked. This link is extracted from the associated design file which is fetched from the FESA web server. The configuration of the logical event is extracted from the instance file, the same way as with option -e.
fesa-confdisp.py PowerSupplyC -p  -n scuxl0226  -r GapE

0 /common/export/fesa/local/scuxl0226/PowerSupplyCry_DU/PowerSupplyCry_DU.instance
PowerSupplyCry_DU on scuxl0226
 GHTYKH4    GapEndRt GapEndEvent gapEndOnEventDelayed Timing hardware-event CMD_GAP_END#259 offset= -16
 GHTYKV4    GapEndRt GapEndEvent gapEndOnEventDelayed Timing hardware-event CMD_GAP_END#259 offset= -16
 YR03KH3G   GapEndRt GapEndEvent gapEndOnEvent        Timing hardware-event CMD_GAP_END#259            
 YR03KH5C   GapEndRt GapEndEvent gapEndOnEvent        Timing hardware-event CMD_GAP_END#259            
 YR03KV3G   GapEndRt GapEndEvent gapEndOnEvent        Timing hardware-event CMD_GAP_END#259            
 YR03KV5C   GapEndRt GapEndEvent gapEndOnEvent        Timing hardware-event CMD_GAP_END#259            

Collect Setting Groups ( -M, -S )

Often, groups of devices use identical configuration settings. The tool fesa-confdisp provides for collecting such identical settings, over all instance files, for device event-mappings and for detailed status bits.

Collect Device Event-Mappings ( -M )

fesa-conf-disp PowerSupplySis -M

Collect Detailed Status ( -S )

fesa-confdisp PowerSupplySis -S <status-file>

The command will write all status bit definitions to a file with the name as given by <status-file> . The file lists status definitions, which are identical for several devices, only once This file can be used as input for the tool fesa-instance. The file contains, within comments, some settings which are specific for the FESA-Class PowerSupply. To use theses setings, the comments have to be removed with an editor.

Miscellaneous Options

Deploy Unit Definitions ( -E, -R, -V )

The utility fesa-confdisp provides for display of all defined item names in the deploy units. Use options as follows

-E : list all event mapping names
-R : list all real-time action names
-V : list all configuration variable names

The list all event mapping names option ( -E ) will list all event mapping names which are defined in the instance file. For each such mapping, the defined event configurations are shown.

fesa-confdisp -p -n 199 -E

0 /common/export/fesa/local/scuxl0199/PowerSupplyHebt_DU/PowerSupplyHebt_DU.instance
events-mapping for FESA-class PowerSupply
  evt-config: VoltageSetEvent
    setOnSeqStart: Timing
      hardware-event,  CMD_SEQ_START#257
    NONE: unused-event-configuration
    setOnDemand: OnDemand
      on-demand-event-source-ref,  VoltageSetEventSource
  evt-config: PowerSetEvent
    NONE: unused-event-configuration
    pse: OnDemand
      on-demand-event-source-ref,  PowerSetEventSource
  evt-config: AcquisitionTimerEvent
    NONE: unused-event-configuration
    ate: Timer
      timer-event,  period: 1000
    acqOnEvent: Timing
      hardware-event,  CMD_BP_START#256
  evt-config: StatusUpdateTimerEvent
    ste: Timer
      timer-event,  period: 5000
    NONE: unused-event-configuration
    statusOnEvent: Timing
      hardware-event,  CMD_GAP_START#258
  evt-config: StatusUpdateAlways
    statusUpdateAlwaysOnTimer: Timer
      timer-event,  period: 5000
    NONE: unused-event-configuration
  evt-config: InitSetEvent
    NONE: unused-event-configuration
    ise: OnDemand
      on-demand-event-source-ref,  InitSetEventSource
  evt-config: ResetSetEvent
    rse: OnDemand
      on-demand-event-source-ref,  ResetSetEventSource
    NONE: unused-event-configuration
  evt-config: DCValueSetEvent
    NONE: unused-event-configuration
    DCValueOnDemand: OnDemand
      on-demand-event-source-ref,  DCValueSetEventSource
  evt-config: DCModeSetEvent
    NONE: unused-event-configuration
    DCModeOnDemand: OnDemand
      on-demand-event-source-ref,  DCModeSetEventSource
  evt-config: GapStartEvent
    NONE: unused-event-configuration
    gapStartOnEvent: Timing
      hardware-event,  CMD_GAP_START#258
  evt-config: GapEndEvent
    gapEndOnEvent: Timing
      hardware-event,  CMD_GAP_END#259
    NONE: unused-event-configuration
  evt-config: readoutDAQEvent
    NONE: unused-event-configuration
  evt-config: contextTrackerEvent
    NONE: unused-event-configuration

The list all real-time action names option ( -R ) will list all real-time actions which are defined in the associated design file (fetched from the FESA web server). For each real-time action, the logical event to trigger the action is displayed.

fesa-confdisp -p -n 199 -R

0 /common/export/fesa/local/scuxl0199/PowerSupplyHebt_DU/PowerSupplyHebt_DU.instance
PowerSupplyHebt_DU on scuxl0199
PowerSupply
  evaluating PowerSupply.1.26.0/PowerSupply.1.26.0.design
   GapStartRt ->         GapStartEvent              
   UpdateDAQClientsRt -> updateStreamingClientsEvent
   ContextTrackerRt ->   contextTrackerEvent        
   TriggerRcvdRt ->      TriggerRcvdEvent           
   ConnectSetRt ->       ConnectSetEvent            
   ResetSetRt ->         ResetSetEvent              
   InitSetRt ->          InitSetEvent               
   GapEndRt ->           GapEndEvent                
   InverterSetRt ->      InverterSetEvent           
   StatusUpdateRt ->     StatusUpdateAlways         
   ReadoutDAQRt ->       readoutDAQEvent            
   DCModeSetRt ->        DCModeSetEvent             
   DCValueSetRt ->       DCValueSetEvent            
   PowerSetRt ->         PowerSetEvent              
   VoltageSetRt ->       VoltageSetEvent            
   AcquisitionRt ->      AcquisitionTimerEvent    

The list all configuration variable names option ( -V ): will display all entry-names in the <configuration>, <acquisition> and <setting> subsection of the <device-instance> entry of the instance file.

fesa-confdisp -p -n 199 -V

0 /common/export/fesa/local/scuxl0199/PowerSupplyHebt_DU/PowerSupplyHebt_DU.instance
PowerSupply
  configuration.accelerator
  configuration.acceleratorZone
  configuration.acceptFilledSelectors
  configuration.acqValue
  configuration.busType
  configuration.cycleBound
  configuration.daqBufferSize
  configuration.daqEnabled
  configuration.description
  configuration.detailedStatus_MfuBitMapping
  configuration.detailedStatus_labels
  configuration.detailedStatus_severity
  configuration.deviationCheckConfig
  configuration.hasInverter
  configuration.mainMuxCriterion
  configuration.moduleStatus_labels
  configuration.powerSupplyNumber
  configuration.powerSupplyType
  configuration.refValue
  configuration.refValueDim
  configuration.runtimeEnvOk_labels
  configuration.specialConfig
  configuration.subset
  configuration.timingDomain
  acquisition.acqDCValueDataArray
  acquisition.acqDCValueRefDataArray
  acquisition.acqDataArray
  acquisition.acqRefDataArray
  acquisition.detailedStatus
  acquisition.moduleStatus
  acquisition.runtimeEnvOk
  setting.dcMode
  setting.dcValueDataArray
  setting.enableSwitch
  setting.inverter
  setting.rampValueData
  setting.refValueDataArray
  events-mapping.AcquisitionTimerEvent
  events-mapping.DCModeSetEvent
  events-mapping.DCValueSetEvent
  events-mapping.GapEndEvent
  events-mapping.GapStartEvent
  events-mapping.InitSetEvent
  events-mapping.PowerSetEvent
  events-mapping.ResetSetEvent
  events-mapping.StatusUpdateAlways
  events-mapping.StatusUpdateTimerEvent
  events-mapping.VoltageSetEvent
  events-mapping.contextTrackerEvent
  events-mapping.readoutDAQEvent

Global Devices ( -g, -G )

As a default, the utility will not list global devices. This can be changed by options

-g : display also global devices
-G : display only global devices

Input-Compatible Output ( -i )

The utility may display output in a format which can be used for input of the utility fesa-instance .
-i : output compatible to fesa-instance input

The input-compatible option provides for generate a listing of present values for configuration variables and event configuration settings, modify some of the settings, and integrate the modified settings into the FESA instance files by using the utility fesa-instance.To use this option, the screen output has to be piped into a file which then can be used as input for fesa-instance:

E.g. for the setting of configuration.powerSupplyType in all instance files in the FESA directory tree PowerSupplyHebt_DU, located in the current working directory, where names are abbreviated in the commands:
# get present settings of configuration.powerSupplyType, for all instance files in ./PowerSupplyHebt_DU
fesa-confdisp PowerSupplyH -v conf.powerSupplyT -i > command,cmd
# update settings (other editors like vi or vim may be used too)
emacs command.cmd
# insert modfications into instance files for ./PowerSupplyHebt_DU
fesa-instance  command.cmd -d  ./PowerSupplyHebt_DU

As an example for the resulted output, display the setting of the logical event VoltageSetEvent for the PowerSupplyCry_DU front-end scuxl0226 :
fesa-confdisp PowerSupplyCr -e Voltage -n 226  -i

# 0 /home/bel/krause/lnx/xml/PowerSupplyCry_DU/src/test/scuxl0226/DeviceData_PowerSupplyCry_DU.instance
 device GHTYKH4                               
   event         VoltageSetEvent setOnSeqStart   # Timing hardware-event CMD_SEQ_START#257 offset= 5000000
                                                 #        hardware-event CMD_BP_START#256 offset= 5000000 
 device GHTYKV4                               
   event         VoltageSetEvent setOnSeqStart   # Timing hardware-event CMD_SEQ_START#257 offset= 5000000
                                                 #        hardware-event CMD_BP_START#256 offset= 5000000 
 device YR03KH3G                              
   event         VoltageSetEvent setOnFgPrep     # Timing hardware-event CMD_FG_PREP#512                  
 device YR03KH5C                              
   event         VoltageSetEvent setOnFgPrep     # Timing hardware-event CMD_FG_PREP#512                  
 device YR03KV3G                              
   event         VoltageSetEvent setOnFgPrep     # Timing hardware-event CMD_FG_PREP#512                  
 device YR03KV5C                              
   event         VoltageSetEvent setOnFgPrep     # Timing hardware-event CMD_FG_PREP#512        

Collect Detailed Status ( -S )

This option also works on status definitions, when combined with option -S (see section Collect Detailed Status, option -S). E.g. generate status data for front-end node scuxl0168 from production directory (located in /common/export/fesa/local/...)
fesa-confdisp PowerSupplyH -p -n 168 -S status.xml -i 
# 0 /common/export/fesa/local/scuxl0168/PowerSupplyHebt_DU-d/PowerSupplyHebt_DU.instance
 device GEITKX1            
   bitmap         Status0
 device GEITKX1_H          
   bitmap         Status1
 device GEITKX2            
   bitmap         Status0
 device GEITKX2_H          
   bitmap         Status1
 device GEITQT11           
   bitmap         Status0
 device GEITQT12           
   bitmap         Status0
 device GEITQT13           
   bitmap         Status0
 device GTS2QT11           
   bitmap         Status2
 device GTS2QT12           
   bitmap         Status2
 device GTS2QT13           
   bitmap         Status2

<BITMAP>
  <bitMap>
    <bitMapDescription name="txt" entry="configuration.detailedStatus_labels"/>
    <bitMapDescription name="sev" entry="configuration.detailedStatus_severity"/>
<!--
    <bitMapDescription name="reg" entry="configuration.detailedStatus_MfuBitMapping"/>
    <bitMapDimension   dest="configuration.detailedStatus_severity.dim"/>
    <bitMapDimension   dest="acquisition.detailedStatus.dim"/>
-->

    <bitMapping name="Status0">
      <!--
      GEITKX1 GEITKX2 GEITQT11 GEITQT12 GEITQT13
      -->
      <bit num="00" txt="PowerOn"        sev="INFO"           reg="{4711,8}"  />
      <bit num="01" txt="PowerFault"     sev="ERROR_ON_FALSE" reg="{4711,9}"  />
      <bit num="02" txt="TempPS"         sev="ERROR_ON_FALSE" reg="{4711,10}" />
      <bit num="03" txt="H2OPS"          sev="ERROR_ON_FALSE" reg="{4711,11}" />
      <bit num="04" txt="CurrOverload"   sev="ERROR_ON_FALSE" reg="{4711,12}" />
      <bit num="05" txt="PolarityNormal" sev="INFO"           reg="{4711,13}" />
      <bit num="06" txt="TempMagnet"     sev="ERROR_ON_FALSE" reg="{4711,14}" />
      <bit num="07" txt="H2OMagnet"      sev="ERROR_ON_FALSE" reg="{4711,15}" />
      <bit num="08" txt="Ip"             sev="ERROR_ON_FALSE" reg="{4711,16}" />
      <bit num="09" txt="NotUsed"        sev="INFO"           reg="{4711,17}" />
      <bit num="10" txt="TransOk"        sev="ERROR_ON_FALSE" reg="{4711,18}" />
      <bit num="11" txt="NotUsed"        sev="INFO"           reg="{4711,19}" />
      <bit num="12" txt="NotUsed"        sev="INFO"           reg="{4711,20}" />
      <bit num="13" txt="NotUsed"        sev="INFO"           reg="{4711,21}" />
      <bit num="14" txt="DCCT"           sev="ERROR_ON_FALSE" reg="{4711,22}" />
      <bit num="15" txt="NoES."          sev="ERROR_ON_FALSE" reg="{4711,23}" />
      <bit num="16" txt="Remote"         sev="INFO"           reg="{4711,24}" />
      <bit num="17" txt="NotUsed"        sev="INFO"           reg="{4711,25}" />
      <bit num="18" txt="NotUsed"        sev="INFO"           reg="{4711,26}" />
      <bit num="19" txt="NotUsed"        sev="INFO"           reg="{4711,27}" />
      <bit num="20" txt="NotUsed"        sev="INFO"           reg="{4711,28}" />
      <bit num="21" txt="NotUsed"        sev="INFO"           reg="{4711,29}" />
      <bit num="22" txt="NotUsed"        sev="INFO"           reg="{4711,30}" />
      <bit num="23" txt="NotUsed"        sev="INFO"           reg="{4711,31}" />
      <bit num="24" txt="RealTimeError"  sev="ERROR_ON_FALSE" reg="{4711,0}"  />
    </bitMapping>

    <bitMapping name="Status1">
      <!--
      GEITKX1_H GEITKX2_H
      -->
      <bit num="00" txt="PowerOn"       sev="INFO"           reg="{4711,8}" />
      <bit num="01" txt="RealTimeError" sev="ERROR_ON_FALSE" reg="{4711,0}" />
    </bitMapping>

    <bitMapping name="Status2">
      <!--
      GTS2QT11 GTS2QT12 GTS2QT13
      -->
      <bit num="00" txt="PowerOn"        sev="INFO"           reg="{4711,8}"  />
      <bit num="01" txt="PowerFault"     sev="ERROR_ON_FALSE" reg="{4711,9}"  />
      <bit num="02" txt="TempPS"         sev="ERROR_ON_FALSE" reg="{4711,10}" />
      <bit num="03" txt="H2OPS"          sev="ERROR_ON_FALSE" reg="{4711,11}" />
      <bit num="04" txt="CurrOverload"   sev="ERROR_ON_FALSE" reg="{4711,12}" />
      <bit num="05" txt="PolarityNormal" sev="INFO"           reg="{4711,13}" />
      <bit num="06" txt="TempMagnet"     sev="ERROR_ON_FALSE" reg="{4711,14}" />
      <bit num="07" txt="H2OMagnet"      sev="ERROR_ON_FALSE" reg="{4711,15}" />
      <bit num="08" txt="Ip"             sev="ERROR_ON_FALSE" reg="{4711,16}" />
      <bit num="09" txt="Ip1"            sev="ERROR_ON_FALSE" reg="{4711,17}" />
      <bit num="10" txt="T1T4"           sev="ERROR_ON_FALSE" reg="{4711,18}" />
      <bit num="11" txt="NoFRSIntl"      sev="ERROR_ON_FALSE" reg="{4711,19}" />
      <bit num="12" txt="Ud1"            sev="ERROR_ON_FALSE" reg="{4711,20}" />
      <bit num="13" txt="Ub0"            sev="ERROR_ON_FALSE" reg="{4711,21}" />
      <bit num="14" txt="DCCT"           sev="ERROR_ON_FALSE" reg="{4711,22}" />
      <bit num="15" txt="NotUsed"        sev="INFO"           reg="{4711,23}" />
      <bit num="16" txt="Remote"         sev="INFO"           reg="{4711,24}" />
      <bit num="17" txt="NotUsed"        sev="INFO"           reg="{4711,25}" />
      <bit num="18" txt="Load1"          sev="INFO"           reg="{4711,26}" />
      <bit num="19" txt="Load2"          sev="INFO"           reg="{4711,27}" />
      <bit num="20" txt="Load3"          sev="INFO"           reg="{4711,28}" />
      <bit num="21" txt="Load4"          sev="INFO"           reg="{4711,29}" />
      <bit num="22" txt="Load5"          sev="INFO"           reg="{4711,30}" />
      <bit num="23" txt="CurrControl"    sev="INFO"           reg="{4711,31}" />
      <bit num="24" txt="RealTimeError"  sev="ERROR_ON_FALSE" reg="{4711,0}"  />
    </bitMapping>
  </bitMap>
</BITMAP>

All Matching Paths ( -a )

In the default behaviour, for each event mapping (option -e), realtime-action (option -r) or configuration value (option -v), the given path must match to exactly one entry. Otherwise an error is displayed (Error: 06 multiple elements found ... or Error: 09 no element found ...). Given the additional option -a, data for all entries which match the given path will be displayed.

fesa-confdisp PowerSupplyS -p -n 190 -v conf.acc -a

0 /common/export/fesa/local/scuxl0190/PowerSupplySis18_DU/PowerSupplySis18_DU.instance
 GS01QS1F   configuration.accelerator           value: SIS18     
            configuration.acceleratorZone       value: SIS18_RING
            configuration.acceptFilledSelectors value: true      
 GS11MU2    configuration.accelerator           value: SIS18     
            configuration.acceleratorZone       value: SIS18_RING
            configuration.acceptFilledSelectors value: true     


fesa-confdisp PowerSupplyS -p -n 190 -r Gap -a

0 /common/export/fesa/local/scuxl0190/PowerSupplySis18_DU/PowerSupplySis18_DU.instance
PowerSupplySis18_DU on scuxl0190
 GS01QS1F   GapStartRt GapStartEvent gapStartOnEvent Timing hardware-event CMD_GAP_START#258
            GapEndRt   GapEndEvent   gapEndOnEvent   Timing hardware-event CMD_GAP_END#259  
 GS11MU2    GapStartRt GapStartEvent gapStartOnEvent Timing hardware-event CMD_GAP_START#258
            GapEndRt   GapEndEvent   gapEndOnEvent   Timing hardware-event CMD_GAP_END#259  


Examples

List value of configuration.subset for all PowerSupply deploy-units located in workspace ~/workspace :

fesa-confdisp  Power -d ~/workspace -v co.subset 

0 /home/bel/userNN/lnx/workspace/PowerSupplyCry_DU/src/test/scuxl0005/DeviceData_PowerSupplyCry_DU.instance
 YRT1LD51H  configuration.subset value: CryIqPS dim: 0
 YRT1LD51V  configuration.subset value: CryIqPS dim: 0
 YRT1LD52H  configuration.subset value: CryIqPS dim: 0
 YRT1LD52V  configuration.subset value: CryIqPS dim: 0

1 /home/bel/userNN/lnx/workspace/PowerSupplyCry_DU/src/test/scuxl0006/DeviceData_PowerSupplyCry_DU.instance
 YR03BG0E   configuration.subset value: RampedPS dim: 0

2 /home/bel/userNN/lnx/workspace/PowerSupplyCry_DU/src/test/scuxl0013/DeviceData_PowerSupplyCry_DU.instance
 GHTYKH2    configuration.subset value: BasicPS dim: 0
 GHTYKV2    configuration.subset value: BasicPS dim: 0
 GHTYKV3    configuration.subset value: BasicPS dim: 0
 GHTYMH2    configuration.subset value: BasicPS dim: 0
 GHTYQD21   configuration.subset value: BasicPS dim: 0
 GHTYQD22   configuration.subset value: BasicPS dim: 0
 GHTYQD31   configuration.subset value: BasicPS dim: 0
 GHTYQD32   configuration.subset value: BasicPS dim: 0
 GHTYQD41   configuration.subset value: BasicPS dim: 0
 GHTYQD42   configuration.subset value: BasicPS dim: 0
 YRT1KH1    configuration.subset value: BasicPS dim: 0
 YRT1KH2    configuration.subset value: BasicPS dim: 0
 YRT1KV1    configuration.subset value: BasicPS dim: 0
 YRT1KV2    configuration.subset value: BasicPS dim: 0
 YRT1MH1    configuration.subset value: BasicPS dim: 0
 YRT1MH2    configuration.subset value: BasicPS dim: 0
 YRT1QD61   configuration.subset value: BasicPS dim: 0
 YRT1QD62   configuration.subset value: BasicPS dim: 0
 YRT1QD71   configuration.subset value: BasicPS dim: 0
 YRT1QD72   configuration.subset value: BasicPS dim: 0

3 /home/bel/userNN/lnx/workspace/PowerSupplyCry_DU/src/test/scuxl0027/DeviceData_PowerSupplyCry_DU.instance
 YR03BG1E   configuration.subset value: RampedHvPS dim: 0
 YR03BG2E   configuration.subset value: RampedHvPS dim: 0
 YR03DX1K   configuration.subset value: RampedHvPS dim: 0

  . . .

List value of acquisition.moduleStatus.dim for all PowerSupply deploy-units, actually used by the front-ends ('production', /common/export/fesa/local//... ):

fesa-confdisp  Power -p -v acqu.mo.d 

0 /common/export/fesa/local/kp2cu01/PowerSupplyInt_DU/PowerSupplyInt_DU.instance
 YR00MH     acquisition.moduleStatus.dim value: 3

1 /common/export/fesa/local/mock/PowerSupply_DU/PowerSupply_DU.instance
 XGHTYKH2   acquisition.moduleStatus.dim value: 0
 XGHTYKV2   acquisition.moduleStatus.dim value: 0
 XGHTYKV3   acquisition.moduleStatus.dim value: 0
 XGHTYMH1   acquisition.moduleStatus.dim value: 0
 XGHTYMH2   acquisition.moduleStatus.dim value: 0
 XGHTYQD11  acquisition.moduleStatus.dim value: 0
 XGHTYQD12  acquisition.moduleStatus.dim value: 0
 XGHTYQD21  acquisition.moduleStatus.dim value: 0
 XGHTYQD22  acquisition.moduleStatus.dim value: 0
 XGHTYQD31  acquisition.moduleStatus.dim value: 0
 XGHTYQD32  acquisition.moduleStatus.dim value: 0
 XGHTYQD41  acquisition.moduleStatus.dim value: 0
 XGHTYQD42  acquisition.moduleStatus.dim value: 0
 XYRT1KH1   acquisition.moduleStatus.dim value: 0
 XYRT1KH2   acquisition.moduleStatus.dim value: 0
 XYRT1KV1   acquisition.moduleStatus.dim value: 0
 XYRT1KV2   acquisition.moduleStatus.dim value: 0
 XYRT1MH1   acquisition.moduleStatus.dim value: 0
 XYRT1MH2   acquisition.moduleStatus.dim value: 0
 XYRT1QD51  acquisition.moduleStatus.dim value: 0
 XYRT1QD52  acquisition.moduleStatus.dim value: 0
 XYRT1QD61  acquisition.moduleStatus.dim value: 0
 XYRT1QD62  acquisition.moduleStatus.dim value: 0

2 /common/export/fesa/local/nomnom/PowerSupplyInt_DU/PowerSupplyInt_DU.instance
 GS01QS1F   acquisition.moduleStatus.dim value: 5
 GS11MU2    acquisition.moduleStatus.dim value: 5
 GS12QS2D   acquisition.moduleStatus.dim value: 5

  . . .

List values of configuration.hasInverter and setting.inverter for all PowerSupply deploy-units, actually used by the front-ends ('production', /common/export/fesa/local//... ), for all front-end nodes which are hold in the production FESA database ( -N p ):

fesa-confdisp -p PowerSuppl -N p -v con.hasInv -v sett.inv 

0 /common/export/fesa/local/scuxl0005/PowerSupplyCry_DU/PowerSupplyCry_DU.instance
 YRT1LD51H  configuration.hasInverter value: true        
            setting.inverter          value: POS_INVERTER
 YRT1LD51V  configuration.hasInverter value: true        
            setting.inverter          value: NEG_INVERTER
 YRT1LD52H  configuration.hasInverter value: true        
            setting.inverter          value: NEG_INVERTER
 YRT1LD52V  configuration.hasInverter value: true        
            setting.inverter          value: POS_INVERTER

1 /common/export/fesa/local/scuxl0006/PowerSupplyCry_DU/PowerSupplyCry_DU.instance
 YR03BG0E   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER

2 /common/export/fesa/local/scuxl0013/PowerSupplyCry_DU/PowerSupplyCry_DU.instance
 GHTYKH2    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GHTYKV2    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GHTYKV3    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GHTYMH2    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GHTYQD21   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GHTYQD22   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GHTYQD31   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GHTYQD32   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GHTYQD41   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GHTYQD42   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 YRT1KH1    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 YRT1KH2    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 YRT1KV1    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 YRT1KV2    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 YRT1MH1    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 YRT1MH2    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 YRT1QD61   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 YRT1QD62   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 YRT1QD71   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
YRT1QD72   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER

3 /common/export/fesa/local/scuxl0014/PowerSupplyRf_DU/PowerSupplyRf_DU.instance
 GE02BE1    configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER

4 /common/export/fesa/local/scuxl0015/PowerSupplyRf_DU/PowerSupplyRf_DU.instance
 GE00BE_F   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER

5 /common/export/fesa/local/scuxl0016/PowerSupplyRf_DU/PowerSupplyRf_DU.instance
 GS02BE1F   configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER

6 /common/export/fesa/local/scuxl0020/PowerSupplySis18_DU/PowerSupplySis18_DU.instance
 GS01KM2DV  configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GS02KM2DV  configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GS03KM2DV  configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GS04KM2DV  configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER
 GS05KM2DV  configuration.hasInverter value: false      
            setting.inverter          value: NO_INVERTER

  . . .

Topic revision: r20 - 17 Mar 2022, UdoKrause
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback