diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index 258e18f7e..1ce6791a7 100755 Binary files a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer and b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer differ diff --git a/slsDetectorServers/eigerDetectorServer/FebControl.c b/slsDetectorServers/eigerDetectorServer/FebControl.c index 7ddd6823e..e75a1a2fc 100644 --- a/slsDetectorServers/eigerDetectorServer/FebControl.c +++ b/slsDetectorServers/eigerDetectorServer/FebControl.c @@ -1106,7 +1106,7 @@ int Feb_Control_SendSoftwareTrigger() { LOG(logERROR, ("Could not give software trigger\n")); return 0; } - LOG(logINFO, ("Software Internal Trigger Sent!\n")); + LOG(logDEBUG1, ("Software Internal Trigger Sent!\n")); return 1; } @@ -1129,7 +1129,7 @@ int Feb_Control_SoftwareTrigger(int block) { // wait for next trigger ready if (block) { - LOG(logINFO, ("Blocking Software Trigger\n")); + LOG(logDEBUG1, ("Blocking Software Trigger\n")); int readyForTrigger = 0; if (!Feb_Control_IsReadyForTrigger(&readyForTrigger)) { LOG(logERROR, ("Could not read FEB_REG_STATUS reg after giving " @@ -1138,6 +1138,15 @@ int Feb_Control_SoftwareTrigger(int block) { } while (!readyForTrigger) { + // end of acquisition (cannot monitor readyForTrigger) + int status = Feb_Control_AcquisitionInProgress(); + if (status == STATUS_ERROR) { + LOG(logERROR, ("Status: ERROR reading DAQ status register\n")); + return 0; + } else if (status == STATUS_IDLE) { + break; + } + usleep(5000); if (!Feb_Control_IsReadyForTrigger(&readyForTrigger)) { LOG(logERROR, ("Could not read FEB_REG_STATUS reg after " @@ -1145,8 +1154,10 @@ int Feb_Control_SoftwareTrigger(int block) { return 0; } } - LOG(logINFO, ("Done waiting (wait for trigger)!\n")); + LOG(logDEBUG2, ("Done waiting (wait for trigger)!\n")); } + LOG(logINFO, ("%s Software Trigger %s\n", (block ? "Blocking" : "Non blocking"), (block ? "Acquired" : "Sent"))); + fflush(stdout); } return 1; diff --git a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer index fde66559a..990eb2342 100755 Binary files a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer and b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer differ diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer index 2b6632367..b58bbfb2b 100755 Binary files a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer and b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer differ diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c index c7a9814fe..7aa42ade5 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c @@ -1833,15 +1833,23 @@ int checkDetectorType() { int type = atoi(buffer); if (type > TYPE_NO_MODULE_STARTING_VAL) { LOG(logERROR, - ("No Module attached! Expected %d for Gotthard2, got %d\n", - TYPE_GOTTHARD2_MODULE_VAL, type)); + ("No Module attached! Expected %d, %d or %d for Gotthard2, got %d\n", + TYPE_GOTTHARD2_MODULE_VAL, + TYPE_GOTTHARD2_25UM_MASTER_MODULE_VAL, + TYPE_GOTTHARD2_25UM_SLAVE_MODULE_VAL, + type)); return -2; } - if (abs(type - TYPE_GOTTHARD2_MODULE_VAL) > TYPE_TOLERANCE) { + if ((abs(type - TYPE_GOTTHARD2_MODULE_VAL) > TYPE_TOLERANCE) && + (abs(type - TYPE_GOTTHARD2_25UM_MASTER_MODULE_VAL) > TYPE_TOLERANCE) && + (abs(type - TYPE_GOTTHARD2_25UM_SLAVE_MODULE_VAL) > TYPE_TOLERANCE)) { LOG(logERROR, - ("Wrong Module attached! Expected %d for Gotthard2, got %d\n", - TYPE_GOTTHARD2_MODULE_VAL, type)); + ("Wrong Module attached! Expected %d, %d or %d for Gotthard2, got %d\n", + TYPE_GOTTHARD2_MODULE_VAL, + TYPE_GOTTHARD2_25UM_MASTER_MODULE_VAL, + TYPE_GOTTHARD2_25UM_SLAVE_MODULE_VAL, + type)); return FAIL; } return OK; diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h index 46db18153..91293d7e3 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h @@ -26,7 +26,10 @@ #define ADU_MAX_BITS (12) #define MAX_FRAMES_IN_BURST_MODE (2720) #define TYPE_GOTTHARD2_MODULE_VAL (536) -#define TYPE_TOLERANCE (10) +#define TYPE_GOTTHARD2_25UM_MASTER_MODULE_VAL (683) +#define TYPE_GOTTHARD2_25UM_SLAVE_MODULE_VAL (704) +#define TYPE_GOTTHARD2_MODULE_VAL (536) +#define TYPE_TOLERANCE (5) #define TYPE_NO_MODULE_STARTING_VAL (800) #define INITIAL_STARTUP_WAIT (1 * 1000 * 1000) diff --git a/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer b/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer index 689a040a4..dafbc195d 100755 Binary files a/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer and b/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer differ diff --git a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer index c053513f2..6a922080b 100755 Binary files a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer and b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer differ diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index 65acee737..b90bf7c33 100755 Binary files a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer and b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer differ diff --git a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer index c6a8752f1..fd9b15709 100755 Binary files a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer and b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer differ diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h index ef4354f82..35f53caef 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h @@ -21,7 +21,7 @@ #define TYPE_FILE_NAME ("/etc/devlinks/type") #define DAC_MAX_MV (2048) #define TYPE_MYTHEN3_MODULE_VAL (93) -#define TYPE_TOLERANCE (10) +#define TYPE_TOLERANCE (5) #define TYPE_NO_MODULE_STARTING_VAL (800) #define MAX_EXT_SIGNALS (8) diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 063f33cb1..fe025fe37 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -3,10 +3,10 @@ #define APILIB 0x210225 #define APIRECEIVER 0x210225 #define APIGUI 0x210225 -#define APICTB 0x210722 -#define APIGOTTHARD 0x210722 -#define APIGOTTHARD2 0x210722 -#define APIMYTHEN3 0x210722 -#define APIMOENCH 0x210722 -#define APIEIGER 0x210722 -#define APIJUNGFRAU 0x210723 +#define APICTB 0x210727 +#define APIGOTTHARD 0x210727 +#define APIGOTTHARD2 0x210727 +#define APIJUNGFRAU 0x210727 +#define APIMYTHEN3 0x210727 +#define APIMOENCH 0x210727 +#define APIEIGER 0x210727