mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00
added burst_trigger mode for eiger to replace trigger_readout mode
This commit is contained in:
parent
9574e09033
commit
35b02c9cf0
@ -263,7 +263,8 @@ enum externalCommunicationMode{
|
||||
TRIGGER_EXPOSURE, /**< trigger mode i.e. exposure is triggered */
|
||||
TRIGGER_READOUT, /**< stop trigger mode i.e. readout is triggered by external signal */
|
||||
GATE_FIX_NUMBER, /**< gated and reads out after a fixed number of gates */
|
||||
GATE_WITH_START_TRIGGER /**< gated with start trigger */
|
||||
GATE_WITH_START_TRIGGER, /**< gated with start trigger */
|
||||
BURST_TRIGGER /**< trigger a burst of frames */
|
||||
};
|
||||
/**
|
||||
detector IDs/versions
|
||||
|
Binary file not shown.
@ -665,7 +665,7 @@ int setThresholdEnergy(int ev, int imod){
|
||||
if(ev >= 0) {
|
||||
|
||||
enum detDacIndex ind[NGAIN]={VCMP_LL,VCMP_LR,VCMP_RL, VCMP_RR};
|
||||
char* vcmp={"vcmp_ll","vcmp_lr","vcmp_rl","vcmp_rr"};
|
||||
const char* vcmp[4]={"vcmp_ll","vcmp_lr","vcmp_rl","vcmp_rr"};
|
||||
int valid=0;
|
||||
|
||||
//calculate thrvalues for dacs
|
||||
@ -1199,7 +1199,7 @@ enum externalCommunicationMode setTiming( enum externalCommunicationMode arg){
|
||||
switch((int)arg){
|
||||
case AUTO_TIMING: ret = 0; break;
|
||||
case TRIGGER_EXPOSURE: ret = 2; break;
|
||||
case TRIGGER_READOUT: ret = 1; break;
|
||||
case BURST_TRIGGER: ret = 1; break;
|
||||
case GATE_FIX_NUMBER: ret = 3; break;
|
||||
}
|
||||
printf(" Setting Triggering Mode: %d\n",(int)ret);
|
||||
@ -1211,7 +1211,7 @@ enum externalCommunicationMode setTiming( enum externalCommunicationMode arg){
|
||||
switch((int)ret){
|
||||
case 0: ret = AUTO_TIMING; break;
|
||||
case 2: ret = TRIGGER_EXPOSURE; break;
|
||||
case 1: ret = TRIGGER_READOUT; break;
|
||||
case 1: ret = BURST_TRIGGER; break;
|
||||
case 3: ret = GATE_FIX_NUMBER; break;
|
||||
default:
|
||||
printf("Unknown trigger mode found %d\n",ret);
|
||||
|
@ -1817,7 +1817,8 @@ slsDetectorDefs::externalSignalFlag slsDetector::setExternalSignalFlags(external
|
||||
GATE_FIX_NUMBER,
|
||||
GATE_FIX_DURATION,
|
||||
GATE_WITH_START_TRIGGER,
|
||||
GATE_COINCIDENCE_WITH_INTERNAL_ENABLE
|
||||
BURST_TRIGGER,
|
||||
//GATE_COINCIDENCE_WITH_INTERNAL_ENABLE
|
||||
};
|
||||
|
||||
*/
|
||||
|
@ -692,7 +692,7 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef
|
||||
|
||||
/**
|
||||
returns external communication mode string from index
|
||||
\param f can be AUTO_TIMING, TRIGGER_EXPOSURE, TRIGGER_READOUT, GATE_FIX_NUMBER, GATE_WITH_START_TRIGGER, GET_EXTERNAL_COMMUNICATION_MODE
|
||||
\param f can be AUTO_TIMING, TRIGGER_EXPOSURE, TRIGGER_READOUT, GATE_FIX_NUMBER, GATE_WITH_START_TRIGGER, BURST_TRIGGER, GET_EXTERNAL_COMMUNICATION_MODE
|
||||
\returns auto, trigger, ro_trigger, gating, triggered_gating, unknown
|
||||
*/
|
||||
|
||||
@ -703,6 +703,7 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef
|
||||
case TRIGGER_READOUT: return string("ro_trigger"); \
|
||||
case GATE_FIX_NUMBER: return string("gating"); \
|
||||
case GATE_WITH_START_TRIGGER: return string("triggered_gating"); \
|
||||
case BURST_TRIGGER: return string("burst_trigger"); \
|
||||
default: return string( "unknown"); \
|
||||
} };
|
||||
|
||||
@ -711,7 +712,7 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef
|
||||
/**
|
||||
returns external communication mode index from string
|
||||
\param sval can be auto, trigger, ro_trigger, gating, triggered_gating
|
||||
\returns AUTO_TIMING, TRIGGER_EXPOSURE, TRIGGER_READOUT, GATE_FIX_NUMBER, GATE_WITH_START_TRIGGER, GET_EXTERNAL_COMMUNICATION_MODE
|
||||
\returns AUTO_TIMING, TRIGGER_EXPOSURE, TRIGGER_READOUT, GATE_FIX_NUMBER, GATE_WITH_START_TRIGGER, BURST_TRIGGER, GET_EXTERNAL_COMMUNICATION_MODE
|
||||
*/
|
||||
|
||||
static externalCommunicationMode externalCommunicationType(string sval){\
|
||||
@ -720,6 +721,7 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef
|
||||
if (sval=="ro_trigger") return TRIGGER_READOUT;\
|
||||
if (sval=="gating") return GATE_FIX_NUMBER;\
|
||||
if (sval=="triggered_gating") return GATE_WITH_START_TRIGGER;\
|
||||
if (sval=="burst_trigger") return BURST_TRIGGER;\
|
||||
return GET_EXTERNAL_COMMUNICATION_MODE; \
|
||||
};
|
||||
|
||||
|
@ -451,7 +451,7 @@ enum externalSignalFlag setExtSignal(int signalindex, enum externalSignalFlag f
|
||||
break;
|
||||
case RO_TRIGGER_IN_RISING_EDGE:
|
||||
case RO_TRIGGER_IN_FALLING_EDGE:
|
||||
if (timingMode==TRIGGER_READOUT)
|
||||
if (timingMode==BURST_TRIGGER)
|
||||
setFPGASignal(signalindex,flag);
|
||||
else
|
||||
setFPGASignal(signalindex,SIGNAL_OFF);
|
||||
|
@ -816,7 +816,8 @@ enum externalCommunicationMode{
|
||||
GATE_FIX_NUMBER,
|
||||
GATE_FIX_DURATION,
|
||||
GATE_WITH_START_TRIGGER,
|
||||
GATE_COINCIDENCE_WITH_INTERNAL_ENABLE
|
||||
// GATE_COINCIDENCE_WITH_INTERNAL_ENABLE,
|
||||
BURST_TRIGGER
|
||||
};
|
||||
*/
|
||||
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
||||
@ -827,7 +828,7 @@ enum externalCommunicationMode{
|
||||
case GET_EXTERNAL_COMMUNICATION_MODE:
|
||||
case AUTO_TIMING:
|
||||
case TRIGGER_EXPOSURE:
|
||||
case TRIGGER_READOUT:
|
||||
case BURST_TRIGGER:
|
||||
case GATE_FIX_NUMBER:
|
||||
break;
|
||||
#endif
|
||||
@ -2560,7 +2561,7 @@ int set_timer(int file_des) {
|
||||
switch(ind) {
|
||||
#ifdef EIGERD
|
||||
case SUBFRAME_ACQUISITION_TIME:
|
||||
if (tns > (MAX_SUBFRAME_EXPOSURE_VAL_IN_10NS*10) ){
|
||||
if (tns > ((int64_t)MAX_SUBFRAME_EXPOSURE_VAL_IN_10NS*10) ){
|
||||
ret=FAIL;
|
||||
strcpy(mess,"Sub Frame exposure time should not exceed 5.368 seconds\n");
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user