Skip to content

Add possibility to trigger processing by timing event

Mateusz Nabywaniec requested to merge ntpv-tim-evt into ntpv

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:

  1. 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)")
  1. 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

Merge request reports