• Main INDEX
  • Monthly INDEX
  • PREV
  • NEXT
    Make New Entry, Make Followup Entry

    User name R. Michaels

    Log entry time 10:59:51 on September28,2010

    Entry number 333003

    keyword=feature to disable triggers using PS factors (when 0)

    The trigger supervisor inputs can now be DISABLED selectively
    by putting 0 (or negative) prescale factor. This is a new feature.
    Formerly, a 0 mean "use the biggest prescale factor" but the
    input was still enabled.

    For example, to disable all but T5 use a line like this:

    ps1=0,ps2=0,ps3=0,ps4=0,ps5=1,ps6=0,ps7=0,ps8=0

    One subtlety is what to do about T9 - T12. Apparently DVCS does
    not care. Anyway, it should be noted about T9-T12:

    1. T9-T12 cannot be prescaled, so whatever you set is ignored for
    prescale factor.
    2. If prescale factor is zero for T9, etc, then it is DISABLED.
    3. Leaving it out of the string is effectively setting it = 0.
    (Typically ps9, etc, are not in the string in prescale.dat)
    4. To enable T9 - T12 you need a string like this:

    ps1=1,ps2=0,ps3=0,ps4=1,ps5=1,ps6=1,ps7=0,ps8=0,ps9=1,ps10=1,ps11=1,ps12=1
    (In this example, we've disabled T2, T3, T7, and T8)

    This writes to ts->trig. I have verified the code in ts_scaler.crl
    is correct, but I have not verified that the disabling feature
    does what its supposed to ... we need some long runs to check this.

    ------------------- technical -----------------------------
    For reference here is the e-mail about Dave Abbott

    Bob,
    The register that enables/disables the various inputs is the "trig" register (offset 0x4). In the old style ts readout
    list you would simply write a 0 to the bits corresponding to the the inputs you want to disable
    (bits 1-12). In general bit 0 should always be set (non-strobe mode).

    ts->trig = 0x1FFF; /* Enable all Trigger inputs in non-strobe mode */

    ts->trig = 0x1FE3; /* Disable inputs 2,3,4 */


    IF you are using the tsUtil.o library (standard with coda 2.6.x) then you can use the "tsEnableInput" function.

    unsigned int tsEnableInput(unsigned int Val, int tflag);

    Enable front panel inputs to accept triggers
    Val = 12bit mask for the 12 inputs - 0xfff enables all.
    tflag = 0 Non-strobed mode - this is the normal operating mode
    1 strobed mode
    Function returns Input register value



    Example readout lists can be found in the /site/coda/2.6.1/examples/crl
    directory, and the README on the tsUtil library can be found in the "downloads" section of the coda website.

    https://coda.jlab.org/wiki/index.php/Notes

    David Abbott