Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

-----------------------------------------------------

(1) Add EVENT and AUTOSAVE to configure/RELEASE and
clean/rebuild configure. If this is a move to epics-R3-14-12 you will need
to remove the GENERALTIME and RESTORE modules, update all other modules
in your RELEASE file to those built for epics-R3-14-12, and use AUTOSAVE
instead of RESTORE. Before proceeding please read the AUTOSAVE module README file, and
the sections of this README
  'VII - R3-14-12 Migration
(migration to the event-R3-2-2-br_generaltime branch) issues'
  'Consideration for Autosave'
which are included near the end of this README file.
(2) Link event libraries into your app by adding to xxxApp/src/Makefile:

   xxx_LIBS += evrSupport
   xxx_LIBS += devMrfEr
   xxx_LIBS += mrfVme64x (VME systems only)
   xxx_LIBS += drvMrf (Linux systems only)
   xxx_LIBS += autosave

Note that the order of the above libraries is important.

(3) Add the following .dbd files to xxxApp/src/Makefile
    or to xxxApp/src/xxxInclude.dbd:

   xxx_DBD += evrSupport.dbd
   xxx_DBD += devMrfEr.dbd
   xxx_DBD += autosave.dbd
   
(4) In most cases, you can load existing db files with resonable defaults and
    standardized names, and these facility-agnostic db files directly in st.cmd.  They have reasonable defaults and standardized names. You can then skip steps 5-8 below.
    To do that, add to xxxApp/Db/Makefile:
    DB_INSTALLS += EvrPmc.db
    DB_INSTALLS += Pattern.db
    DB_INSTALLS += PMC-trig.db (if EVR is PMC type)
    DB_INSTALLS += VME-trig.db (if EVR is VME type)
    DB_INSTALLS += VME-TTB-trig.db (for a rear transition or breakout board)
    DB_INSTALLS += Bsa.db (if BSA will be used)

    Details are here

(5) Add EVR databases to your application.  For an example, see:
    event/<release>/evrIoc/Db/evrXL05.substitutions

(6) Add pattern-related databases to your application.  For an example, see:
    event/<release>/evrIoc/Db/evrPatternXL05.substitutions

(7) For IOCs with triggered devices, add trigger databases to your application.
    For an example, see:
    event/<release>/evrIoc/Db/trigXL05.substitutions. Also add event EDM display
    auto-generation to your trigger database file. See section 'Adding Timing Display
    autogen to your application'.

(8) For IOCs with beam-synchronous acquisition (BSA), add BSA databases to
    your application.  For an example, see:
    event/<release>/evrIoc/Db/bsaXL05.substitutions

(9) For each record that is an input to BSA, add a forward-link (FLNK) to
    record processing that occurs at beam or trigger time:
      field(FLNK, "<dev>:EF<secn>")
    Consult with the HLA group to determine the proper values of <dev> and
    <secn> for your application.

(10) For IOCs with triggered devices, see below section
    'Consideration for Autosave' for instructions on setting up
    autosave of your trigger save/restore setpoints.

(11) For IOCs with triggered devices which use event codes that are generated
    at a "slow" rate (rate slower than beam full rate like a 10Hz event code),
    if records for your devices process or finish processing 8.3 msec beyond
    the time of the trigger (ie, profile monitors), set the TSE field of those
    records to the event code.  The records will then be timestamped at the
    time that the event code was received instead of the time of the last
    fiducial.  The records can then be correlated with other records on other
    IOCs (ie, BPMs) that were acquired on the same pulse.  Make sure that
    the event code IRQ for all possible TSE values is enabled in your EVR
    database.

(12) Add each EVR to the following displays:
    $EDM/event/evnt_<loca>_main.edl
    and one of the following:
    $EDM/event/evnt_all_controllers.edl
    $EDM/event/evnt_all_beamDiag1.edl
    $EDM/event/evnt_all_beamDiag2.edl
    $EDM/event/evnt_all_laser.edl
    $EDM/event/evnt_all_profileMonitor.edl

(13) Add the following PVs to ALH under the "IOC" subgroup
     of the "Event" subgroup for the applicable machine areas:
    For each IOC:
    <iocname>:PATTERNSTATE
    <iocname>:FIDUCIALRATE
    <iocname>:NTPSTATE
    For each EVR:
    <evrname>:LINK
    <evrname>:LINKERR

(14) Add event code sequence PVs to your application by installing the
     event code sequence db file...

Db/Makefile:
DB_INSTALLS += $(EVENT)/db/eventCodeSequenceAll.db

     Doing so provides the following PVs
     $(DEVICE):ECS_$(EVENT_CODE)EV
     $(DEVICE):ECS_$(EVENT_CODE)CNT
     $(DEVICE):ECS_$(EVENT_CODE)RATE
     $(DEVICE):ECS_$(EVENT_CODE)NAME

     for 67 <= $(EVENT_CODE) <= 98

...

VIII - R3-14-12 Migration (migration from pre-event-R3-2-2-br_generaltime branch) issues

------------------------------------------------------------------------------------

Before starting please read this section and
 'Consideration for Autosave', and
 'Adding Timing Display autogen to your application'
which are included near the end of this README

(1) Update modules

   If this is a move to epics-R3-14-12 you will need to remove the GENERALTIME and RESTORE modules, update all other modules in your RELEASE file to those built for epics-R3------------
Before starting please read this section and
 'X - 14-12, and use AUTOSAVE instead of RESTORE. Before proceeding please read the AUTOSAVE module README file, and the sections of this README

  'Consideration for Autosave Consideration for Autosave', and
 'XII - Adding Timing Display autogen to your application'

which are included near the end of this README
(1) Pick a correct event module
    Recommend event-R3-2-2-br_generaltime-2-2 or later versionfile.
    Edit configure/RELEASE file to use the latest event module
    Please, check up the module dependency also.

(2) Edit *evr.substitutions file for the er record instance
    We can use the following database templates which have been used from old version of event module
    for the er record instance.
    . evr.db, evrWithDelays.db, evrWithExtDelays.db, evrWithFrontPanel.db

    The new event module also provides new template for the Linux PMC platform
    . evrPmc.db, evrWithDelayPmc.db, evrWithExtDelaysPmc.db, evrWithFronPanelPmc.db
    If you are planing to use the Linux PMC EVR, please choose these template

    (Remark) Please, find more details in the slides: 'How to use Tming System as a Client'.

(3) Edit *evr.substitutions file for the trigger/event configuration

    Please, use evrEventCtrl.db template for the trigger/event configuration
    Need to need to describe a list of event number which will be used for the trigger,
    and also need to put initial trigger configuration.
    But, it can be changed at runtime if we need.

    (Remark) the trigger/event cofniguration part was not changed from the previous version,
    but, need to consider for each beam program. Each beam program has different event list.

(4) Edit *pattern.substitutions file to choose proper timeslots, and propoer event list for each beam program

    Put correct active timeslots for the macors: ST1ST, and TS2ND for the evrPatternAll.db.
    The evrPatternAll.db is a common template for all of beam programs.

    Please, put a correct evrEvent*.db template. Each beam program has own template

    (Remark) Please, look at 'consideration for the multiple beam program' section in this file
             and also look at the slies: 'How to use Timing System as a Client'.

(5) Edit *trig.substitutions file for the event code invariant delay and, the automatic generating EDM screen

    Put new macros: TOUT and ACTV for the evrDevTrig.db template. It is for the event code invariant delay.
    Please, find more detialed information in the 'consideration to use the event invariant delay' section in this file.
    Also, can find an example in the slides: 'How to use Timing System as a Client'.


    Put new comment tags in the evrDevTrig.db section in the substitutions file. It is for the automatic generating EDM screen.
    Please read below section Adding Timing Display autogen to your application'.
    Also, please find more detailed information and example in the slides: 'How to use Timing System as a Client'.


(6) Edit Makefile in the src/Db directory for the automatic generating EDM screen

    Need to put new target to generate the EDM screen from the *trig.substitutions file

    example)

        gen_trig_edl:
        <TAB>    create_edm_event_msi.py   IOC-XT01-IM01trig.substitutions

    The *trig.substitutions file name should be matched with yours.


(7) Misc.

    - Please, look at the section for the 'Consideration for the autusave' in this file
    - Recommend to use high level delay and width PVs for the save-restore
    - Need to use save-restore for the er record setting
    - Please, do not use the pre-scaler for the extended delay
      . the event code invariant delay does not work properly with the pre-scaler
      . EVR provides enough range for the delay without the pre-scaler

...