diff --git a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer index 7d258c603..1d48a328f 100755 Binary files a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer and b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer differ diff --git a/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c index d73318d83..5aa2f401e 100755 --- a/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c @@ -268,6 +268,9 @@ u_int32_t getDetectorIP() { #endif fgets(output, sizeof(output), sysFile); pclose(sysFile); + if (strlen(output) <= 1) { + return 0; + } //converting IPaddress to hex. char* pcword = strtok (output,"."); @@ -315,6 +318,14 @@ void initControlServer() { FILE_LOG(logDEBUG1, ("Control server: BEB Initialization done\n")); setupDetector(); + // activate (if it gets ip) (later FW will deactivate at startup) + if (getDetectorIP() != 0) { + Beb_Activate(1); + Feb_Control_activate(1); + } else { + Beb_Activate(0); + Feb_Control_activate(0); + } } initCheckDone = 1; #endif @@ -330,6 +341,15 @@ void initStopServer() { Feb_Control_FebControl(); Feb_Control_Init(master,top,normal,getDetectorNumber()); FILE_LOG(logDEBUG1, ("Stop server: FEB Initialization done\n")); + // activate (if it gets ip) (later FW will deactivate at startup) + // also needed for stop server for status + if (getDetectorIP() != 0) { + Beb_Activate(1); + Feb_Control_activate(1); + } else { + Beb_Activate(0); + Feb_Control_activate(0); + } #endif } diff --git a/slsDetectorServers/eigerDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/eigerDetectorServer/slsDetectorServer_defs.h index 25a050836..a885456ee 100755 --- a/slsDetectorServers/eigerDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/eigerDetectorServer/slsDetectorServer_defs.h @@ -76,6 +76,8 @@ enum CLKINDEX {RUN_CLK, NUM_CLOCKS}; #define DEFAULT_TEST_MODE (0) #define DEFAULT_HIGH_VOLTAGE (0) +#define MAX_TRIMBITS_VALUE (63) + #define MAX_ROWS_PER_READOUT (256) #define MAX_PACKETS_PER_REQUEST (256) diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index 0c312eb69..7b8703df0 100755 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -2983,9 +2983,9 @@ int set_all_trimbits(int file_des) { // set if (arg >= 0 && Server_VerifyLock() == OK) { - if (arg > 63) { + if (arg > MAX_TRIMBITS_VALUE) { ret = FAIL; - strcpy(mess, "Cannot set all trimbits. Range: 0 - 63\n"); + sprintf(mess, "Cannot set all trimbits. Range: 0 - %d\n", MAX_TRIMBITS_VALUE); FILE_LOG(logERROR, (mess)); } else { ret = setAllTrimbits(arg); diff --git a/slsDetectorSoftware/src/slsDetector.cpp b/slsDetectorSoftware/src/slsDetector.cpp index d7902f638..b791aed81 100755 --- a/slsDetectorSoftware/src/slsDetector.cpp +++ b/slsDetectorSoftware/src/slsDetector.cpp @@ -2685,6 +2685,7 @@ int slsDetector::activate(int enable) { int retval = -1; FILE_LOG(logDEBUG1) << "Setting activate flag to " << enable; sendToDetector(F_ACTIVATE, enable, retval); + sendToDetectorStop(F_ACTIVATE, enable, retval); FILE_LOG(logDEBUG1) << "Activate: " << retval; shm()->activated = static_cast(retval); if (shm()->useReceiverFlag) { diff --git a/slsReceiverSoftware/src/Implementation.cpp b/slsReceiverSoftware/src/Implementation.cpp index c3136aeb9..0072f7d89 100755 --- a/slsReceiverSoftware/src/Implementation.cpp +++ b/slsReceiverSoftware/src/Implementation.cpp @@ -1241,7 +1241,7 @@ void Implementation::setSubPeriod(const uint64_t i) { FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called"; subPeriod = i; - FILE_LOG(logINFO) << "Sub Exposure Period: " << (double)subPeriod / (1E9) + FILE_LOG(logINFO) << "Sub Period: " << (double)subPeriod / (1E9) << "s"; } diff --git a/slsSupportLib/include/versionAPI.h b/slsSupportLib/include/versionAPI.h index f64f39a5f..1158e4980 100644 --- a/slsSupportLib/include/versionAPI.h +++ b/slsSupportLib/include/versionAPI.h @@ -3,10 +3,10 @@ #define APILIB 0x200227 #define APIRECEIVER 0x200227 #define APIGUI 0x200227 -#define APIEIGER 0x200310 #define APICTB 0x200310 #define APIGOTTHARD 0x200310 #define APIGOTTHARD2 0x200310 #define APIJUNGFRAU 0x200310 #define APIMYTHEN3 0x200310 #define APIMOENCH 0x200310 +#define APIEIGER 0x200310