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 ```