diff --git a/merlinApp/Db/merlin.template b/merlinApp/Db/merlin.template index 35aa4e9..21127f0 100644 --- a/merlinApp/Db/merlin.template +++ b/merlinApp/Db/merlin.template @@ -32,7 +32,15 @@ record(mbbo,"$(P)$(R)TriggerMode") { field(FRVL,"4") field(FRST,"Trigger both rising") field(FVVL,"5") - field(FVST,"Software") + field(FVST,"LVDS Trig Enable") + field(SXVL,"6") + field(SXST,"LVDS Trig start rising") + field(SVVL,"7") + field(SVST,"LVDS Trig start falling") + field(EIVL,"8") + field(EIST,"LVDS Trig both rising") + field(NIVL,"9") + field(NIST,"Software") } record(mbbi,"$(P)$(R)TriggerMode_RBV") { @@ -48,7 +56,15 @@ record(mbbi,"$(P)$(R)TriggerMode_RBV") { field(FRVL,"4") field(FRST,"Trigger both rising ") field(FVVL,"5") - field(FVST,"Software") + field(FVST,"LVDS Trig Enable") + field(SXVL,"6") + field(SXST,"LVDS Trig start rising") + field(SVVL,"7") + field(SVST,"LVDS Trig start falling") + field(EIVL,"8") + field(EIST,"LVDS Trig both rising") + field(NIVL,"9") + field(NIST,"Software") } # We redefine the states for the FileFormat records defined in NDFile.template diff --git a/merlinApp/src/merlinDetector.cpp b/merlinApp/src/merlinDetector.cpp index fc1c7ee..401a2fc 100644 --- a/merlinApp/src/merlinDetector.cpp +++ b/merlinApp/src/merlinDetector.cpp @@ -769,6 +769,32 @@ asynStatus merlinDetector::setAcquireParams() cmdConnection->mpxSet(MPXVAR_TRIGGERSTOP, TMTrigRising, Labview_DEFAULT_TIMEOUT); break; + + case TMLVDSExternalEnable: + cmdConnection->mpxSet(MPXVAR_TRIGGERSTART, TMLVDSTrigRising, + Labview_DEFAULT_TIMEOUT); + cmdConnection->mpxSet(MPXVAR_TRIGGERSTOP, TMLVDSTrigFalling, + Labview_DEFAULT_TIMEOUT); + break; + case TMLVDSExternalTriggerLow: + cmdConnection->mpxSet(MPXVAR_TRIGGERSTART, TMLVDSTrigFalling, + Labview_DEFAULT_TIMEOUT); + cmdConnection->mpxSet(MPXVAR_TRIGGERSTOP, TMTrigInternal, + Labview_DEFAULT_TIMEOUT); + break; + case TMLVDSExternalTriggerHigh: + cmdConnection->mpxSet(MPXVAR_TRIGGERSTART, TMLVDSTrigRising, + Labview_DEFAULT_TIMEOUT); + cmdConnection->mpxSet(MPXVAR_TRIGGERSTOP, TMTrigInternal, + Labview_DEFAULT_TIMEOUT); + break; + case TMLVDSExternalTriggerRising: + cmdConnection->mpxSet(MPXVAR_TRIGGERSTART, TMLVDSTrigRising, + Labview_DEFAULT_TIMEOUT); + cmdConnection->mpxSet(MPXVAR_TRIGGERSTOP, TMLVDSTrigRising, + Labview_DEFAULT_TIMEOUT); + break; + case TMSoftwareTrigger: cmdConnection->mpxSet(MPXVAR_TRIGGERSTART, TMTrigSoftware, Labview_DEFAULT_TIMEOUT); diff --git a/merlinApp/src/merlinDetector.h b/merlinApp/src/merlinDetector.h index 4b1e7b1..cbc64d3 100644 --- a/merlinApp/src/merlinDetector.h +++ b/merlinApp/src/merlinDetector.h @@ -34,6 +34,10 @@ typedef enum TMExternalTriggerHigh, TMExternalTriggerLow, TMExternalTriggerRising, + TMLVDSExternalEnable, + TMLVDSExternalTriggerHigh, + TMLVDSExternalTriggerLow, + TMLVDSExternalTriggerRising, TMSoftwareTrigger } merlinTriggerMode;/** Trigger modes */ @@ -64,7 +68,9 @@ typedef enum #define TMTrigInternal (char*)"0" #define TMTrigRising (char*)"1" #define TMTrigFalling (char*)"2" -#define TMTrigSoftware (char*)"3" +#define TMLVDSTrigRising (char*)"3" +#define TMLVDSTrigFalling (char*)"4" +#define TMTrigSoftware (char*)"5" /** ASYN PARAMETER NAMES **/