4.2 KiB
4.2 KiB
triggerSync
samples: root@:/opt/ppmac#
/tmp/triggerSync 40 11 trigger all 40 ms, simulated start, use real frame triggers, verbose
/tmp/triggerSync 40 14 trigger all 40 ms, simulated start and frame triggers, no sync, verbose
/tmp/triggerSync 40 15 trigger all 40 ms, simulated start and frame triggers, with sync, verbose
/tmp/triggerSync 40 7 trigger all 40 ms, simulated start and frame triggers, with sync, minimal verbose
//Simulated triggers uses Q variables
#define SIMFLAG0 (pshm->Coord[1].Q[10])
#define SIMFLAG1 (pshm->Coord[1].Q[11])
//real triggers, uses inputsfrom the EVR-card
// s.a. Power PMAC Software Reference Manual.pdf Gate3[i].Chan[j].Status -> page 919 UserFlag
#define FLAG0 (gate3_1->Chan[0].Status&0x800)
#define FLAG1 (gate3_1->Chan[1].Status&0x800)
work of triggerSync program:
- wait for [SIM]FLAG0 (arm trigger)
- once armed, each [SIM]FLAG1 trigger is a frame trigger.
the EVR flags are set in;
caqtdm -attach -macro SYS=SAR-EXPMX,DEVICE=EVR0,FF=PCIe G_EVR_main.ui
event 214 is set with the CTA. For tests one can set manually
caput SAR-EXPMX-EVR0:FrontUnivOut4-Src-Scale-SP 9 # Force High(0) -> arm event, before start motion
caput SAR-EXPMX-EVR0:FrontUnivOut4-Src-Scale-SP 8 # Force Low(1) -> trigger motion
caput SAR-EXPMX-EVR0:FrontUnivOut4-Src-Pulse-SP 0 # set back to Pulser 0 -> reset for CTA usage
Here values as they were set (??.10.24):
caget SAR-EXPMX-EVR0:FrontUnivOut4-Src-Pulse-RB SAR-EXPMX-EVR0:FrontUnivOut5-Src-Pulse-RB \
SAR-EXPMX-EVR0:Pul0-Polarity-Sel SAR-EXPMX-EVR0:Pul0-Delay-RB SAR-EXPMX-EVR0:Pul0-Width-RB \
SAR-EXPMX-EVR0:Pul1-Polarity-Sel SAR-EXPMX-EVR0:Pul1-Delay-RB SAR-EXPMX-EVR0:Pul1-Width-RB \
SAR-EXPMX-EVR0:Pul0-Evt-Trig0-SP SAR-EXPMX-EVR0:Pul1-Evt-Trig0-SP
SAR-EXPMX-EVR0:FrontUnivOut4-Src-Pulse-RB "Pulser 0"
SAR-EXPMX-EVR0:FrontUnivOut5-Src-Pulse-RB "Pulser 1"
SAR-EXPMX-EVR0:Pul0-Polarity-Sel "Active Low"
SAR-EXPMX-EVR0:Pul0-Delay-RB 0.000 us
SAR-EXPMX-EVR0:Pul0-Width-RB 5000.000 us
SAR-EXPMX-EVR0:Pul1-Polarity-Sel "Active Low"
SAR-EXPMX-EVR0:Pul1-Delay-RB 750.000 us
SAR-EXPMX-EVR0:Pul1-Width-RB 5000.000 us
SAR-EXPMX-EVR0:Pul0-Evt-Trig0-SP 214
SAR-EXPMX-EVR0:Pul1-Evt-Trig0-SP 40
testing simulated start triggers
Gather.Enable=1 // else triggerSync stops if value is 0
Coord[1].Q[0]=-3 // simulate motion ready
Coord[1].Q[10]=0 // turn off simulated start event
root@:/opt/ppmac#
LD_LIBRARY_PATH=/opt/ppmac/libppmac/ /tmp/triggerSync 14 10 0 # trigger all 10 ms, simulated start and frame triggers , no sync , verbose
LD_LIBRARY_PATH=/opt/ppmac/libppmac/ /tmp/triggerSync 15 10 0 # trigger all 10 ms, simulated start and frame triggers , with sync, verbose
LD_LIBRARY_PATH=/opt/ppmac/libppmac/ /tmp/triggerSync 11 10 0 # trigger all 10 ms, simulated start, real frame triggers , with sync, verbose
LD_LIBRARY_PATH=/opt/ppmac/libppmac/ /tmp/triggerSync 7 10 0 # trigger all 10 ms, simulated start and frame triggers , with sync, minimal verbose
....
Coord[1].Q[10]=1 # turn on simulated start event
.s.s.s.s.
Coord[1].Q[10]=0 # turn off simulated start event
....
Coord[1].Q[10]=1 # turn on simulated start event
.s.s.s.s.
Coord[1].Q[0]=0 # simulate ready at start position
.s.s.s.x.........
Gather.Enable=0 # end triggerSync
testing real start triggers
Gather.Enable=1 // else triggerSync stops if value is 0
Coord[1].Q[0]=0 // simulate motion not ready (!=-3)
caget SAR-EXPMX-EVR0:FrontUnivOut4-Src-Pulse-RB
->SAR-EXPMX-EVR0:FrontUnivOut4-Src-Pulse-RB "Pulser 0"
# set start EVT to value 0 (=Force Hi)
caput SAR-EXPMX-EVR0:FrontUnivOut4-Src-Scale-SP 9
root@:/opt/ppmac#
LD_LIBRARY_PATH=/opt/ppmac/libppmac/ /tmp/triggerSync 9 10 0 # trigger all 10 ms, real start and frame triggers, with sync, verbose
LD_LIBRARY_PATH=/opt/ppmac/libppmac/ /tmp/triggerSync 1 10 0 # trigger all 10 ms, real start and frame triggers, with sync, minimal verbose
Coord[1].Q[0]=-3 // simulate motion ready
Coord[1].Q[0] // changed to -2 to indicate 'wait for start EVT
# set start EVT to value 1 (=Force Lo)
caput SAR-EXPMX-EVR0:FrontUnivOut4-Src-Scale-SP 8
# reset EVT default value (Pulser 0)
caput SAR-EXPMX-EVR0:FrontUnivOut4-Src-Pulse-SP 0
Gather.Enable=0 # end triggerSync