Add possibility to trigger processing by timing event
New input is added which user can set to point to timing trigger PV. Every time the PV will be updated, the record will be processed. That is an alternate solution to user defined events - the purpose will be to keep waveforms better synchronized. If some system does not support timing trigger, user events can be used instead.
So now there are 2 options possible for triggering:
- User defined events
require displayform,ntpv-tim-evt
#ntpv
epicsEnvSet("P", "TIGER-010:")
epicsEnvSet("R", "RFS-DIG-101:")
#Set trigger to process downsampled waveforms
epicsEnvSet("TRIG_NAME", "TriggerLttbProc")
dbLoadRecords("$(displayform_DIR)/db/event_trigger.template", "P=$(P), R=$(R), TRIG_NAME=$(TRIG_NAME)")
#Decimation on downsampled channel waveforms
dbLoadRecords("$(displayform_DIR)/db/lttb_2axis.template", "P=$(P), R=$(R), INP_Y=$(P)$(R)Dwn7-Cmp0, INP_X=$(P)$(R)Dwn7-XAxis, OUTPV=Dwn0-Cmp0-Dec, NSAM=$(NSAM=100), MAXNSAM=$(MAXNSAM=70000), LTTB=$(LTTB=Dwn7-Cmp0-Dec), TRIG_NAME=$(TRIG_NAME)")
- Timing events
require displayform,ntpv-tim-evt
epicsEnvSet("P", "TIGER-010:")
epicsEnvSet("R", "RFS-DIG-101:")
epicsEnvSet("TIM_EVT_PV", "TIGER-010:RFS-EVR-101:EvtCCnt-I")
epicsEnvSet("TIM_EVT", "$(TIM_EVT_PV) CP")
dbLoadRecords("$(displayform_DIR)/db/lttb_2axis.template", "P=$(P), R=$(R), INP_Y=$(P)$(R)Dwn7-Cmp0, INP_X=$(P)$(R)Dwn7-XAxis, OUTPV=Dwn7-Cmp0-Dec, NSAM=$(NSAM=100), MAXNSAM=$(MAXNSAM=70000), LTTB=$(LTTB=Dwn7-Cmp0-Dec), TIM_EVT=$(TIM_EVT=)")
Edited by Mateusz Nabywaniec