Versions Compared

Key

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

...

The only way to stop a running infinite sequence is to program another sequence.

  • python psdaq/psdaq/seq/rixgeneratory.py --periods 1.0 0.01  (units in seconds).  Generates three files beam.py, codes.py and codes2.py in the current directory which should be programmed with "seqprogram".
    • beam.py simulates the beam pattern with gaps left for reading out both the fast and slow andor (eventually programmed on the accelerator side)
    • codes.py generates periodic triggers for a low rate andor and a high rate andor, but the high rate andor continues (needlessly) reading out when the beam is stopped for the low rate andor (see next point for solution)
    • codes2.py generates periodic triggers for the high rate andor, but avoids triggering it when the beam is inhibited for the slow andor readout.  because of this it is called "fast gated andor" in codes2.py 
  • seqprogram --seq 0:codes.py 1:codes2.py 3:beam.py --pv DAQ:NEH:XPM:3 --start
Code Block
(ps-4.5.26) rix-daq:scripts> pvget DAQ:NEH:XPM:3:SEQCODES
DAQ:NEH:XPM:3:SEQCODES 2023-06-09 19:20:09.502    
EventCode        Description  Rate Enabled
      272       "Slow Andor"     1       1
      276 "Fast Andor Gated"    63       1
      284      "Bunch Train" 10206       1

The output of "python tools/seqbrowser.py --seq 0:codes.py 1:codes2.py 3:beam.py --time 4.0" looks like this:

Running a standalone daq step-scan (no hutch-python).  The number "9" corresponds to two bits: 9=8+1, or 9=(1<<3) | (1<<0), where 3 and 0 are the two sequence engines that have been programmed with seqprogram above.  The "-g" argument is for the readout groups in the partition (2,5): 36=(1<<5) | (1<<2).

...