Newer
Older
################################################################################
#
# Detector: 0-d (intensity)
#
################################################################################
record(sseq, "$(P)$(INSTANCE):det:FullTrigger"){
# field(DO1, "1")
# field(LNK1, "$(P)$(INSTANCE):DimCalc.PROC PP")
field(STR2, "Set")
field(LNK2, "$(P)NDSA:NewArray PP")
field(STR3, "Acquire")
field(LNK3, "$(P)NDSA:Acquire PP")
field(STR4, "Acquiring")
field(LNK4, "$(P)$(INSTANCE):det:Acquire PP")
}
record(acalcout, "$(P)$(INSTANCE):DimCalc")
{
field(DTYP, "Soft Channel")
field(DESC, "Setting Dims of NDSA")
field(A, "$(XSIZE)")
field(B, "$(YSIZE)")
field(CALC, "ARR(A){0,0}+ARR(B)>>1")
field(SIZE, "NELM")
field(OUT, "$(P)$(NDSA):Dimensions PP NMS")
field(DISV, "1")
field(NELM, "2")
}
record(busy, "$(P)$(INSTANCE):det:Acquire"){
record(calcout, "$(P)$(INSTANCE):det:triggerCalc")
field(INPA, "$(P)$(INSTANCE):det:Acquire CP")
field(OUT, "$(P)$(INSTANCE):det:triggerPyDEV.RVAL PP")
field(FLNK, "$(P)$(INSTANCE):det:triggerPyDEV.PROC")
#TODO make XSIZE here a PV? And then same PV could be used for DimCalc
record(bo, "$(P)$(INSTANCE):det:triggerPyDEV"){
field(OUT, "@$(OBJ).detectorUpdate(zeroD = False, nbins=$(XSIZE))")
record(ai, "$(P)$(INSTANCE):det:intensity"){
field(FLNK, "$(P)$(INSTANCE):det:AcquireDone")
record(dfanout, "$(P)$(INSTANCE):det:AcquireDone"){
field(OUTA, "$(P)$(INSTANCE):det:Acquire PP")
################################################################################
#
# Detector: 2-d Image
#
#
################################################################################
record(waveform, "$(P)$(INSTANCE):raw_image"){
field(DTYP, "pydev")
field(INP, "@pydev.iointr('raw_image')")
field(SCAN, "I/O Intr")
field(PREC, "4")
field(NELM, "$(SIZE)")
field(FTVL, "$(FTVL)")
field(FLNK, "$(P)$(INSTANCE):imageTransfer")
}
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
record(acalcout, "$(P)$(INSTANCE):imageTransfer")
{
field(DTYP, "Soft Channel")
field(DESC, "")
field(INAA, "$(P)$(INSTANCE):raw_image")
field(CALC, "AA")
field(SIZE, "NELM")
field(OUT, "$(P)$(NDSA):ArrayIn PP NMS")
field(DISV, "1")
field(NELM, "$(SIZE)")
}
record(waveform, "$(P)$(INSTANCE):h_coord"){
field(DTYP, "pydev")
field(INP, "@pydev.iointr('h_coord')")
field(SCAN, "I/O Intr")
field(PREC, "4")
field(NELM, "$(XSIZE)")
field(FTVL, "FLOAT")
}
record(waveform, "$(P)$(INSTANCE):v_coord"){
field(DTYP, "pydev")
field(INP, "@pydev.iointr('v_coord')")
field(SCAN, "I/O Intr")
field(PREC, "4")
field(NELM, "$(YSIZE)")
field(FTVL, "FLOAT")
}