!------------------------------------------------------------------------------ ! This file holds a list of Master Command File keywords. ! Comments start with an exclamation mark ("!") anywhere on a line. ! See end of file for more syntax information. !------------------------------------------------------------------------------ ! Revision: 15-May-2006 ! This file is a template and a list of the syntax rules for Master Command Files !------------------------------------------------------------------------------ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! One typical usage and main motivation of the Master Command File ! is as an entry point, or a switchboard to call one or more ! other specialized command files !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !------------------------------------------------------------------------------ ! Call a Download FPGA Command File (DCF) !------------------------------------------------------------------------------ Call_Download_Fpga: "%CONFIG%Test_download.dcf" !------------------------------------------------------------------------------ ! Call an ADF Register IO Command File (RIO) !------------------------------------------------------------------------------ Call_Reg_IO: "%TRICS%Scratch/reset_scalers.rio" !------------------------------------------------------------------------------ ! Call a VME IO Command File (VIO) !------------------------------------------------------------------------------ Call_Vme_IO: "%CONFIG%Test_Vme.vio" !------------------------------------------------------------------------------ ! Call a Message Command file (MSG) i.e. to simulate COOR message !------------------------------------------------------------------------------ Call_Self_Msg: "%CONFIG%Test_coor_commands.msg" !------------------------------------------------------------------------------ ! Call a Trigger Tower Info Command File (TTI) !------------------------------------------------------------------------------ Call_TT_Info: "/full/path/Test_Dac_Pedestals.tti" !------------------------------------------------------------------------------ ! Call another Master Command File !------------------------------------------------------------------------------ Call_File: /user/another.mcf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The functionality of the Message Command File is also directly supported ! from within the Master Command File because (a) this adds only one simple ! command and (b) this helps in reducing the number of configuration files. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !------------------------------------------------------------------------------ ! Send a simulated COOR Message to itself !------------------------------------------------------------------------------ Send_Msg_To_Self: "TrgMgr_L1Cal_Coverage TT_Eta(-20:20)" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The other usage and main motivation of the Master Command File ! is to set system wide operation flags and control variables !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !------------------------------------------------------------------------------ ! Override the "System Operational" status ! e.g. to force status operational after initialization failed ! e.g. to force non-operational to stop executing requests from COOR !------------------------------------------------------------------------------ L1Cal_Operational: 1 !------------------------------------------------------------------------------ ! During initialization this flag controls behavior after an error is detected !------------------------------------------------------------------------------ AbortInitOnError: 1 !------------------------------------------------------------------------------ ! During initialization this flag controls iterative de-skewing (up to N times) ! and verification steps !------------------------------------------------------------------------------ MaxDeSkewTryAtInit: 5 !------------------------------------------------------------------------------ ! Define how long the Monit Pool Manager Process will wait for an event flagged with ! Collect_Status before forcing a Monit Data Capture. ! Specified in milliseconds, with minimum of 1 sec (6 seconds = 6000 ms) ! To shut off Monitoring Data collection, specify 0 !------------------------------------------------------------------------------ MonitControlTimeMs: 6000 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ADF specific operation flags and control variables !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !------------------------------------------------------------------------------ ! This is the Register Address Offset within the Raw ADC Memory Block ! where TCC will read Monitoring Data for the first ADC sample of Tick #1. !------------------------------------------------------------------------------ OffsetTick1RawAdcMonit: 1 !------------------------------------------------------------------------------ ! This is the Register Address Offset within the Raw ADC Memory Block ! where TCC will write Simulated Data for the first ADC sample of Tick #1. !------------------------------------------------------------------------------ OffsetTick1RawAdcSimu: 0 !------------------------------------------------------------------------------ ! This is the Register Address Offset within the Output Et Memory Block ! where TCC will read Monitoring Data for Tick #1. !------------------------------------------------------------------------------ OffsetTick1OutputEtMonit: 0 !------------------------------------------------------------------------------ ! This is the Register Address Offset within the Output Et Memory Block ! where TCC will write Simulated Data for Tick #1. !------------------------------------------------------------------------------ OffsetTick1OutputEtSimu: 158 ! i.e. -1 modulo 159 !------------------------------------------------------------------------------ ! This value is the Tick Offset between the Triggered Crossing Tick Number ! and the Tick Number currently recorded at the time the Captured Monitoring ! Data Signal stops the Address Generator(s). !------------------------------------------------------------------------------ OffsetTriggeredToTickAtCapture: 25 !------------------------------------------------------------------------------ ! Define the Trigger Tower Alignment Delay Constants ! This is the Base Alignment Delay value common to all Trigger Towers ! The Relative Alignment Delay values specific to each Trigger Tower need to be ! specified in a TTI file !------------------------------------------------------------------------------ BaseAlignmentDelay: 0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! TAB/GAB specific operation flags and control variables !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !------------------------------------------------------------------------------ ! Set TabGab Package Version ! Call the tabgab library setup function: ! EStatus Tab_Gab_Set_Package_Version( const char * Package_Version ); !------------------------------------------------------------------------------ TabGab_PackageVersion: "testing" !------------------------------------------------------------------------------ ! Set TabGab Firmware Directory ! Call the tabgab library setup function: ! EStatus Tab_Gab_Set_Firmware_Dir( const char * Firmware_Dir ); !------------------------------------------------------------------------------ TabGab_FirmwareDir: "/tcc/L1Cal_IIb_Work/firmware/tabgab/" !------------------------------------------------------------------------------ ! Set TabGab Configuration Directory ! Call the tabgab library setup function: ! EStatus Tab_Gab_Set_Config_Dir( const char * Config_Dir ); !------------------------------------------------------------------------------ TabGab_ConfigDir: "/tcc/L1Cal_IIb_Work/Config" !------------------------------------------------------------------------------ ! Set TabGab Work Directory ! Call the tabgab library setup function: ! EStatus Tab_Gab_Set_Work_Dir( const char * Work_Dir ); !------------------------------------------------------------------------------ TabGab_WorkDir: "/tcc/work/d0l1/tabgab/" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! 15-May-2006 ! * Recommended file extension is ".MCF" (but not required). ! ! Syntax rules: ! ! - Blank lines are ignored. ! ! - Comments start after an exclamation mark ("!") anywhere on a line. ! ! * Recognized Keywords are (with colon required) ! ! Call another specialized command file ! ! Call_Download_Fpga: (Execute the specified FPGA Download Command File) ! Call_Reg_IO: (Execute the specified Register IO Command File) ! Call_Vme_IO: (Execute the specified VME IO Command File) ! Call_Self_Msg: (Execute the specified Self Message Command File) ! Call_TT_Info: (Execute the specified Trig Tower Info Command File) ! ! Send a simulated COOR message to itself ! ! Send_Msg_To_Self: (Send TCS a specified COOR->TCC command) ! ! System wide operation flags and control variables ! ! L1Cal_Operational: (Override the "System Operational" status) ! AbortInitOnError: (Behavior upon error during initialization) ! MaxDeSkewTryAtInit: (Iterative de-skewing and verification steps) ! MonitControlTimeMs: (Waiting for Collect_Status before forcing Capture) ! ! ADF specific operation flags and control variables ! ! OffsetTick1RawAdcMonit: (Address to read Monit Data for first ADC sample of Tick #1) ! OffsetTick1RawAdcSimu: (Address to write Simu Data for first ADC sample of Tick #1) ! OffsetTick1OutputEtMonit:(Address to read Monit Output Et Data for Tick #1) ! OffsetTick1OutputEtSimu: (Address to write Simu Output Et Data for Tick #1) ! OffsetTriggeredToTickAtCapture: (Offset between Triggered Crossing and ! Tick recorded at the time the Captured Monitoring) ! BaseAlignmentDelay: (Base Alignment Delay common to all Trigger Towers) ! ! TAB/GAB specific operation flags and control variables ! ! TabGab_PackageVersion: (TabGab Package Version) ! TabGab_FirmwareDir: (TabGab Firmware Directory) ! TabGab_ConfigDir: (TabGab Configuration Directory) ! TabGab_WorkDir: (TabGab Work Directory) ! ! Keywords common to all Command File types ! ! Call_File: (Recursive call to another Master Command File) ! MilliSecond_Sleep: (Suspend execution of the command file) ! ! - Keywords are NOT case-sensitive. ! ! - Each Keyword must be followed by one and only one character string. ! ! - a Keyword and its matching Value may be separated by any number of spaces, ! and/or Tabs, but must appear on the same line. ! ! - Successive Keyword/Value pairs may be separated by any number of spaces, ! Tabs and/or Carriage_Returns (blank lines), or comments. ! ! * The "Call_xxxxx" keywords cause the specified command file to be ececuted. ! The Syntax rules and allowed keywords within the called file depend on ! the type of file being called. Only the syntax proper to the type of ! command file called is allowed within the called file. ! ! * In order to limit the total number of command files, Master Command Files ! can also directly send COOR commands without needing to call an external ! Self Message Command File. ! The "Send_Msg_To_Self:" keyword causes the specified COOR to L1FW Command ! Message to be send to TRICS_II on the dedicated ITC port. ! cf. Syntax_Rules_Self_Message.Msg for more details on using this keyword/ ! ! - The "MilliSecond_Sleep:" Keyword causes the execution of the command file ! to be suspended for the number of milliseconds specified in the associated ! value (integer values only). ! ! - The "Call_File" Keyword causes a recursive call to read the specified ! Master Command File. ! ! - Full local Keyword/Value context present before the Call_File Keyword ! is still valid after. i.e. Context changes made in the Called file are ! NOT propagated back to the Calling file. ! ! - The syntax rules within a called file are the same as described here. ! The local Keyword/Value context present before the Call_File Keyword ! is imported into the Called File. i.e. You can define some Keyword Values ! in the Calling File which will be valid inside the Called File. ! !------------------------------------------------------------------------------ ! * Symbols have limited purpose in the context of Master Command Files ! (they can only be used with the "MilliSecond_Sleep" keyword or to ! propagate into called files). ! ! Symbols may be defined and used in command files. ! A symbol name must start with a dollar sign "$". ! ! A symbol is defined by giving it a numeric value. ! A symbol is defined using a Keyword/Value syntax where the Keyword is ! the symbol's name, starting with its own dollar sign but with an additional ! equal character appended to the end of the symbol name, while the value ! is the desired symbol value. ! e.g. To define a symbol named "$Slot_AONM" and give it a value "5" ! enter the following: ! $Slot_AONM= 5 ! The equal sign "=" is required and must appear directly after the last ! character of the symbol name, with no space or tab in-between. ! Any number of spaces, or tabs may appear between the symbol definition and ! its value, but the symbol and its value must appear on the same line. ! Previously defined symbols can be re-defined to change their value. ! Previously defined symbols cannot be un-defined. ! ! A symbol may be used anywhere a value is required, i.e. in any Keyword/Value ! pair and the symbol value will be substituted. e.g. ! Slot: $Slot_AONM ! A symbol must have been defined before it can be used. ! There are no predefined symbols. ! Symbols are NOT case sensitive. ! Symbol names may include any alpha numeric characters (e.g. _[(}./$< ), ! (but no space, tabs, or end of line). For clarity one should avoid ! using embedded quotation marks, equal signs, colon. ! A symbol value may be used to define another new symbol. ! ! All symbols defined before a "Call_File" Keyword are propagated into ! the Called File. i.e. You can define symbols in the Calling File ! and use those symbols (or modify them) inside the Called File. ! Symbols created or modified inside a Called File are NOT propagated ! back to the Calling file. !------------------------------------------------------------------------------