mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-20 02:40:03 +02:00
server binaries for all, jungfgrauserver with adcphase returning something, serverclient interface fixed for others not using tempcontrol, detectornumber not used for settings file for non eiger/mythen, server dates removing rev number
This commit is contained in:
parent
e6bd874a88
commit
618f6291cf
@ -316,6 +316,8 @@ int receiveData(int file_des, void* buf,int length, intType itype){
|
|||||||
|
|
||||||
|
|
||||||
int sendDataOnly(int file_des, void* buf,int length) {
|
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
|
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");
|
if (ret < 0) cprintf(BG_RED, "Error writing to socket. Possible socket crash\n");
|
||||||
return ret;
|
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->ndac),sizeof(myMod->ndac),INT32);
|
||||||
ts+=sendData(file_des,&(myMod->nadc),sizeof(myMod->nadc),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->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.*/
|
#ifdef MYTHEND
|
||||||
if(sendAll){
|
ts+=sendData(file_des,myMod->dacs,sizeof(myMod->ndac),OTHER);
|
||||||
ts+=sendData(file_des,myMod->chipregs,sizeof(myMod->nchip),OTHER);
|
ts+=sendData(file_des,myMod->adcs,sizeof(myMod->nadc),OTHER);
|
||||||
ts+=sendData(file_des,myMod->chanregs,sizeof(myMod->nchan),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->gain), sizeof(myMod->gain),OTHER);
|
||||||
ts+=sendData(file_des,&(myMod->offset), sizeof(myMod->offset),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);
|
ts+= sendData(file_des,myMod->dacs,sizeof(dacs_t)*nDacs,INT32);
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
printf("dacs %d of size %d sent\n",myMod->module, ts);
|
printf("dacs %d of size %d sent\n",myMod->module, ts);
|
||||||
|
int idac;
|
||||||
for (idac=0; idac< nDacs; idac++)
|
for (idac=0; idac< nDacs; idac++)
|
||||||
printf("dac %d is %d\n",idac,(int)myMod->dacs[idac]);
|
printf("dac %d is %d\n",idac,(int)myMod->dacs[idac]);
|
||||||
#endif
|
#endif
|
||||||
if(sendAll)
|
ts+= sendData(file_des,myMod->adcs,sizeof(dacs_t)*nAdcs,INT32);
|
||||||
ts+= sendData(file_des,myMod->adcs,sizeof(dacs_t)*nAdcs,INT32);
|
|
||||||
else {
|
|
||||||
uint32_t k = 0;
|
|
||||||
ts+= sendData(file_des,&k,sizeof(k),INT32);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
printf("adcs %d of size %d sent\n",myMod->module, ts);
|
printf("adcs %d of size %d sent\n",myMod->module, ts);
|
||||||
#endif
|
#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->ndac),sizeof(myMod->ndac),INT32);
|
||||||
ts+=receiveData(file_des,&(myMod->nadc),sizeof(myMod->nadc),INT32);
|
ts+=receiveData(file_des,&(myMod->nadc),sizeof(myMod->nadc),INT32);
|
||||||
ts+=receiveData(file_des,&(myMod->reg),sizeof(myMod->reg),INT32);
|
ts+=receiveData(file_des,&(myMod->reg),sizeof(myMod->reg),INT32);
|
||||||
|
#ifdef MYTHEND
|
||||||
ts+=receiveData(file_des,myMod->dacs,sizeof(myMod->ndac),INT32);
|
ts+=receiveData(file_des,myMod->dacs,sizeof(myMod->ndac),INT32);
|
||||||
if(receiveAll){ // temporary fix
|
ts+=receiveData(file_des,myMod->adcs,sizeof(myMod->nadc),INT32);
|
||||||
ts+=receiveData(file_des,myMod->adcs,sizeof(myMod->nadc),INT32);
|
ts+=receiveData(file_des,myMod->chipregs,sizeof(myMod->nchip),INT32);
|
||||||
}else {
|
ts+=receiveData(file_des,myMod->chanregs,sizeof(myMod->nchan),INT32);
|
||||||
uint32_t k;ts+=receiveData(file_des,&k,sizeof(k),INT32);//nadc is 0
|
#endif
|
||||||
}
|
|
||||||
|
|
||||||
/*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->gain), sizeof(myMod->gain),OTHER);
|
ts+=receiveData(file_des,&(myMod->gain), sizeof(myMod->gain),OTHER);
|
||||||
ts+=receiveData(file_des,&(myMod->offset), sizeof(myMod->offset),OTHER);
|
ts+=receiveData(file_des,&(myMod->offset), sizeof(myMod->offset),OTHER);
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1,9 +1,9 @@
|
|||||||
Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer
|
Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer
|
||||||
URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repsitory UUID: a161a9aad8ac38a79ba43340344a3c923cea85f7
|
Repsitory UUID: e6bd874a88493557fc5127d4a1686832299aaf06
|
||||||
Revision: 307
|
Revision: 312
|
||||||
Branch: 3.0.1
|
Branch: 3.0.1
|
||||||
Last Changed Author: Dhanya_Thattil
|
Last Changed Author: Dhanya_Thattil
|
||||||
Last Changed Rev: 1578
|
Last Changed Rev: 3346
|
||||||
Last Changed Date: 2017-10-11 12:45:54.679255119 +0200 ./Makefile.virtual
|
Last Changed Date: 2018-02-05 12:40:59.000000002 +0100 ./FebRegisterDefs.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#define GITURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git"
|
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||||
#define GITREPUUID "a161a9aad8ac38a79ba43340344a3c923cea85f7"
|
#define GITREPUUID "e6bd874a88493557fc5127d4a1686832299aaf06"
|
||||||
#define GITAUTH "Dhanya_Thattil"
|
#define GITAUTH "Dhanya_Thattil"
|
||||||
#define GITREV 0x1578
|
#define GITREV 0x3346
|
||||||
#define GITDATE 0x20171011
|
#define GITDATE 0x20180205
|
||||||
#define GITBRANCH "blabla"
|
#define GITBRANCH "3.0.1"
|
||||||
|
@ -134,10 +134,7 @@ int64_t getDetectorId(enum idMode arg){
|
|||||||
case SOFTWARE_FIRMWARE_API_VERSION:
|
case SOFTWARE_FIRMWARE_API_VERSION:
|
||||||
return (int64_t)Beb_GetFirmwareSoftwareAPIVersion();
|
return (int64_t)Beb_GetFirmwareSoftwareAPIVersion();
|
||||||
case DETECTOR_SOFTWARE_VERSION:
|
case DETECTOR_SOFTWARE_VERSION:
|
||||||
retval= GITREV;
|
return (GITDATE & 0xFFFFFF);
|
||||||
retval= (retval <<32) | GITDATE;
|
|
||||||
//cprintf(BLUE,"git date:%x, git rev:%x\n",GITDATE,GITREV);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Path: slsDetectorsPackage/slsDetectorSoftware/gotthardDetectorServer
|
Path: slsDetectorsPackage/slsDetectorSoftware/gotthardDetectorServer
|
||||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repsitory UUID: 0649626842512b772ab660c36dece505f3244aee
|
Repsitory UUID: e6bd874a88493557fc5127d4a1686832299aaf06
|
||||||
Revision: 212
|
Revision: 217
|
||||||
Branch: 3.0.1
|
Branch: 3.0.1
|
||||||
Last Changed Author: Dhanya_Maliakal
|
Last Changed Author: Dhanya_Thattil
|
||||||
Last Changed Rev: 3318
|
Last Changed Rev: 3346
|
||||||
Last Changed Date: 2017-12-19 17:45:11.000000002 +0100 ./server_funcs.c
|
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 GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||||
#define GITREPUUID "0649626842512b772ab660c36dece505f3244aee"
|
#define GITREPUUID "e6bd874a88493557fc5127d4a1686832299aaf06"
|
||||||
#define GITAUTH "Dhanya_Maliakal"
|
#define GITAUTH "Dhanya_Thattil"
|
||||||
#define GITREV 0x3318
|
#define GITREV 0x3346
|
||||||
#define GITDATE 0x20171219
|
#define GITDATE 0x20180207
|
||||||
#define GITBRANCH "3.0.1"
|
#define GITBRANCH "3.0.1"
|
||||||
|
Binary file not shown.
BIN
slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.1.0
Executable file
BIN
slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.1.0
Executable file
Binary file not shown.
@ -588,13 +588,9 @@ int get_id(int file_des) {
|
|||||||
retval=getDetectorNumber();
|
retval=getDetectorNumber();
|
||||||
break;
|
break;
|
||||||
case DETECTOR_FIRMWARE_VERSION:
|
case DETECTOR_FIRMWARE_VERSION:
|
||||||
retval=getFirmwareSVNVersion();
|
return (getFirmwareVersion() & 0xFFFFFF);
|
||||||
retval=(retval <<32) | getFirmwareVersion();
|
|
||||||
break;
|
|
||||||
case DETECTOR_SOFTWARE_VERSION:
|
case DETECTOR_SOFTWARE_VERSION:
|
||||||
retval= GITREV;
|
return (GITDATE & 0xFFFFFF);
|
||||||
retval= (retval <<32) | GITDATE;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
printf("Required unknown id %d \n", arg);
|
printf("Required unknown id %d \n", arg);
|
||||||
ret=FAIL;
|
ret=FAIL;
|
||||||
|
Binary file not shown.
Binary file not shown.
BIN
slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.1.3
Executable file
BIN
slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.1.3
Executable file
Binary file not shown.
@ -1,9 +1,9 @@
|
|||||||
Path: slsDetectorsPackage/slsDetectorSoftware/jungfrauDetectorServer
|
Path: slsDetectorsPackage/slsDetectorSoftware/jungfrauDetectorServer
|
||||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repsitory UUID: aebc423fb2907635588f8e1b8a70a0eb6f5b5a6f
|
Repsitory UUID: e6bd874a88493557fc5127d4a1686832299aaf06
|
||||||
Revision: 103
|
Revision: 108
|
||||||
Branch: 3.0.1
|
Branch: 3.0.1
|
||||||
Last Changed Author: Dhanya_Maliakal
|
Last Changed Author: Dhanya_Thattil
|
||||||
Last Changed Rev: 3341
|
Last Changed Rev: 3346
|
||||||
Last Changed Date: 2018-02-02 10:48:32.000000002 +0100 ./RegisterDefs.h
|
Last Changed Date: 2018-02-05 11:53:33.000000002 +0100 ./RegisterDefs.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||||
#define GITREPUUID "aebc423fb2907635588f8e1b8a70a0eb6f5b5a6f"
|
#define GITREPUUID "e6bd874a88493557fc5127d4a1686832299aaf06"
|
||||||
#define GITAUTH "Dhanya_Maliakal"
|
#define GITAUTH "Dhanya_Thattil"
|
||||||
#define GITREV 0x3341
|
#define GITREV 0x3346
|
||||||
#define GITDATE 0x20180202
|
#define GITDATE 0x20180205
|
||||||
#define GITBRANCH "3.0.1"
|
#define GITBRANCH "3.0.1"
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Path: slsDetectorsPackage/slsDetectorSoftware/moenchDetectorServer
|
Path: slsDetectorsPackage/slsDetectorSoftware/moenchDetectorServer
|
||||||
URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repsitory UUID: 9f1b82c18ab0893d65bfadeb646b8ea244614632
|
Repsitory UUID: e6bd874a88493557fc5127d4a1686832299aaf06
|
||||||
Revision: 83
|
Revision: 85
|
||||||
Branch: developer
|
Branch: 3.0.1
|
||||||
Last Changed Author: Dhanya_Maliakal
|
Last Changed Author: Dhanya_Thattil
|
||||||
Last Changed Rev: 1443
|
Last Changed Rev: 3346
|
||||||
Last Changed Date: 2017-07-10 11:03:27.000000002 +0200 ./Makefile
|
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 GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||||
#define GITREPUUID "9f1b82c18ab0893d65bfadeb646b8ea244614632"
|
#define GITREPUUID "e6bd874a88493557fc5127d4a1686832299aaf06"
|
||||||
#define GITAUTH "Dhanya_Maliakal"
|
#define GITAUTH "Dhanya_Thattil"
|
||||||
#define GITREV 0x1443
|
#define GITREV 0x3346
|
||||||
#define GITDATE 0x20170710
|
#define GITDATE 0x20180207
|
||||||
#define GITBRANCH "blabla"
|
#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();
|
retval=getDetectorNumber();
|
||||||
break;
|
break;
|
||||||
case DETECTOR_FIRMWARE_VERSION:
|
case DETECTOR_FIRMWARE_VERSION:
|
||||||
retval=getFirmwareSVNVersion();
|
return (getFirmwareVersion() & 0xFFFFFF);
|
||||||
retval=(retval <<32) | getFirmwareVersion();
|
|
||||||
break;
|
|
||||||
case DETECTOR_SOFTWARE_VERSION:
|
case DETECTOR_SOFTWARE_VERSION:
|
||||||
retval= GITREV;
|
return (GITDATE & 0xFFFFFF);
|
||||||
retval= (retval <<32) | GITDATE;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
printf("Required unknown id %d \n", arg);
|
printf("Required unknown id %d \n", arg);
|
||||||
ret=FAIL;
|
ret=FAIL;
|
||||||
|
@ -1151,18 +1151,19 @@ int slsDetector::sendModule(sls_detector_module *myMod) {
|
|||||||
ts+=controlSocket->SendDataOnly(&(myMod->ndac),sizeof(myMod->ndac));
|
ts+=controlSocket->SendDataOnly(&(myMod->ndac),sizeof(myMod->ndac));
|
||||||
ts+=controlSocket->SendDataOnly(&(myMod->nadc),sizeof(myMod->nadc));
|
ts+=controlSocket->SendDataOnly(&(myMod->nadc),sizeof(myMod->nadc));
|
||||||
ts+=controlSocket->SendDataOnly(&(myMod->reg),sizeof(myMod->reg));
|
ts+=controlSocket->SendDataOnly(&(myMod->reg),sizeof(myMod->reg));
|
||||||
ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(myMod->ndac));
|
// only for sending structures like in old mythen server
|
||||||
ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(myMod->nadc));
|
if (thisDetector->myDetectorType == MYTHEN) {
|
||||||
|
ts+=controlSocket->SendDataOnly(myMod->dacs,sizeof(myMod->ndac));
|
||||||
if(thisDetector->myDetectorType != JUNGFRAU){
|
ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(myMod->nadc));
|
||||||
ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(myMod->nchip));
|
ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(myMod->nchip));
|
||||||
ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(myMod->nchan));
|
ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(myMod->nchan));
|
||||||
}
|
}
|
||||||
ts+=controlSocket->SendDataOnly(&(myMod->gain),sizeof(myMod->gain));
|
ts+=controlSocket->SendDataOnly(&(myMod->gain),sizeof(myMod->gain));
|
||||||
ts+=controlSocket->SendDataOnly(&(myMod->offset), sizeof(myMod->offset));
|
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->dacs,sizeof(dacs_t)*(myMod->ndac));
|
||||||
ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc));
|
ts+=controlSocket->SendDataOnly(myMod->adcs,sizeof(dacs_t)*(myMod->nadc));
|
||||||
|
|
||||||
if(thisDetector->myDetectorType != JUNGFRAU){
|
if(thisDetector->myDetectorType != JUNGFRAU){
|
||||||
ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(int)*(myMod->nchip));
|
ts+=controlSocket->SendDataOnly(myMod->chipregs,sizeof(int)*(myMod->nchip));
|
||||||
ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(int)*(myMod->nchan));
|
ts+=controlSocket->SendDataOnly(myMod->chanregs,sizeof(int)*(myMod->nchan));
|
||||||
@ -1219,13 +1220,14 @@ int slsDetector::receiveModule(sls_detector_module* myMod) {
|
|||||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->ndac),sizeof(myMod->ndac));
|
ts+=controlSocket->ReceiveDataOnly(&(myMod->ndac),sizeof(myMod->ndac));
|
||||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->nadc),sizeof(myMod->nadc));
|
ts+=controlSocket->ReceiveDataOnly(&(myMod->nadc),sizeof(myMod->nadc));
|
||||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->reg),sizeof(myMod->reg));
|
ts+=controlSocket->ReceiveDataOnly(&(myMod->reg),sizeof(myMod->reg));
|
||||||
ts+=controlSocket->ReceiveDataOnly(myMod->dacs,sizeof(myMod->ndac));
|
// only for sending structures like in old mythen server
|
||||||
ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(myMod->nadc));
|
if (thisDetector->myDetectorType == MYTHEN) {
|
||||||
|
ts+=controlSocket->ReceiveDataOnly(myMod->dacs,sizeof(myMod->ndac));
|
||||||
if(thisDetector->myDetectorType != JUNGFRAU){
|
ts+=controlSocket->ReceiveDataOnly(myMod->adcs,sizeof(myMod->nadc));
|
||||||
ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(myMod->nchip));
|
ts+=controlSocket->ReceiveDataOnly(myMod->chipregs,sizeof(myMod->nchip));
|
||||||
ts+=controlSocket->ReceiveDataOnly(myMod->chanregs,sizeof(myMod->nchan));
|
ts+=controlSocket->ReceiveDataOnly(myMod->chanregs,sizeof(myMod->nchan));
|
||||||
}
|
}
|
||||||
|
|
||||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->gain), sizeof(myMod->gain));
|
ts+=controlSocket->ReceiveDataOnly(&(myMod->gain), sizeof(myMod->gain));
|
||||||
ts+=controlSocket->ReceiveDataOnly(&(myMod->offset), sizeof(myMod->offset));
|
ts+=controlSocket->ReceiveDataOnly(&(myMod->offset), sizeof(myMod->offset));
|
||||||
|
|
||||||
@ -3861,11 +3863,11 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise
|
|||||||
std::cout<< thisDetector->settingsDir<<endl<< thisDetector->calDir <<endl;
|
std::cout<< thisDetector->settingsDir<<endl<< thisDetector->calDir <<endl;
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case MOENCH:
|
case MYTHEN:
|
||||||
case GOTTHARD:
|
ostfn << thisDetector->settingsDir << ssettings <<"/noise.sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10);
|
||||||
case PROPIX:
|
oscfn << thisDetector->calDir << ssettings << "/calibration.sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10);
|
||||||
case JUNGFRAU:
|
break;
|
||||||
case JUNGFRAUCTB:
|
default:
|
||||||
//settings is saved in myMod.reg
|
//settings is saved in myMod.reg
|
||||||
myMod->reg=thisDetector->currentSettings;
|
myMod->reg=thisDetector->currentSettings;
|
||||||
ostfn << thisDetector->settingsDir << ssettings <<"/settings.sn";// << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10);
|
ostfn << thisDetector->settingsDir << ssettings <<"/settings.sn";// << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10);
|
||||||
@ -3874,9 +3876,6 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise
|
|||||||
std::cout<< thisDetector->settingsDir<<endl<< thisDetector->calDir <<endl;
|
std::cout<< thisDetector->settingsDir<<endl<< thisDetector->calDir <<endl;
|
||||||
#endif
|
#endif
|
||||||
break;
|
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3889,17 +3888,13 @@ slsDetectorDefs::detectorSettings slsDetector::setSettings( detectorSettings ise
|
|||||||
//if it didnt open, try default settings file
|
//if it didnt open, try default settings file
|
||||||
ostringstream ostfn_default;
|
ostringstream ostfn_default;
|
||||||
switch(thisDetector->myDetectorType){
|
switch(thisDetector->myDetectorType){
|
||||||
case MOENCH:
|
case EIGER:
|
||||||
case GOTTHARD:
|
case MYTHEN:
|
||||||
case PROPIX:
|
ostfn_default << thisDetector->settingsDir << ssettings << ssettings << ".trim";
|
||||||
case JUNGFRAU:
|
break;
|
||||||
case JUNGFRAUCTB:
|
default:
|
||||||
ostfn_default << thisDetector->settingsDir << ssettings << ssettings << ".settings";
|
ostfn_default << thisDetector->settingsDir << ssettings << ssettings << ".settings";
|
||||||
break;
|
break;
|
||||||
case EIGER:
|
|
||||||
default:
|
|
||||||
ostfn_default << thisDetector->settingsDir << ssettings << ssettings << ".trim";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
settingsfname=ostfn_default.str();
|
settingsfname=ostfn_default.str();
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
@ -7567,15 +7562,21 @@ int slsDetector::loadSettingsFile(string fname, int imod) {
|
|||||||
for (int im=mmin; im<mmax; ++im) {
|
for (int im=mmin; im<mmax; ++im) {
|
||||||
ostringstream ostfn;
|
ostringstream ostfn;
|
||||||
ostfn << fname;
|
ostfn << fname;
|
||||||
if(thisDetector->myDetectorType != EIGER){
|
switch (thisDetector->myDetectorType) {
|
||||||
if (fname.find(".sn")==string::npos && fname.find(".trim")==string::npos && fname.find(".settings")==string::npos) {
|
case MYTHEN:
|
||||||
ostfn << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im);
|
if (fname.find(".sn")==string::npos && fname.find(".trim")==string::npos && fname.find(".settings")==string::npos) {
|
||||||
fn=ostfn.str();
|
ostfn << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im);
|
||||||
}
|
}
|
||||||
}else if (fname.find(".sn")==string::npos && fname.find(".trim")==string::npos && fname.find(".settings")==string::npos) {
|
break;
|
||||||
ostfn << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER, im);
|
case EIGER:
|
||||||
fn=ostfn.str();
|
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);
|
myMod=readSettingsFile(fn, thisDetector->myDetectorType,iodelay, tau, myMod);
|
||||||
|
|
||||||
if (myMod) {
|
if (myMod) {
|
||||||
@ -7605,18 +7606,27 @@ int slsDetector::saveSettingsFile(string fname, int imod) {
|
|||||||
mmax=imod+1;
|
mmax=imod+1;
|
||||||
}
|
}
|
||||||
for (int im=mmin; im<mmax; ++im) {
|
for (int im=mmin; im<mmax; ++im) {
|
||||||
|
string fn=fname;
|
||||||
ostringstream ostfn;
|
ostringstream ostfn;
|
||||||
if(thisDetector->myDetectorType == EIGER){
|
ostfn << fname;
|
||||||
ostfn << fname << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER);
|
switch (thisDetector->myDetectorType) {
|
||||||
} else
|
case MYTHEN:
|
||||||
ostfn << fname << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER,im);
|
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 ((myMod=getModule(im))) {
|
||||||
|
|
||||||
if(thisDetector->myDetectorType == EIGER){
|
if(thisDetector->myDetectorType == EIGER){
|
||||||
iodelay = (int)setDAC((dacs_t)-1,IO_DELAY,0,-1);
|
iodelay = (int)setDAC((dacs_t)-1,IO_DELAY,0,-1);
|
||||||
tau = (int64_t)getRateCorrectionTau();
|
tau = (int64_t)getRateCorrectionTau();
|
||||||
}
|
}
|
||||||
ret=writeSettingsFile(ostfn.str(), thisDetector->myDetectorType, *myMod, iodelay, tau);
|
ret=writeSettingsFile(fn, thisDetector->myDetectorType, *myMod, iodelay, tau);
|
||||||
deleteModule(myMod);
|
deleteModule(myMod);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7693,14 +7703,22 @@ int slsDetector::loadCalibrationFile(string fname, int imod) {
|
|||||||
mmax=imod+1;
|
mmax=imod+1;
|
||||||
}
|
}
|
||||||
for (int im=mmin; im<mmax; ++im) {
|
for (int im=mmin; im<mmax; ++im) {
|
||||||
|
string fn=fname;
|
||||||
ostringstream ostfn;
|
ostringstream ostfn;
|
||||||
ostfn << fname ;
|
ostfn << fname ;
|
||||||
if(thisDetector->myDetectorType != EIGER){
|
switch (thisDetector->myDetectorType) {
|
||||||
if (fname.find(".sn")==string::npos && fname.find(".cal")==string::npos) {
|
case MYTHEN:
|
||||||
ostfn << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im);
|
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);
|
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();
|
fn=ostfn.str();
|
||||||
if((myMod=getModule(im))){
|
if((myMod=getModule(im))){
|
||||||
@ -7737,18 +7755,27 @@ int slsDetector::saveCalibrationFile(string fname, int imod) {
|
|||||||
mmax=imod+1;
|
mmax=imod+1;
|
||||||
}
|
}
|
||||||
for (int im=mmin; im<mmax; ++im) {
|
for (int im=mmin; im<mmax; ++im) {
|
||||||
|
string fn=fname;
|
||||||
ostringstream ostfn;
|
ostringstream ostfn;
|
||||||
if(thisDetector->myDetectorType == EIGER)
|
ostfn << fname;
|
||||||
ostfn << fname << ".sn" << setfill('0') << setw(3) << dec << getId(DETECTOR_SERIAL_NUMBER);
|
switch (thisDetector->myDetectorType) {
|
||||||
else
|
case MYTHEN:
|
||||||
ostfn << fname << ".sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER,im);
|
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 ((myMod=getModule(im))) {
|
||||||
//extra gain and offset
|
//extra gain and offset
|
||||||
if(thisDetector->nGain)
|
if(thisDetector->nGain)
|
||||||
ret=writeCalibrationFile(ostfn.str(),gain, offset);
|
ret=writeCalibrationFile(fn,gain, offset);
|
||||||
//normal gain and offset inside sls_detector_module
|
//normal gain and offset inside sls_detector_module
|
||||||
else
|
else
|
||||||
ret=writeCalibrationFile(ostfn.str(),myMod->gain, myMod->offset);
|
ret=writeCalibrationFile(fn,myMod->gain, myMod->offset);
|
||||||
|
|
||||||
deleteModule(myMod);
|
deleteModule(myMod);
|
||||||
}else
|
}else
|
||||||
|
@ -4508,7 +4508,7 @@ string slsDetectorCommand::cmdSettings(int narg, char *args[], int action) {
|
|||||||
} else if (action==PUT_ACTION) {
|
} else if (action==PUT_ACTION) {
|
||||||
myDet->loadSettingsFile(sval,-1);
|
myDet->loadSettingsFile(sval,-1);
|
||||||
}
|
}
|
||||||
}
|
}//cout<<"settingsfile:"<<myDet->getSettingsFile()<<endl;
|
||||||
return string(myDet->getSettingsFile());
|
return string(myDet->getSettingsFile());
|
||||||
} else if (cmd=="trim") {
|
} else if (cmd=="trim") {
|
||||||
if (action==GET_ACTION)
|
if (action==GET_ACTION)
|
||||||
|
@ -2987,7 +2987,12 @@ int set_speed(int file_des) {
|
|||||||
switch (arg) {
|
switch (arg) {
|
||||||
#ifdef JUNGFRAUD
|
#ifdef JUNGFRAUD
|
||||||
case ADC_PHASE:
|
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;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#ifdef MYTHEND
|
#ifdef MYTHEND
|
||||||
@ -4919,8 +4924,6 @@ int cleanup_acquisition(int file_des) {
|
|||||||
int threshold_temp(int file_des) {
|
int threshold_temp(int file_des) {
|
||||||
int ret=OK,ret1=OK;
|
int ret=OK,ret1=OK;
|
||||||
int n=0;
|
int n=0;
|
||||||
int arg[2]={-1,-1};
|
|
||||||
int val=-1;
|
|
||||||
int retval=-1;
|
int retval=-1;
|
||||||
sprintf(mess,"could not set/get threshold temperature\n");
|
sprintf(mess,"could not set/get threshold temperature\n");
|
||||||
|
|
||||||
@ -4932,6 +4935,9 @@ int threshold_temp(int file_des) {
|
|||||||
sprintf(mess,"Function (Threshold Temp) is not implemented for this detector\n");
|
sprintf(mess,"Function (Threshold Temp) is not implemented for this detector\n");
|
||||||
cprintf(RED, "%s", mess);
|
cprintf(RED, "%s", mess);
|
||||||
#else
|
#else
|
||||||
|
int arg[2]={-1,-1};
|
||||||
|
int val=-1;
|
||||||
|
|
||||||
// receive arguments
|
// receive arguments
|
||||||
n = receiveData(file_des,arg,sizeof(arg),INT32);
|
n = receiveData(file_des,arg,sizeof(arg),INT32);
|
||||||
if (n < 0) return printSocketReadError();
|
if (n < 0) return printSocketReadError();
|
||||||
@ -4942,7 +4948,6 @@ int threshold_temp(int file_des) {
|
|||||||
sprintf(mess,"Threshold Temp %d should be in range: 0 - %d\n", val, MAX_THRESHOLD_TEMP_VAL);
|
sprintf(mess,"Threshold Temp %d should be in range: 0 - %d\n", val, MAX_THRESHOLD_TEMP_VAL);
|
||||||
cprintf(RED, "Warning: %s", mess);
|
cprintf(RED, "Warning: %s", mess);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
||||||
@ -4959,6 +4964,7 @@ int threshold_temp(int file_des) {
|
|||||||
|
|
||||||
if (ret==OK && differentClients && val >= 0)
|
if (ret==OK && differentClients && val >= 0)
|
||||||
ret=FORCE_UPDATE;
|
ret=FORCE_UPDATE;
|
||||||
|
#endif
|
||||||
|
|
||||||
// ret could be swapped during sendData
|
// ret could be swapped during sendData
|
||||||
ret1 = ret;
|
ret1 = ret;
|
||||||
@ -4980,8 +4986,6 @@ int threshold_temp(int file_des) {
|
|||||||
int temp_control(int file_des) {
|
int temp_control(int file_des) {
|
||||||
int ret=OK,ret1=OK;
|
int ret=OK,ret1=OK;
|
||||||
int n=0;
|
int n=0;
|
||||||
int arg[2]={-1,-1};
|
|
||||||
int val=-1;
|
|
||||||
int retval=-1;
|
int retval=-1;
|
||||||
sprintf(mess,"could not set/get temperature control\n");
|
sprintf(mess,"could not set/get temperature control\n");
|
||||||
|
|
||||||
@ -4993,12 +4997,14 @@ int temp_control(int file_des) {
|
|||||||
sprintf(mess,"Function (Temperature control) is not implemented for this detector\n");
|
sprintf(mess,"Function (Temperature control) is not implemented for this detector\n");
|
||||||
cprintf(RED, "%s", mess);
|
cprintf(RED, "%s", mess);
|
||||||
#else
|
#else
|
||||||
|
int arg[2]={-1,-1};
|
||||||
|
int val=-1;
|
||||||
|
|
||||||
// receive arguments
|
// receive arguments
|
||||||
n = receiveData(file_des,arg,sizeof(arg),INT32);
|
n = receiveData(file_des,arg,sizeof(arg),INT32);
|
||||||
if (n < 0) return printSocketReadError();
|
if (n < 0) return printSocketReadError();
|
||||||
val=arg[0];
|
val=arg[0];
|
||||||
//ignoring imod
|
//ignoring imod
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
||||||
@ -5012,9 +5018,9 @@ int temp_control(int file_des) {
|
|||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
printf("Temperature control is %d\n", retval);
|
printf("Temperature control is %d\n", retval);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (ret==OK && differentClients && val >= 0)
|
if (ret==OK && differentClients && val >= 0)
|
||||||
ret=FORCE_UPDATE;
|
ret=FORCE_UPDATE;
|
||||||
|
#endif
|
||||||
|
|
||||||
// ret could be swapped during sendData
|
// ret could be swapped during sendData
|
||||||
ret1 = ret;
|
ret1 = ret;
|
||||||
@ -5037,8 +5043,6 @@ int temp_control(int file_des) {
|
|||||||
int temp_event(int file_des) {
|
int temp_event(int file_des) {
|
||||||
int ret=OK,ret1=OK;
|
int ret=OK,ret1=OK;
|
||||||
int n=0;
|
int n=0;
|
||||||
int arg[2]={-1,-1};
|
|
||||||
int val=-1;
|
|
||||||
int retval=-1;
|
int retval=-1;
|
||||||
sprintf(mess,"could not set/get temperature event\n");
|
sprintf(mess,"could not set/get temperature event\n");
|
||||||
|
|
||||||
@ -5050,13 +5054,14 @@ int temp_event(int file_des) {
|
|||||||
sprintf(mess,"Function (Temperature Event) is not implemented for this detector\n");
|
sprintf(mess,"Function (Temperature Event) is not implemented for this detector\n");
|
||||||
cprintf(RED, "%s", mess);
|
cprintf(RED, "%s", mess);
|
||||||
#else
|
#else
|
||||||
|
int arg[2]={-1,-1};
|
||||||
|
int val=-1;
|
||||||
|
|
||||||
// receive arguments
|
// receive arguments
|
||||||
n = receiveData(file_des,arg,sizeof(arg),INT32);
|
n = receiveData(file_des,arg,sizeof(arg),INT32);
|
||||||
if (n < 0) return printSocketReadError();
|
if (n < 0) return printSocketReadError();
|
||||||
val=arg[0];
|
val=arg[0];
|
||||||
//ignoring imod
|
//ignoring imod
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
#ifdef SLS_DETECTOR_FUNCTION_LIST
|
||||||
if (ret==OK) {
|
if (ret==OK) {
|
||||||
@ -5072,6 +5077,7 @@ int temp_event(int file_des) {
|
|||||||
|
|
||||||
if (ret==OK && differentClients && val >= 0)
|
if (ret==OK && differentClients && val >= 0)
|
||||||
ret=FORCE_UPDATE;
|
ret=FORCE_UPDATE;
|
||||||
|
#endif
|
||||||
|
|
||||||
// ret could be swapped during sendData
|
// ret could be swapped during sendData
|
||||||
ret1 = ret;
|
ret1 = ret;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user