diff --git a/slsDetectorSoftware/commonFiles/sls_detector_defs.h b/slsDetectorSoftware/commonFiles/sls_detector_defs.h index dde67c21f..e07b1f15d 100755 --- a/slsDetectorSoftware/commonFiles/sls_detector_defs.h +++ b/slsDetectorSoftware/commonFiles/sls_detector_defs.h @@ -376,6 +376,7 @@ enum detectorSettings{ FIXGAIN2, /**< fix gain 2 */ FORCESWITCHG1, /**< force switch gain 1 */ FORCESWITCHG2, /**< force switch gain 2 */ + VERYLOWGAIN, /**< very low gain settings */ UNDEFINED=200, /**< undefined or custom settings */ UNINITIALIZED /**< uninitialiazed (status at startup) */ }; diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.0.3.14.1 b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.0.3.14.2 similarity index 72% rename from slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.0.3.14.1 rename to slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.0.3.14.2 index 2596bcc95..0fe8abc7a 100755 Binary files a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.0.3.14.1 and b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv2.0.3.14.2 differ diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index f891874b5..b6c1c5f06 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -3240,7 +3240,8 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise case VERYHIGHGAIN: if ((thisDetector->myDetectorType == GOTTHARD) || (thisDetector->myDetectorType == PROPIX) || - (thisDetector->myDetectorType == MOENCH)) { + (thisDetector->myDetectorType == MOENCH)|| + (thisDetector->myDetectorType == EIGER)) { ssettings="/veryhighgain"; thisDetector->currentSettings=VERYHIGHGAIN; } @@ -3277,6 +3278,12 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise thisDetector->currentSettings=FORCESWITCHG2; } break; + case VERYLOWGAIN: + if (thisDetector->myDetectorType == EIGER) { + ssettings="/verylowgain"; + thisDetector->currentSettings=VERYLOWGAIN; + } + break; default: break; } diff --git a/slsDetectorSoftware/slsDetector/slsDetectorBase.h b/slsDetectorSoftware/slsDetector/slsDetectorBase.h index 6a6612114..62eb83006 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorBase.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorBase.h @@ -653,7 +653,7 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef \param s can be STANDARD, FAST, HIGHGAIN, DYNAMICGAIN, LOWGAIN, MEDIUMGAIN, VERYHIGHGAIN, LOWNOISE, DYNAMICHG0, FIXGAIN1, FIXGAIN2, FORCESWITCHG1, FORCESWITCHG2, GET_SETTINGS \returns standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain, lownoise, - dynamichg0, fixgain1, fixgain2, forceswitchg1, forceswitchg2, undefined + dynamichg0, fixgain1, fixgain2, forceswitchg1, forceswitchg2, verylowgain, undefined */ static string getDetectorSettings(detectorSettings s){\ switch(s) { \ @@ -670,6 +670,7 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef case FIXGAIN2: return string("fixgain2"); \ case FORCESWITCHG1: return string("forceswitchg1");\ case FORCESWITCHG2: return string("forceswitchg2");\ + case VERYLOWGAIN: return string("verylowgain");\ default: return string("undefined"); \ }}; @@ -677,7 +678,7 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef \param s can be standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain, lownoise, dynamichg0, fixgain1, fixgain2, forceswitchg1, forceswitchg2, undefined \returns setting index STANDARD, FAST, HIGHGAIN, DYNAMICGAIN, LOWGAIN, MEDIUMGAIN, VERYHIGHGAIN,LOWNOISE, - DYNAMICHG0, FIXGAIN1, FIXGAIN2, FORCESWITCHG1, FORCESWITCHG2, GET_SETTINGS + DYNAMICHG0, FIXGAIN1, FIXGAIN2, FORCESWITCHG1, FORCESWITCHG2, VERYLOWGAIN, GET_SETTINGS */ static detectorSettings getDetectorSettings(string s){ \ @@ -694,6 +695,7 @@ class slsDetectorBase : public virtual slsDetectorDefs, public virtual errorDef if (s=="fixgain2") return FIXGAIN2; \ if (s=="forceswitchg1") return FORCESWITCHG1; \ if (s=="forceswitchg2") return FORCESWITCHG2; \ + if (s=="verylowgain") return VERYLOWGAIN; \ return GET_SETTINGS; \ }; diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index e18f6ffd6..599c681ad 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -1929,6 +1929,8 @@ int set_module(int file_des) { case STANDARD: case HIGHGAIN: case LOWGAIN: + case VERYHIGHGAIN: + case VERYLOWGAIN: break; default: sprintf(mess,"This setting %d does not exist for this detector\n",myModule.reg);