mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 15:00:02 +02:00
merge from 3.0.1 for server binaries (adcphase,server dates, temp control, settings file
This commit is contained in:
commit
897cbac27d
@ -377,7 +377,7 @@ void qTabAdvanced::SetOutputFile(){
|
||||
//gets the clean absolute path
|
||||
dirPath = dir.absoluteFilePath(dirPath);
|
||||
dirPath = dir.cleanPath(dirPath);
|
||||
QString trimdir = QString(myDet->getSettingsFile()).section('/',0,-2,QString::SectionIncludeLeadingSep);
|
||||
QString trimdir = QString::fromStdString(myDet->getSettingsFile()).section('/',0,-2,QString::SectionIncludeLeadingSep);
|
||||
trimdir = dir.absoluteFilePath(trimdir);
|
||||
trimdir = dir.cleanPath(trimdir);
|
||||
if(!dirPath.compare(trimdir)){
|
||||
|
@ -316,6 +316,8 @@ int receiveData(int file_des, void* buf,int length, intType itype){
|
||||
|
||||
|
||||
int sendDataOnly(int file_des, void* buf,int length) {
|
||||
if (!length)
|
||||
return 0;
|
||||
int ret = write(file_des, buf, length); //value of -1 is other end socket crash as sigpipe is ignored
|
||||
if (ret < 0) cprintf(BG_RED, "Error writing to socket. Possible socket crash\n");
|
||||
return ret;
|
||||
@ -415,19 +417,14 @@ int sendModuleGeneral(int file_des, sls_detector_module *myMod, int sendAll) {
|
||||
ts+=sendData(file_des,&(myMod->ndac),sizeof(myMod->ndac),INT32);
|
||||
ts+=sendData(file_des,&(myMod->nadc),sizeof(myMod->nadc),INT32);
|
||||
ts+=sendData(file_des,&(myMod->reg),sizeof(myMod->reg),INT32);
|
||||
ts+=sendData(file_des,myMod->dacs,sizeof(myMod->ndac),OTHER);
|
||||
if(sendAll){
|
||||
ts+=sendData(file_des,myMod->adcs,sizeof(myMod->nadc),OTHER);
|
||||
}else{
|
||||
uint32_t k = 0;
|
||||
ts+=sendData(file_des,&k,sizeof(k),OTHER);
|
||||
}
|
||||
|
||||
/*some detectors dont require sending all trimbits etc.*/
|
||||
if(sendAll){
|
||||
ts+=sendData(file_des,myMod->chipregs,sizeof(myMod->nchip),OTHER);
|
||||
ts+=sendData(file_des,myMod->chanregs,sizeof(myMod->nchan),OTHER);
|
||||
#ifdef MYTHEND
|
||||
ts+=sendData(file_des,myMod->dacs,sizeof(myMod->ndac),OTHER);
|
||||
ts+=sendData(file_des,myMod->adcs,sizeof(myMod->nadc),OTHER);
|
||||
ts+=sendData(file_des,myMod->chipregs,sizeof(myMod->nchip),OTHER);
|
||||
ts+=sendData(file_des,myMod->chanregs,sizeof(myMod->nchan),OTHER);
|
||||
}
|
||||
#endif
|
||||
ts+=sendData(file_des,&(myMod->gain), sizeof(myMod->gain),OTHER);
|
||||
ts+=sendData(file_des,&(myMod->offset), sizeof(myMod->offset),OTHER);
|
||||
|
||||
@ -437,16 +434,11 @@ int sendModuleGeneral(int file_des, sls_detector_module *myMod, int sendAll) {
|
||||
ts+= sendData(file_des,myMod->dacs,sizeof(dacs_t)*nDacs,INT32);
|
||||
#ifdef VERBOSE
|
||||
printf("dacs %d of size %d sent\n",myMod->module, ts);
|
||||
int idac;
|
||||
for (idac=0; idac< nDacs; idac++)
|
||||
printf("dac %d is %d\n",idac,(int)myMod->dacs[idac]);
|
||||
#endif
|
||||
if(sendAll)
|
||||
ts+= sendData(file_des,myMod->adcs,sizeof(dacs_t)*nAdcs,INT32);
|
||||
else {
|
||||
uint32_t k = 0;
|
||||
ts+= sendData(file_des,&k,sizeof(k),INT32);
|
||||
}
|
||||
|
||||
ts+= sendData(file_des,myMod->adcs,sizeof(dacs_t)*nAdcs,INT32);
|
||||
#ifdef VERBOSE
|
||||
printf("adcs %d of size %d sent\n",myMod->module, ts);
|
||||
#endif
|
||||
@ -547,18 +539,12 @@ int receiveModuleGeneral(int file_des, sls_detector_module* myMod, int receiveA
|
||||
ts+=receiveData(file_des,&(myMod->ndac),sizeof(myMod->ndac),INT32);
|
||||
ts+=receiveData(file_des,&(myMod->nadc),sizeof(myMod->nadc),INT32);
|
||||
ts+=receiveData(file_des,&(myMod->reg),sizeof(myMod->reg),INT32);
|
||||
#ifdef MYTHEND
|
||||
ts+=receiveData(file_des,myMod->dacs,sizeof(myMod->ndac),INT32);
|
||||
if(receiveAll){ // temporary fix
|
||||
ts+=receiveData(file_des,myMod->adcs,sizeof(myMod->nadc),INT32);
|
||||
}else {
|
||||
uint32_t k;ts+=receiveData(file_des,&k,sizeof(k),INT32);//nadc is 0
|
||||
}
|
||||
|
||||
/*some detectors dont require sending all trimbits etc.*/
|
||||
if(receiveAll){
|
||||
ts+=receiveData(file_des,myMod->chipregs,sizeof(myMod->nchip),INT32);
|
||||
ts+=receiveData(file_des,myMod->chanregs,sizeof(myMod->nchan),INT32);
|
||||
}
|
||||
ts+=receiveData(file_des,myMod->adcs,sizeof(myMod->nadc),INT32);
|
||||
ts+=receiveData(file_des,myMod->chipregs,sizeof(myMod->nchip),INT32);
|
||||
ts+=receiveData(file_des,myMod->chanregs,sizeof(myMod->nchan),INT32);
|
||||
#endif
|
||||
ts+=receiveData(file_des,&(myMod->gain), sizeof(myMod->gain),OTHER);
|
||||
ts+=receiveData(file_des,&(myMod->offset), sizeof(myMod->offset),OTHER);
|
||||
|
||||
|
Binary file not shown.
@ -1,9 +1,9 @@
|
||||
Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer
|
||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repsitory UUID: 08fda2b6620353e69f4b654f8bf4c3ea4be60b1e
|
||||
Revision: 317
|
||||
Repsitory UUID: 3da6a6df6556312f7467407a8b5691bdc478424e
|
||||
Revision: 319
|
||||
Branch: developer
|
||||
Last Changed Author: Dhanya_Maliakal
|
||||
Last Changed Rev: 3582
|
||||
Last Changed Date: 2018-02-05 11:53:29.000000002 +0100 ./FebRegisterDefs.h
|
||||
Last Changed Author: Dhanya_Thattil
|
||||
Last Changed Rev: 3597
|
||||
Last Changed Date: 2018-02-07 10:44:13.000000002 +0100 ./FebRegisterDefs.h
|
||||
|
@ -1,6 +1,6 @@
|
||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||
#define GITREPUUID "08fda2b6620353e69f4b654f8bf4c3ea4be60b1e"
|
||||
#define GITAUTH "Dhanya_Maliakal"
|
||||
#define GITREV 0x3582
|
||||
#define GITDATE 0x20180205
|
||||
#define GITREPUUID "3da6a6df6556312f7467407a8b5691bdc478424e"
|
||||
#define GITAUTH "Dhanya_Thattil"
|
||||
#define GITREV 0x3597
|
||||
#define GITDATE 0x20180207
|
||||
#define GITBRANCH "developer"
|
||||
|
@ -136,10 +136,7 @@ int64_t getDetectorId(enum idMode arg){
|
||||
case SOFTWARE_FIRMWARE_API_VERSION:
|
||||
return (int64_t)Beb_GetFirmwareSoftwareAPIVersion();
|
||||
case DETECTOR_SOFTWARE_VERSION:
|
||||
retval= GITREV;
|
||||
retval= (retval <<32) | GITDATE;
|
||||
//cprintf(BLUE,"git date:%x, git rev:%x\n",GITDATE,GITREV);
|
||||
break;
|
||||
return (GITDATE & 0xFFFFFF);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
Path: slsDetectorsPackage/slsDetectorSoftware/gotthardDetectorServer
|
||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repsitory UUID: 0649626842512b772ab660c36dece505f3244aee
|
||||
Revision: 212
|
||||
Repsitory UUID: e6bd874a88493557fc5127d4a1686832299aaf06
|
||||
Revision: 217
|
||||
Branch: 3.0.1
|
||||
Last Changed Author: Dhanya_Maliakal
|
||||
Last Changed Rev: 3318
|
||||
Last Changed Date: 2017-12-19 17:45:11.000000002 +0100 ./server_funcs.c
|
||||
Last Changed Author: Dhanya_Thattil
|
||||
Last Changed Rev: 3346
|
||||
Last Changed Date: 2018-02-07 09:09:56.000000002 +0100 ./server_funcs.c
|
||||
|
@ -1,6 +1,6 @@
|
||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||
#define GITREPUUID "0649626842512b772ab660c36dece505f3244aee"
|
||||
#define GITAUTH "Dhanya_Maliakal"
|
||||
#define GITREV 0x3318
|
||||
#define GITDATE 0x20171219
|
||||
#define GITREPUUID "e6bd874a88493557fc5127d4a1686832299aaf06"
|
||||
#define GITAUTH "Dhanya_Thattil"
|
||||
#define GITREV 0x3346
|
||||
#define GITDATE 0x20180207
|
||||
#define GITBRANCH "3.0.1"
|
||||
|
BIN
slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer_developer
Executable file
BIN
slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer_developer
Executable file
Binary file not shown.
Binary file not shown.
@ -588,13 +588,9 @@ int get_id(int file_des) {
|
||||
retval=getDetectorNumber();
|
||||
break;
|
||||
case DETECTOR_FIRMWARE_VERSION:
|
||||
retval=getFirmwareSVNVersion();
|
||||
retval=(retval <<32) | getFirmwareVersion();
|
||||
break;
|
||||
return (getFirmwareVersion() & 0xFFFFFF);
|
||||
case DETECTOR_SOFTWARE_VERSION:
|
||||
retval= GITREV;
|
||||
retval= (retval <<32) | GITDATE;
|
||||
break;
|
||||
return (GITDATE & 0xFFFFFF);
|
||||
default:
|
||||
printf("Required unknown id %d \n", arg);
|
||||
ret=FAIL;
|
||||
|
@ -1,9 +1,9 @@
|
||||
Path: slsDetectorsPackage/slsDetectorSoftware/jctbDetectorServer
|
||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repsitory UUID: 7602ffc5ac94c36e326a3bf939e85746e708c2ad
|
||||
Revision: 19
|
||||
Repsitory UUID: 3da6a6df6556312f7467407a8b5691bdc478424e
|
||||
Revision: 21
|
||||
Branch: developer
|
||||
Last Changed Author: Anna_Bergamaschi
|
||||
Last Changed Rev: 3554
|
||||
Last Changed Date: 2017-12-15 10:38:26.000000002 +0100 ./firmware_funcs.c
|
||||
Last Changed Author: Dhanya_Thattil
|
||||
Last Changed Rev: 3597
|
||||
Last Changed Date: 2018-02-07 10:44:13.000000002 +0100 ./server_funcs.h
|
||||
|
@ -1,6 +1,6 @@
|
||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||
#define GITREPUUID "7602ffc5ac94c36e326a3bf939e85746e708c2ad"
|
||||
#define GITAUTH "Anna_Bergamaschi"
|
||||
#define GITREV 0x3554
|
||||
#define GITDATE 0x20171215
|
||||
#define GITREPUUID "3da6a6df6556312f7467407a8b5691bdc478424e"
|
||||
#define GITAUTH "Dhanya_Thattil"
|
||||
#define GITREV 0x3597
|
||||
#define GITDATE 0x20180207
|
||||
#define GITBRANCH "developer"
|
||||
|
Binary file not shown.
BIN
slsDetectorSoftware/jctbDetectorServer/jctbDetectorServer_developer
Executable file
BIN
slsDetectorSoftware/jctbDetectorServer/jctbDetectorServer_developer
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,9 +1,9 @@
|
||||
Path: slsDetectorsPackage/slsDetectorSoftware/jungfrauDetectorServer
|
||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repsitory UUID: 08fda2b6620353e69f4b654f8bf4c3ea4be60b1e
|
||||
Revision: 105
|
||||
Repsitory UUID: 3da6a6df6556312f7467407a8b5691bdc478424e
|
||||
Revision: 119
|
||||
Branch: developer
|
||||
Last Changed Author: Dhanya_Maliakal
|
||||
Last Changed Rev: 3582
|
||||
Last Changed Date: 2018-02-05 11:53:33.000000002 +0100 ./RegisterDefs.h
|
||||
Last Changed Author: Dhanya_Thattil
|
||||
Last Changed Rev: 3597
|
||||
Last Changed Date: 2018-02-07 10:44:06.000000002 +0100 ./RegisterDefs.h
|
||||
|
@ -1,6 +1,6 @@
|
||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||
#define GITREPUUID "08fda2b6620353e69f4b654f8bf4c3ea4be60b1e"
|
||||
#define GITAUTH "Dhanya_Maliakal"
|
||||
#define GITREV 0x3582
|
||||
#define GITDATE 0x20180205
|
||||
#define GITREPUUID "3da6a6df6556312f7467407a8b5691bdc478424e"
|
||||
#define GITAUTH "Dhanya_Thattil"
|
||||
#define GITREV 0x3597
|
||||
#define GITDATE 0x20180207
|
||||
#define GITBRANCH "developer"
|
||||
|
@ -1,9 +1,9 @@
|
||||
Path: slsDetectorsPackage/slsDetectorSoftware/moenchDetectorServer
|
||||
URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
||||
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
||||
Repsitory UUID: 9f1b82c18ab0893d65bfadeb646b8ea244614632
|
||||
Revision: 83
|
||||
Branch: developer
|
||||
Last Changed Author: Dhanya_Maliakal
|
||||
Last Changed Rev: 1443
|
||||
Last Changed Date: 2017-07-10 11:03:27.000000002 +0200 ./Makefile
|
||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repsitory UUID: e6bd874a88493557fc5127d4a1686832299aaf06
|
||||
Revision: 85
|
||||
Branch: 3.0.1
|
||||
Last Changed Author: Dhanya_Thattil
|
||||
Last Changed Rev: 3346
|
||||
Last Changed Date: 2018-02-07 09:14:36.000000002 +0100 ./server_funcs.c
|
||||
|
@ -1,6 +1,6 @@
|
||||
#define GITURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git"
|
||||
#define GITREPUUID "9f1b82c18ab0893d65bfadeb646b8ea244614632"
|
||||
#define GITAUTH "Dhanya_Maliakal"
|
||||
#define GITREV 0x1443
|
||||
#define GITDATE 0x20170710
|
||||
#define GITBRANCH "blabla"
|
||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||
#define GITREPUUID "e6bd874a88493557fc5127d4a1686832299aaf06"
|
||||
#define GITAUTH "Dhanya_Thattil"
|
||||
#define GITREV 0x3346
|
||||
#define GITDATE 0x20180207
|
||||
#define GITBRANCH "3.0.1"
|
||||
|
Binary file not shown.
BIN
slsDetectorSoftware/moenchDetectorServer/moenchDetectorServerv3.0.1.0
Executable file
BIN
slsDetectorSoftware/moenchDetectorServer/moenchDetectorServerv3.0.1.0
Executable file
Binary file not shown.
@ -593,13 +593,9 @@ int get_id(int file_des) {
|
||||
retval=getDetectorNumber();
|
||||
break;
|
||||
case DETECTOR_FIRMWARE_VERSION:
|
||||
retval=getFirmwareSVNVersion();
|
||||
retval=(retval <<32) | getFirmwareVersion();
|
||||
break;
|
||||
return (getFirmwareVersion() & 0xFFFFFF);
|
||||
case DETECTOR_SOFTWARE_VERSION:
|
||||
retval= GITREV;
|
||||
retval= (retval <<32) | GITDATE;
|
||||
break;
|
||||
return (GITDATE & 0xFFFFFF);
|
||||
default:
|
||||
printf("Required unknown id %d \n", arg);
|
||||
ret=FAIL;
|
||||
|
@ -4105,7 +4105,7 @@ slsDetectorDefs::externalSignalFlag multiSlsDetector::setExternalSignalFlags(ext
|
||||
|
||||
|
||||
|
||||
const char * multiSlsDetector::getSettingsFile() {
|
||||
string multiSlsDetector::getSettingsFile() {
|
||||
|
||||
string s0="", s1="",s ;
|
||||
|
||||
@ -4126,9 +4126,9 @@ const char * multiSlsDetector::getSettingsFile() {
|
||||
}
|
||||
}
|
||||
if (s1=="bad")
|
||||
return s0.c_str();
|
||||
return s0;
|
||||
else
|
||||
return s1.c_str();
|
||||
return s1;
|
||||
|
||||
}
|
||||
|
||||
|
@ -532,7 +532,7 @@ class multiSlsDetector : public slsDetectorUtils {
|
||||
int64_t getId(idMode mode, int imod=0);
|
||||
int digitalTest(digitalTestMode mode, int imod=0);
|
||||
int executeTrimming(trimMode mode, int par1, int par2, int imod=-1);
|
||||
const char *getSettingsFile();
|
||||
string getSettingsFile();
|
||||
|
||||
|
||||
int decodeNMod(int i, int &idet, int &imod);
|
||||
|
@ -1161,18 +1161,19 @@ int slsDetector::sendModule(sls_detector_module *myMod) {
|
||||
ts+=controlSocket->SendDataOnly(&(myMod->ndac),sizeof(myMod->ndac));
|
||||
ts+=controlSocket->SendDataOnly(&(myMod->nadc),sizeof(myMod->nadc));
|
||||
ts+=controlSocket->SendDataOnly(&(myMod->reg),sizeof(myMod->reg));
|
||||
ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(myMod->ndac));
|
||||
ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(myMod->nadc));
|
||||
|
||||
if(thisDetector->myDetectorType != JUNGFRAU){
|
||||
ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(myMod->nchip));
|
||||
ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(myMod->nchan));
|
||||
// only for sending structures like in old mythen server
|
||||
if (thisDetector->myDetectorType == MYTHEN) {
|
||||
ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(myMod->ndac));
|
||||
ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(myMod->nadc));
|
||||
ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(myMod->nchip));
|
||||
ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(myMod->nchan));
|
||||
}
|
||||
ts+=controlSocket->SendDataOnly(&(myMod->gain),sizeof(myMod->gain));
|
||||
ts+=controlSocket->SendDataOnly(&(myMod->offset), sizeof(myMod->offset));
|
||||
|
||||
// actual data to the pointers
|
||||
ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(dacs_t)*(myMod->ndac));
|
||||
ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc));
|
||||
|
||||
if(thisDetector->myDetectorType != JUNGFRAU){
|
||||
ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(int)*(myMod->nchip));
|
||||
ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(int)*(myMod->nchan));
|
||||
@ -1229,13 +1230,14 @@ int slsDetector::receiveModule(sls_detector_module* myMod) {
|
||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->ndac),sizeof(myMod->ndac));
|
||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->nadc),sizeof(myMod->nadc));
|
||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->reg),sizeof(myMod->reg));
|
||||
ts+=controlSocket->ReceiveDataOnly(myMod->dacs,sizeof(myMod->ndac));
|
||||
ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(myMod->nadc));
|
||||
|
||||
if(thisDetector->myDetectorType != JUNGFRAU){
|
||||
ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(myMod->nchip));
|
||||
ts+=controlSocket->ReceiveDataOnly(myMod->chanregs,sizeof(myMod->nchan));
|
||||
// only for sending structures like in old mythen server
|
||||
if (thisDetector->myDetectorType == MYTHEN) {
|
||||
ts+=controlSocket->ReceiveDataOnly(myMod->dacs,sizeof(myMod->ndac));
|
||||
ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(myMod->nadc));
|
||||
ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(myMod->nchip));
|
||||
ts+=controlSocket->ReceiveDataOnly(myMod->chanregs,sizeof(myMod->nchan));
|
||||
}
|
||||
|
||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->gain), sizeof(myMod->gain));
|
||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->offset), sizeof(myMod->offset));
|
||||
|
||||
@ -3951,11 +3953,11 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise
|
||||
std::cout<< thisDetector->settingsDir<<endl<< thisDetector->calDir <<endl;
|
||||
#endif
|
||||
break;
|
||||
case MOENCH:
|
||||
case GOTTHARD:
|
||||
case PROPIX:
|
||||
case JUNGFRAU:
|
||||
case JUNGFRAUCTB:
|
||||
case MYTHEN:
|
||||
ostfn << thisDetector->settingsDir << ssettings <<"/noise.sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10);
|
||||
oscfn << thisDetector->calDir << ssettings << "/calibration.sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10);
|
||||
break;
|
||||
default:
|
||||
//settings is saved in myMod.reg
|
||||
myMod->reg=thisDetector->currentSettings;
|
||||
ostfn << thisDetector->settingsDir << ssettings <<"/settings.sn";// << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10);
|
||||
@ -3964,9 +3966,6 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise
|
||||
std::cout<< thisDetector->settingsDir<<endl<< thisDetector->calDir <<endl;
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
ostfn << thisDetector->settingsDir << ssettings <<"/noise.sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10);
|
||||
oscfn << thisDetector->calDir << ssettings << "/calibration.sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10);
|
||||
}
|
||||
|
||||
|
||||
@ -3979,17 +3978,13 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise
|
||||
//if it didnt open, try default settings file
|
||||
ostringstream ostfn_default;
|
||||
switch(thisDetector->myDetectorType){
|
||||
case MOENCH:
|
||||
case GOTTHARD:
|
||||
case PROPIX:
|
||||
case JUNGFRAU:
|
||||
case JUNGFRAUCTB:
|
||||
case EIGER:
|
||||
case MYTHEN:
|
||||
ostfn_default << thisDetector->settingsDir << ssettings << ssettings << ".trim";
|
||||
break;
|
||||
default:
|
||||
ostfn_default << thisDetector->settingsDir << ssettings << ssettings << ".settings";
|
||||
break;
|
||||
case EIGER:
|
||||
default:
|
||||
ostfn_default << thisDetector->settingsDir << ssettings << ssettings << ".trim";
|
||||
break;
|
||||
}
|
||||
settingsfname=ostfn_default.str();
|
||||
#ifdef VERBOSE
|
||||
@ -7791,15 +7786,21 @@ int slsDetector::loadSettingsFile(string fname, int imod) {
|
||||
for (int im=mmin; im<mmax; ++im) {
|
||||
ostringstream ostfn;
|
||||
ostfn << fname;
|
||||
if(thisDetector->myDetectorType != EIGER){
|
||||
if (fname.find(".sn")==string::npos && fname.find(".trim")==string::npos && fname.find(".settings")==string::npos) {
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im);
|
||||
fn=ostfn.str();
|
||||
}
|
||||
}else if (fname.find(".sn")==string::npos && fname.find(".trim")==string::npos && fname.find(".settings")==string::npos) {
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER, im);
|
||||
fn=ostfn.str();
|
||||
switch (thisDetector->myDetectorType) {
|
||||
case MYTHEN:
|
||||
if (fname.find(".sn")==string::npos && fname.find(".trim")==string::npos && fname.find(".settings")==string::npos) {
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im);
|
||||
}
|
||||
break;
|
||||
case EIGER:
|
||||
if (fname.find(".sn")==string::npos && fname.find(".trim")==string::npos && fname.find(".settings")==string::npos) {
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER, im);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
fn=ostfn.str();
|
||||
myMod=readSettingsFile(fn, thisDetector->myDetectorType,iodelay, tau, myMod);
|
||||
|
||||
if (myMod) {
|
||||
@ -7829,18 +7830,27 @@ int slsDetector::saveSettingsFile(string fname, int imod) {
|
||||
mmax=imod+1;
|
||||
}
|
||||
for (int im=mmin; im<mmax; ++im) {
|
||||
string fn=fname;
|
||||
ostringstream ostfn;
|
||||
if(thisDetector->myDetectorType == EIGER){
|
||||
ostfn << fname << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER);
|
||||
} else
|
||||
ostfn << fname << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER,im);
|
||||
ostfn << fname;
|
||||
switch (thisDetector->myDetectorType) {
|
||||
case MYTHEN:
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER,im);
|
||||
break;
|
||||
case EIGER:
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
fn=ostfn.str();
|
||||
if ((myMod=getModule(im))) {
|
||||
|
||||
if(thisDetector->myDetectorType == EIGER){
|
||||
iodelay = (int)setDAC((dacs_t)-1,IO_DELAY,0,-1);
|
||||
tau = (int64_t)getRateCorrectionTau();
|
||||
}
|
||||
ret=writeSettingsFile(ostfn.str(), thisDetector->myDetectorType, *myMod, iodelay, tau);
|
||||
ret=writeSettingsFile(fn, thisDetector->myDetectorType, *myMod, iodelay, tau);
|
||||
deleteModule(myMod);
|
||||
}
|
||||
}
|
||||
@ -7923,14 +7933,22 @@ int slsDetector::loadCalibrationFile(string fname, int imod) {
|
||||
mmax=imod+1;
|
||||
}
|
||||
for (int im=mmin; im<mmax; ++im) {
|
||||
string fn=fname;
|
||||
ostringstream ostfn;
|
||||
ostfn << fname ;
|
||||
if(thisDetector->myDetectorType != EIGER){
|
||||
if (fname.find(".sn")==string::npos && fname.find(".cal")==string::npos) {
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im);
|
||||
}
|
||||
}else if (fname.find(".sn")==string::npos && fname.find(".cal")==string::npos) {
|
||||
ostfn << "." << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER);
|
||||
switch (thisDetector->myDetectorType) {
|
||||
case MYTHEN:
|
||||
if (fname.find(".sn")==string::npos && fname.find(".cal")==string::npos) {
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im);
|
||||
}
|
||||
break;
|
||||
case EIGER:
|
||||
if (fname.find(".sn")==string::npos && fname.find(".cal")==string::npos) {
|
||||
ostfn << "." << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
fn=ostfn.str();
|
||||
if((myMod=getModule(im))){
|
||||
@ -7967,18 +7985,27 @@ int slsDetector::saveCalibrationFile(string fname, int imod) {
|
||||
mmax=imod+1;
|
||||
}
|
||||
for (int im=mmin; im<mmax; ++im) {
|
||||
string fn=fname;
|
||||
ostringstream ostfn;
|
||||
if(thisDetector->myDetectorType == EIGER)
|
||||
ostfn << fname << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER);
|
||||
else
|
||||
ostfn << fname << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER,im);
|
||||
ostfn << fname;
|
||||
switch (thisDetector->myDetectorType) {
|
||||
case MYTHEN:
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER,im);
|
||||
break;
|
||||
case EIGER:
|
||||
ostfn << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
fn=ostfn.str();
|
||||
if ((myMod=getModule(im))) {
|
||||
//extra gain and offset
|
||||
if(thisDetector->nGain)
|
||||
ret=writeCalibrationFile(ostfn.str(),gain, offset);
|
||||
ret=writeCalibrationFile(fn,gain, offset);
|
||||
//normal gain and offset inside sls_detector_module
|
||||
else
|
||||
ret=writeCalibrationFile(ostfn.str(),myMod->gain, myMod->offset);
|
||||
ret=writeCalibrationFile(fn,myMod->gain, myMod->offset);
|
||||
|
||||
deleteModule(myMod);
|
||||
}else
|
||||
|
@ -541,13 +541,13 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
|
||||
/**
|
||||
returns currently the loaded trimfile/settingsfile name
|
||||
*/
|
||||
const char *getSettingsFile(){\
|
||||
string getSettingsFile(){\
|
||||
string s(thisDetector->settingsFile); \
|
||||
if (s.length()>6) {\
|
||||
if (s.substr(s.length()-6,3)==string(".sn") && s.substr(s.length()-3)!=string("xxx") ) \
|
||||
return s.substr(0,s.length()-6).c_str(); \
|
||||
return s.substr(0,s.length()-6); \
|
||||
} \
|
||||
return thisDetector->settingsFile;\
|
||||
return string(thisDetector->settingsFile);\
|
||||
};
|
||||
|
||||
|
||||
|
@ -4633,7 +4633,7 @@ string slsDetectorCommand::cmdSettings(int narg, char *args[], int action) {
|
||||
myDet->loadSettingsFile(sval,-1);
|
||||
}
|
||||
}
|
||||
return string(myDet->getSettingsFile());
|
||||
return myDet->getSettingsFile();
|
||||
} else if (cmd=="trim") {
|
||||
if (action==GET_ACTION)
|
||||
return string("cannot get!");
|
||||
|
@ -295,7 +295,7 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing {
|
||||
/**
|
||||
returns currently the loaded trimfile/settingsfile name
|
||||
*/
|
||||
virtual const char *getSettingsFile()=0;
|
||||
virtual string getSettingsFile()=0;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -3166,7 +3166,12 @@ int set_speed(int file_des) {
|
||||
switch (arg) {
|
||||
#ifdef JUNGFRAUD
|
||||
case ADC_PHASE:
|
||||
adcPhase(val);
|
||||
retval = adcPhase(val);
|
||||
if ((retval!=val) && (val>=0)) {
|
||||
ret=FAIL;
|
||||
sprintf(mess,"could not change set adc phase: should be %d but is %d \n", val, retval);
|
||||
cprintf(RED, "Warning: %s", mess);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#ifdef MYTHEND
|
||||
@ -5290,7 +5295,6 @@ int threshold_temp(int file_des) {
|
||||
sprintf(mess,"Function (Threshold Temp) is not implemented for this detector\n");
|
||||
cprintf(RED, "%s", mess);
|
||||
#else
|
||||
|
||||
int arg[2]={-1,-1};
|
||||
int val=-1;
|
||||
|
||||
@ -5305,6 +5309,7 @@ int threshold_temp(int file_des) {
|
||||
cprintf(RED, "Warning: %s", mess);
|
||||
}
|
||||
|
||||
|
||||
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
||||
if (ret==OK) {
|
||||
#ifdef VERBOSE
|
||||
@ -5361,6 +5366,7 @@ int temp_control(int file_des) {
|
||||
val=arg[0];
|
||||
//ignoring imod
|
||||
|
||||
|
||||
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
||||
if (ret==OK) {
|
||||
#ifdef VERBOSE
|
||||
@ -5372,7 +5378,6 @@ int temp_control(int file_des) {
|
||||
#ifdef VERBOSE
|
||||
printf("Temperature control is %d\n", retval);
|
||||
#endif
|
||||
|
||||
if (ret==OK && differentClients && val >= 0)
|
||||
ret=FORCE_UPDATE;
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user