/Equipment ODB tree: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
No edit summary
(The midas documentation has moved to https://midas.triumf.ca/docs/)
Tag: Replaced
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
The midas documentation has moved. See [https://midas.triumf.ca/docs/develop/reference/reference/odb_keys/#equipment /Equipment] on the ODB keys page and [https://midas.triumf.ca/docs/develop/features/acquiring_data/frontends/configuring/ Frontends: configuring] for the new documentation about the /Equipment ODB keys.
* [[Midas_documentation|Midas Documentation]]
* [[Feature_listing|Feature Listing]]
* [[Application_listing|Application Listing]]
* [[Online_Database|Online Database]]
</div>
 
== Links ==
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* [[Frontend user code]]
* [[Event Structure]]
* [[Equipment List Parameters]]
*
</div>
 
== 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 [[ Frontend Operation#Equipments and Events|Equipment]] is defined in [[Frontend user code]], the first time the frontend is run, if that equipment does not exist in the ODB, it
will be created (using db_create_record) 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|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  60
        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
<div id="Example Variables subtree"></div>
    Variables                  DIR
        DBUG                    FLOAT  9    4    2h  0  RWD
                                        [0]            0
                                        [1]            101
                                        [2]            10201
                                        [3]            10201
                                        [4]            101
                                        [5]            2
                                        [6]            4
                                        [7]            1
                                        [8]            1
 
        CYCL                    FLOAT  15    4    2h  0  RWD
                                        [0]            1
                                        [1]            9800
                                        [2]            98
                                        [3]            100
                                        [4]            9
                                        [5]            98
                                        [6]            9800
                                        [7]            9
                                        [8]            9
                                        [9]            8.9682
                                        [10]            8.966
                                        [11]            0.0504
                                        [12]            0
                                        [13]            8.7906
                                        [14]            0
        SUMS                    DOUBLE  4    8    2h  0  RWD
                                        [0]            0
                                        [1]            50002
                                        [2]            0
                                        [3]            0
<div id="Example Statistics subtree"></div>
    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
<div id="Example Settings subtree"></div>
    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  15    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]            ADC1 Average
                                        [11]            ADC2 Average
                                        [12]            ADC3 Average
                                        [13]            ADC4 Average
                                        [14]            spare
 
        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  <span  style="color: purple;">''/Equipment''</span> ODB tree  ==
 
===  <span  style="color: purple;">''<equipment-name>''</span> subtree  ===
This subtree in the [[#top|/Equipment ODB tree]] The [[#top|/Equipment ODB tree]]
will be named for an [[Frontend Operation#Equipments and Events|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.
 
<div id="initial values"></div>
This subtree will be created (if it does not already exist) the first time the defining frontend is run, and the '''initial values''' set are defined in the  [[Equipment List Parameters]] in the [[Frontend user code]] that defines this particular equipment.
 
'''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.
 
 
<br>
---------
<br>
 
====  <span  style="color: purple;">''Common''</span> subtree  ====
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 initial values of the Common parameters are set when this tree is created (see [[#initial value|initial values]]).
 
<br>
---------
<br>
=====  <span  style="color: purple;">''Event ID''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' WORD
* '''Default:'''  See [[#initial value|initial value]]
</div>
 
This key in the [[#Common subtree|Common subtree]] contains the Event ID of this equipment. See '''[[Equipment List Parameters#EventID|EventID]]''' for details.
 
<br>
---------
<br>
=====  <span  style="color: purple;">''Trigger mask''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' WORD
* '''Default:'''  See [[#initial value|initial value]]
</div>
 
 
This key in the [[#Common subtree|Common subtree]] contains the Trigger mask of this equipment.  See '''[[Equipment List Parameters#TriggerMask|TriggerMask]]''' for details.
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Buffer''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Default:''' See [[#initial value|initial value]]
</div>
 
 
This key in the [[#Common subtree|Common subtree]] contains the Buffer parameter of this equipment.  See
'''[[Equipment List Parameters#Buffer|Buffer]]''' for details.
For Events that are to be logged as banks, Buffer is set to "SYSTEM".
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Type''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Default:''' See [[#initial value|initial value]]
</div>
 
 
This key in the [[#Common subtree|Common subtree]] contains the Type of this equipment.  See '''[[Equipment List Parameters#Type|Type]]''' for details.
The Type is one of the defined '''Equipment Flags'''.
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Source''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Default:''' See [[#initial value|initial value]]
</div>
 
 
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.
 
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Format''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Default:''' See [[#initial value|initial value]]
</div>
 
 
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.
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Enabled''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' BOOL
* '''Default:'''  See [[#initial value|initial value]]
</div>
 
 
This key in the [[#Common subtree|Common subtree]] indicated whether this equipment is active. See '''[[Equipment List Parameters#Enabled|Enabled]]''' for details.
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Read on''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Default:''' See [[#initial value|initial value]]
</div>
 
 
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.
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Period''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Default:''' See [[#initial value|initial value]]
</div>
 
 
This key in the [[#Common subtree|Common subtree]] specifies the time interval or time-out. See '''[[Equipment List Parameters#Period|Period]]''' for details.
 
 
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Event limit''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DOUBLE
* '''Default:'''
</div>
 
 
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.
 
 
 
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Num subevents''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DWORD
* '''Default:''' See [[#initial value|initial value]]
</div>
 
 
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.
 
 
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Log history''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Default:''' See [[#initial value|initial value]]
</div>
 
 
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.
A value of 0 disables history logging. This parameter also controls how frequently the history events are generated.
 
 
 
 
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Frontend host''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Default:'''
</div>
 
 
This key in the [[#Common subtree|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.
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Frontend name''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Default:'''
</div>
 
 
This key in the [[#Common subtree|Common subtree]] contains the [[Frontend user code#frontend Name|Frontend name]] defined in the [[Frontend user code]] that defines this particular equipment.
It is filled by the system.
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Frontend file name''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Default:'''
</div>
 
 
This key in the [[#Common subtree|Common subtree]] contains the filename of the [[Frontend user code]] that defines this particular equipment.
It is filled by the system.
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Status''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Default:'''
</div>
 
 
This key in the [[#Common subtree|Common subtree]] contains the combination of [[#Frontend name|Frontend name]]  and [[#Frontend host|Frontend host]] Frontend host that define this particular equipment. It is filled by the system and used by the [[Status Page#mhttpd status page]].
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Status color''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Default:'''  "#00FF00"
</div>
 
 
This key in the [[#Common subtree|Common subtree]] contains a colour code to be used for the display of this equipment on the [[Status Page#mhttpd status page]].
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''Hidden''</span>  =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' BOOL
* '''Default:'''  "n"
</div>
 
This key in the [[#Common subtree|Common subtree]] if set to "y" will prevent the display of this equipment on the  [[Status Page#mhttpd status page]].
 
 
<br>
---------
<br>
 
====  <span  style="color: purple;">''Variables''</span> subtree ====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DIR
</div>
 
This is a subtree  in the [[#Top|/Equipment ODB Tree]].
 
If either
* the [[#Read on|Read on]] parameter contains the [[ReadOn Flags|RO_ODB flag]] or
* [[#Log history|Log history]] is non-zero, i.e. History logging 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 Variables subtree|example]] above.
 
 
<br>
---------
<br>
 
====  <span  style="color: purple;">''Statistics''</span> subtree ====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DIR
</div>
 
This subtree  in the [[#Top|/Equipment ODB Tree]] contains statistics written by the system.
 
 
<br>
---------
<br>
 
 
=====  <span  style="color: purple;">''Events sent''</span> subtree =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DOUBLE
</div>
This key in the  [[#Statistics subtree|Statistics]] subtree  contains the number of events of [[#Event ID|Event ID]] sent. It is filled by the system and used for display on the [[Status Page#mhttpd status page]]. See [[#Example Statistics subtree|example]] above. 
 
<br>
---------
<br>
 
 
=====  <span  style="color: purple;">''Events per sec''</span> subtree =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DOUBLE
</div>
This key in the  [[#Statistics subtree|Statistics]] subtree  contains the number of events of [[#Event ID|Event ID]] sent per second. It is filled by the system and used for display on the [[Status Page#mhttpd status page]].
 
 
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''kBytes per sec''</span> subtree =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DOUBLE
</div>
This key in the  [[#Statistics subtree|Statistics]] subtree  contains the number of kBytes per second for events of [[#Event ID|Event ID]] sent. It is filled by the system and used for display on the [[Status Page#mhttpd status page]].
 
<br>
---------
<br>
 
====  <span  style="color: purple;">''Settings''</span> subtree ====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DIR
</div>
 
This subtree  in the [[#Top|/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 [[Event Notification (Hot-Link)#experim_dot_h|experim.h]] files.
 
<br>
---------
<br>
 
=====  <span  style="color: purple;">''<Names>''</span> subtree =====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING  (ARRAY)
</div>
 
These optional key(s) in the  [[#Settings subtree|Settings]] subtree  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 the [[Status Page|mhttpd status page]] in the
[[Status Page#Equipment Information|display]] of the Equipment variables, and by the [[History System]] to generate tags.  See [[#Example Settings subtree|example]] above. 
 
 
 
[[Category:ODB Tree]]

Latest revision as of 22:00, 30 October 2026

The midas documentation has moved. See /Equipment on the ODB keys page and Frontends: configuring for the new documentation about the /Equipment ODB keys.