/Equipment ODB tree: Difference between revisions
No edit summary |
No edit summary |
||
Line 42: | Line 42: | ||
[local:pol:S]Settings>ls /Equipment/info/ -lr | [local:pol:S]Settings>ls /Equipment/info/ -lr | ||
Key name Type #Val Size Last Opn Mode Value | Key name Type #Val Size Last Opn Mode Value | ||
--------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ||
Line 66: | Line 64: | ||
Status color STRING 1 32 9h 0 RWD #00FF00 | Status color STRING 1 32 9h 0 RWD #00FF00 | ||
Hidden BOOL 1 4 9h 0 RWD n | Hidden BOOL 1 4 9h 0 RWD n | ||
<div id="Example Variables subtree"></div> | |||
Variables DIR | Variables DIR | ||
DBUG FLOAT 10 4 8h 0 RWD | DBUG FLOAT 10 4 8h 0 RWD | ||
Line 98: | Line 97: | ||
Events per sec. DOUBLE 1 8 8h 0 RWD 0 | Events per sec. DOUBLE 1 8 8h 0 RWD 0 | ||
kBytes per sec. DOUBLE 1 8 8h 0 RWD 0 | kBytes per sec. DOUBLE 1 8 8h 0 RWD 0 | ||
<div id="Example Settings subtree"></div> | |||
Settings DIR | Settings DIR | ||
Names DBUG STRING 12 32 9h 0 RWD | Names DBUG STRING 12 32 9h 0 RWD | ||
Line 143: | Line 143: | ||
==== <span style="color: purple;">''Common''</span> subtree ==== | ==== <span style="color: purple;">''Common''</span> subtree ==== | ||
This subtree in an [[#<equipment-name> subtree|<equipment-name> subtree]] contains the parameters used by the system to process the | This subtree in an [[#<equipment-name> subtree|/Equipment/<equipment-name> subtree]] contains the parameters used by the system to process the [[Frontend Operation#Equipments and Events|Equipment]]. The values of the Common parameters are | ||
initially defined in the [[Equipment List Parameters]] in the [[Frontend user code]] that defines this particular equipment. | initially defined in the [[Equipment List Parameters]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 155: | Line 155: | ||
</div> | </div> | ||
This key in the [[#Common subtree|Common subtree]] contains the Event ID of this equipment. See [[Equipment List Parameters#EventID]] for details. | This key in the [[#Common subtree|Common subtree]] contains the Event ID of this equipment. See '''[[Equipment List Parameters#EventID|EventID]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 168: | Line 168: | ||
This key in the [[#Common subtree|Common subtree]] contains the Trigger mask of this equipment. See [[Equipment List Parameters#TriggerMask| | This key in the [[#Common subtree|Common subtree]] contains the Trigger mask of this equipment. See '''[[Equipment List Parameters#TriggerMask|TriggerMask]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 185: | Line 185: | ||
This key in the [[#Common subtree|Common subtree]] contains the Buffer parameter of this equipment. See | This key in the [[#Common subtree|Common subtree]] contains the Buffer parameter of this equipment. See | ||
[[Equipment List Parameters#Buffer|Buffer]] for details. | '''[[Equipment List Parameters#Buffer|Buffer]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. For Events that are to be logged as banks, Buffer is set to "SYSTEM". | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. For Events that are to be logged as banks, Buffer is set to "SYSTEM". | ||
Line 200: | Line 200: | ||
This key in the [[#Common subtree|Common subtree]] contains the Type of this equipment. See [[Equipment List Parameters#Type|Type]] for details. | This key in the [[#Common subtree|Common subtree]] contains the Type of this equipment. See '''[[Equipment List Parameters#Type|Type]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. The Type is one of the defined '''Equipment Flags'''. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. The Type is one of the defined '''Equipment Flags'''. | ||
Line 217: | Line 217: | ||
This key in the [[#Common subtree|Common subtree]] contains the Interrupt or Event Source of this equipment. See [[Equipment List Parameters#Source|Source]] for details. | This key in the [[#Common subtree|Common subtree]] contains the Interrupt or Event Source of this equipment. See '''[[Equipment List Parameters#Source|Source]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 234: | Line 234: | ||
This key in the [[#Common subtree|Common subtree]] contains the data format used for generating the event of this equipment. See [[Equipment List Parameters# | This key in the [[#Common subtree|Common subtree]] contains the data format used for generating the event of this equipment. See '''[[Equipment List Parameters#Format|Format]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 251: | Line 251: | ||
This key in the [[#Common subtree|Common subtree]] indicated whether this equipment is active. See [[Equipment List Parameters#Enabled|Enabled]] for details. | This key in the [[#Common subtree|Common subtree]] indicated whether this equipment is active. See '''[[Equipment List Parameters#Enabled|Enabled]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 266: | Line 266: | ||
This key in the [[#Common subtree|Common subtree]] specifies when the read-out of an event occurs or is enabled. It is set to one or a combination of [[ReadOn Flags]]. See [[Equipment List Parameters#ReadOn|Read on]] for details. | This key in the [[#Common subtree|Common subtree]] specifies when the read-out of an event occurs or is enabled. It is set to one or a combination of [[ReadOn Flags]]. See '''[[Equipment List Parameters#ReadOn|Read on]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 282: | Line 282: | ||
This key in the [[#Common subtree|Common subtree]] specifies the time interval or time-out. See [[Equipment List Parameters#Period|Period]] for details. | This key in the [[#Common subtree|Common subtree]] specifies the time interval or time-out. See '''[[Equipment List Parameters#Period|Period]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 300: | Line 300: | ||
This key in the [[#Common subtree|Common subtree]] specifies the time interval or time-out. See [[Equipment List Parameters#Event limit|Event limit]] for details. | This key in the [[#Common subtree|Common subtree]] specifies the time interval or time-out. See '''[[Equipment List Parameters#Event limit|Event limit]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 318: | Line 318: | ||
This key in the [[#Common subtree|Common subtree]] enables the super-event capability. See [[Equipment List Parameters#Number of subevents|Number of subevents]] for details. | This key in the [[#Common subtree|Common subtree]] enables the super-event capability. See '''[[Equipment List Parameters#Number of subevents|Number of subevents]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 335: | Line 335: | ||
This key in the [[#Common subtree|Common subtree]] enables the [[History System]] for this equipment. See [[Equipment List Parameters#Log History|Log History]] for details. | This key in the [[#Common subtree|Common subtree]] enables the [[History System]] for this equipment. See '''[[Equipment List Parameters#Log History|Log History]]''' for details. | ||
The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | The initial value of this parameter is defined by the [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. | ||
Line 443: | Line 443: | ||
If either | If either | ||
* the [[#Read on | * the [[#Read on|Read on]] parameter contains the [[ReadOn Flags|RO_ODB flag]] or | ||
* [[#Log history]] is enabled, | * [[#Log history|Log history]] is enabled, | ||
the event data will be copied to the ODB and listed in this subtree. | the event data will be copied to the ODB and listed in this subtree. | ||
In that case, this subtree will contain array(s) of event data named for the bankname(s) in the readout function (see Frontend user code#Event Readout routine]]. | In that case, this subtree will contain array(s) of event data named for the bankname(s) in the readout function (see [[Frontend user code#Event Readout routine]]. | ||
See [[#Example | See [[#Example Variables subtree|example]] above. | ||
Line 513: | Line 513: | ||
<br> | <br> | ||
===== <span style="color: purple;">''<Names | ===== <span style="color: purple;">''<Names>''</span> subtree ===== | ||
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> | <div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> | ||
* '''Type:''' STRING (ARRAY) | * '''Type:''' STRING (ARRAY) | ||
</div> | </div> | ||
These optional key(s) in the [[#Settings subtree|Settings]] subtree if present are used to define the names of variables in the [[#Variables subtree|Variables subtree]]. | |||
If more than one bank is defined, there will be multiple keys named for the bankname, which will be arrays whose elements contain the name of each variable in the bank. | |||
These keys are added by the user. | |||
The Names array(s) if present will be used by [[mhttpd]] in the display of the Equipment variables, and by the [[History System]] to generate tags. See [[#Example Settings subtree|example]] above. | |||
[[Category:ODB Tree]] | [[Category:ODB Tree]] |
Revision as of 16:55, 11 June 2014
Links
Purpose
The ODB /Equipment tree contains user and system information related to a frontend.
Creating the /Equipment tree
An empty /Equipment tree will be created by mlogger.
If an Equipment is defined in Frontend user code, the first time the frontend is run, that equipment will be created in the ODB as a subtree under the /Equipment tree with the values supplied in the Frontend user code.
Example of /Equipment tree
The following is an example of the /Equipment tree from an experiment obtained with the odbedit ls command listing all the defined equipments in the experiment :
[local:pol:S]Settings>ls /Equipment -l Key name Type #Val Size Last Opn Mode Value --------------------------------------------------------------------------- POL_ACQ DIR Scaler DIR Trigger DIR VME DIR SisPulser DIR INFO DIR HISTO DIR
The following is a listing of one of the equipments in the /Equipment tree shown above :
[local:pol:S]Settings>ls /Equipment/info/ -lr Key name Type #Val Size Last Opn Mode Value --------------------------------------------------------------------------- INFO DIR Common DIR Event ID WORD 1 2 9h 0 RWD 3 Trigger mask WORD 1 2 9h 0 RWD 8 Buffer STRING 1 32 9h 0 RWD SYSTEM Type INT 1 4 9h 0 RWD 1 Source INT 1 4 9h 0 RWD 0 Format STRING 1 8 9h 0 RWD MIDAS Enabled BOOL 1 4 9h 0 RWD y Read on INT 1 4 9h 0 RWD 257 Period INT 1 4 9h 0 RWD 100 Event limit DOUBLE 1 8 9h 0 RWD 0 Num subevents DWORD 1 4 9h 0 RWD 0 Log history INT 1 4 2h 0 RWD 1 Frontend host STRING 1 32 9h 0 RWD lxpol.triumf.ca Frontend name STRING 1 32 9h 0 RWD pol_fevme Frontend file name STRING 1 256 9h 0 RWD pol_fevme.cxx Status STRING 1 256 9h 0 RWD pol_fevme@lxpol.triumf.ca Status color STRING 1 32 9h 0 RWD #00FF00 Hidden BOOL 1 4 9h 0 RWD n
Variables DIR DBUG FLOAT 10 4 8h 0 RWD [0] 0 [1] 101 [2] 2121 [3] 2121 [4] 101 [5] 2 [6] 4 [7] 1 [8] 1 [9] 0 CYCL FLOAT 10 4 8h 0 RWD [0] 1 [1] 3520 [2] 176 [3] 20 [4] 30 [5] 176 [6] 3520 [7] 1 [8] 0.05 [9] 0.0522 SUMS DOUBLE 4 8 8h 0 RWD [0] 0 [1] 10000 [2] 0 [3] 0 Statistics DIR Events sent DOUBLE 1 8 8h 0 RWD 176 Events per sec. DOUBLE 1 8 8h 0 RWD 0 kBytes per sec. DOUBLE 1 8 8h 0 RWD 0
Settings DIR Names DBUG STRING 12 32 9h 0 RWD [0] Data still buffered [1] Num SIS LNE events [2] LNE count from SIS [3] LNE preset value [4] number of bins [5] data bytes code [6] num enabled channels [7] discard first bin [8] discard first cycle [9] not used [10] not used [11] not used Names CYCL STRING 12 32 9h 0 RWD [0] Scan type code [1] Number good cycles [2] Number supercycles [3] Cycle num within supercycle [4] Sweep number [5] Num cycles skipped [6] Num cycles histogrammed [7] DAC Increment number [8] DAC Set Value (volts) [9] DAC Readback (volts) [10] not used [11] not used Names SUMS STRING 4 32 9h 0 RWD [0] SC Sum ch17 [1] SC Sum ch18 [2] SC Sum ch19 [3] SC Sum ch20
Keys in the /Equipment ODB tree
<equipment-name> subtree
This subtree in the /Equipment ODB tree The /Equipment ODB tree will be named for an Equipment defined in the Frontend user code. No two subtrees in an experiment can have the same name. An <equipment-name> subtree will be present for every defined equipment in all the frontend(s) run on the experiment. The subtree will be created the first time the defining frontend is run. Note that if these parameters are later changed in the ODB, they will not be overwritten by the values in the frontend if the frontend is restarted.
Common subtree
This subtree in an /Equipment/<equipment-name> subtree contains the parameters used by the system to process the Equipment. The values of the Common parameters are initially defined in the Equipment List Parameters in the Frontend user code that defines this particular equipment.
Event ID
- Type: WORD
- Default:
This key in the Common subtree contains the Event ID of this equipment. See EventID for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Trigger mask
- Type: WORD
- Default:
This key in the Common subtree contains the Trigger mask of this equipment. See TriggerMask for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Buffer
- Type: STRING
- Default: "SYSTEM"
This key in the Common subtree contains the Buffer parameter of this equipment. See
Buffer for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment. For Events that are to be logged as banks, Buffer is set to "SYSTEM".
Type
- Type: INT
- Default:
This key in the Common subtree contains the Type of this equipment. See Type for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment. The Type is one of the defined Equipment Flags.
Source
- Type: INT
- Default:
This key in the Common subtree contains the Interrupt or Event Source of this equipment. See Source for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Format
- Type: STRING
- Default:
This key in the Common subtree contains the data format used for generating the event of this equipment. See Format for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Enabled
- Type: BOOL
- Default:
This key in the Common subtree indicated whether this equipment is active. See Enabled for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Read on
- Type: INT
- Default:
This key in the Common subtree specifies when the read-out of an event occurs or is enabled. It is set to one or a combination of ReadOn Flags. See Read on for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Period
- Type: INT
- Default:
This key in the Common subtree specifies the time interval or time-out. See Period for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Event limit
- Type: DOUBLE
- Default:
This key in the Common subtree specifies the time interval or time-out. See Event limit for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Num subevents
- Type: DWORD
- Default:
This key in the Common subtree enables the super-event capability. See Number of subevents for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Log history
- Type: INT
- Default:
This key in the Common subtree enables the History System for this equipment. See Log History for details.
The initial value of this parameter is defined by the Equipment List in the Frontend user code that defines this particular equipment.
Frontend host
- Type: STRING
- Default:
This key in the Common subtree contains the name of the Frontend host running the Frontend user code that defines this particular equipment.
It is filled by the system.
Frontend name
- Type: STRING
- Default:
This key in the Common subtree contains the Frontend name defined in the Frontend user code that defines this particular equipment.
It is filled by the system.
Frontend file name
- Type: STRING
- Default:
This key in the Common subtree contains the filename of the Frontend user code that defines this particular equipment.
It is filled by the system.
Status
- Type: STRING
- Default:
This key in the Common subtree contains the combination of Frontend name and Frontend host Frontend host that define this particular equipment. It is filled by the system and used by mhttpd status page.
Status color
- Type: STRING
- Default: "#00FF00"
This key in the Common subtree contains a colour code to be used for the display of this equipment on the mhttpd status page.
Hidden
- Type: BOOL
- Default: "n"
This key in the Common subtree if set to "y" will prevent the display of this equipment on the mhttpd status page.
Variables subtree
- Type: DIR
This is a subtree in the /Equipment ODB Tree.
If either
- the Read on parameter contains the RO_ODB flag or
- Log history is enabled,
the event data will be copied to the ODB and listed in this subtree.
In that case, this subtree will contain array(s) of event data named for the bankname(s) in the readout function (see Frontend user code#Event Readout routine. See example above.
Statistics subtree
- Type: DIR
This subtree in the /Equipment ODB Tree contains statistics written by the system.
Events sent subtree
- Type: DOUBLE
This key in the Statistics subtree contains the number of events of Event ID sent. It is filled by the system and used for display on mhttpd status page.
Events per sec subtree
- Type: DOUBLE
This key in the Statistics subtree contains the number of events of Event ID sent per second. It is filled by the system and used for display on mhttpd status page.
kBytes per sec subtree
- Type: DOUBLE
This key in the Statistics subtree contains the number of kBytes per second for events of Event ID sent. It is filled by the system and used for display on mhttpd status page.
Settings subtree
- Type: DIR
This subtree in the /Equipment ODB Tree contains user-defined settings, some of which may be used by the system. Any values defined in this subtree will appear in experim.h files.
<Names> subtree
- Type: STRING (ARRAY)
These optional key(s) in the Settings subtree if present are used to define the names of variables in the Variables subtree. If more than one bank is defined, there will be multiple keys named for the bankname, which will be arrays whose elements contain the name of each variable in the bank. These keys are added by the user.
The Names array(s) if present will be used by mhttpd in the display of the Equipment variables, and by the History System to generate tags. See example above.