From 2562f3d732ad2e4f28b1d728dfae4e9c3922c8c6 Mon Sep 17 00:00:00 2001 From: Jim Larsson Date: Fri, 23 Feb 2024 14:34:52 +0100 Subject: [PATCH] (Modify) Logic to #StopAfterCycles for cont. mode --- ADOrca.Makefile | 2 +- ADOrcaApp/Db/orca.template | 3 ++- ADOrcaApp/src/orca.cpp | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ADOrca.Makefile b/ADOrca.Makefile index 5d63f25..9bee891 100644 --- a/ADOrca.Makefile +++ b/ADOrca.Makefile @@ -67,7 +67,7 @@ APPCMDS := $(APP)/cmds # ############################################################################ -TEMPLATES += $(wildcard $(APPDB)/*.db) +# TEMPLATES += $(wildcard $(APPDB)/*.db) TEMPLATES += $(wildcard $(ADCORE_DIR)/*.db) # USR_INCLUDES += -I$(where_am_I)$(APPSRC) diff --git a/ADOrcaApp/Db/orca.template b/ADOrcaApp/Db/orca.template index bfaf218..3806d11 100644 --- a/ADOrcaApp/Db/orca.template +++ b/ADOrcaApp/Db/orca.template @@ -217,10 +217,11 @@ record(ai, "$(P)$(R)#NCyclesPartial") { ## Stop sequence after N cycles record(calcout, "$(P)$(R)#StopAfterCycles") { field(DESC, "StopAfterCycles") - field(CALC, "C < (A + B)") + field(CALC, "(C < (A + B)) || (D=2)") field(INPA, "$(P)$(R)#NCyclesPartial NPP") field(INPB, "$(P)$(R)NumImages_RBV NPP") field(INPC, "$(P)$(R)Cycle-Cnt CPP") + field(INPD, "$(P)$(R)ImageMode_RBV NPP") field(OOPT, "When Zero") field(OUT, "$(P)$(R)#SoftSeqDisable PP") } diff --git a/ADOrcaApp/src/orca.cpp b/ADOrcaApp/src/orca.cpp index 0d7d1f0..004243f 100644 --- a/ADOrcaApp/src/orca.cpp +++ b/ADOrcaApp/src/orca.cpp @@ -929,9 +929,10 @@ void Orca::imageTask(){ getDoubleParam(ADAcquirePeriod, &acqusitionRate); - maxAcqusitionTime = acqusitionRate * 2; + maxAcqusitionTime = acqusitionRate * 2; epicsTimeGetCurrent(¤tAcqTime); if (epicsTimeDiffInSeconds(¤tAcqTime, &prevAcqTime) > maxAcqusitionTime) { + printf("[DEBUG]::maxAcqusitionTime %f\n", maxAcqusitionTime); setShutter(0); stopAcquire(); setIntegerParam(ADAcquire, 0);