How to start EDTM pulser (experts only)
VxWorks Version (old)
1 Open a terminal from any computer in counting house and type the command:
->telnet hatsv4 2004
2 After connecting to that port and hitting the enter key, a prompt should pop up and we can set the EDTM pulser rate by the following command:
->r_pulser_Start(0,0xa100,0xc339)
The meaning of the arguments are explained below.
3 To quit from telnet, hold the "ctrl" key and hit "]". we should then see a prompt like "telnet>". Now type "q" to close the connection.
The EDTM pulse is now supplied by a synchronous pulser generator based on VME programmable logic. The generator has two synchronous outputs and the output rates are controlled by the second and third argument in the function r_pulser_Start() respectively. Currently the second output is used to feed the EDTM module and the first output is irrelevant. We shall set the first argument in function r_pulser_Start() to be 0 to set the rate of both outputs of the pulser generator.
The table showing the correspondence between the pulser rate and the hexadecimal words used in the r_pulser_Start() function can be found by typing the following command in a terminal opened on a computer in the counting house:
->less /adaqfs/home/adaq/vme/rpulser/obs.txt
Intel Version
The crate containing the random pulser has both a Vxworks CPU (happex8) and an intel CPU (intelha3). As this crate is being used to read some F1 TDCs, using the intel ROC, the r_pulser library has been ported to Linux to run on intel ROCs, in case the Vxworks CPU needs to be reomved from the crate. This ported version is in /root/rpulser on intelha3. The available commands can be seen by running
/root/rpulser/rpulserl usage
The pulser can be started with
/root/rpulser/rpulserl start 0 0xa100 0xc339
This command has been placed in the boot script for intelha3. The equivalent command has been commented out of the boot script for happex8.
Using flexio module for EDTM measurement
The output of port B of the pulser generator goes to a NIM fan-out module and is then fed into two flexio module. Each module has two output cards and each card has 16 channels. The first module (which has 32 channels in total) provides EDTM pulse to the 32 S2m PMTs, one card for left side and one card for right. Only one card of the second module is used now, and its 14 outputs pulse 10 GC PMTs, GC analog sum and S0 PMTs respectively. Each channel of the output card can be enabled or disabled by setting the corresponding bit of the register.
For GMP and DVCS experiment, S0 and GC PMTs are always pulsed with EDTM signal, while only 2 S2m PMTs attached to two sides of a scintillator paddle are pulsed at one time. Their signals are mixed with EDTM pulse for a little while and then the 2 PMTs with next paddle are pulsed. In this way all 16 paddles get looped over again and again. The command to initiate flexio module to work in this manner is
->/root/edtm/flexioctl edtm argu1 argu2 > /tmp/edtm.log &
or
->/root/edtm/flexioctl edtm argu > /tmp/edtm.log &
When two arguments are provided for the program flexioctl, the first one is the duration (in minutes) of the program. When the program expires, it stops setting the register of flexio module so the loop over S2m paddles will stop. The second argument determines how long each paddle is pulsed in seconds. In the case only one argument is given, this argument does exactly what argu2 does in the other case, and the program will practically run forever.