high voltage reflects the master only, if 2 masters reflects -1

This commit is contained in:
Dhanya Maliakal
2017-08-10 11:09:44 +02:00
parent 558e5e2e9a
commit 389f356a3a
9 changed files with 51 additions and 29 deletions

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer
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: d3b24894af8a588e6945240c3b80c2b7024608c4
Revision: 295
Repsitory UUID: 2dfbd9016b501eca6ee2c00a08e49a3f7e7990d8
Revision: 296
Branch: 3.0-rc
Last Changed Author: Dhanya_Maliakal
Last Changed Rev: 1448
Last Changed Date: 2017-07-25 13:53:46.000000002 +0200 ./Beb.c
Last Changed Rev: 1457
Last Changed Date: 2017-08-08 15:23:10.000000002 +0200 ./Makefile

View File

@ -1,11 +1,11 @@
//#define SVNPATH ""
#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git"
//#define SVNREPPATH ""
#define SVNREPUUID "d3b24894af8a588e6945240c3b80c2b7024608c4"
//#define SVNREV 0x1448
#define SVNREPUUID "2dfbd9016b501eca6ee2c00a08e49a3f7e7990d8"
//#define SVNREV 0x1457
//#define SVNKIND ""
//#define SVNSCHED ""
#define SVNAUTH "Dhanya_Maliakal"
#define SVNREV 0x1448
#define SVNDATE 0x20170725
#define SVNREV 0x1457
#define SVNDATE 0x20170808
//

View File

@ -30,6 +30,7 @@ dacs_t *detectorDacs=NULL;
dacs_t *detectorAdcs=NULL;
int eiger_highvoltage = 0;
int eiger_theo_highvoltage = 0;
int eiger_iodelay = 0;
int eiger_photonenergy = 0;
int eiger_dynamicrange = 0;
@ -745,22 +746,33 @@ int getADC(enum ADCINDEX ind, int imod){
int setHighVoltage(int val){
if(val!=-1){
eiger_highvoltage = val;
if(master){
if (master) {
// set
if(val!=-1){
eiger_theo_highvoltage = val;
int ret = Feb_Control_SetHighVoltage(val);
if(!ret) //could not set
return -2;
else if (ret == -1) //outside range
return -1;
}
// get
if (!Feb_Control_GetHighVoltage(&eiger_highvoltage)) {
cprintf(RED,"Warning: Could not read high voltage\n");
return -3;
}
// tolerance of 5
if (abs(eiger_theo_highvoltage-eiger_highvoltage) > HIGH_VOLTAGE_TOLERANCE) {
cprintf(BLUE, "High voltage still ramping: %d\n", eiger_highvoltage);
return eiger_highvoltage;
}
return eiger_theo_highvoltage;
}
if(master && !Feb_Control_GetHighVoltage(&eiger_highvoltage)){
cprintf(RED,"Warning: Could not read high voltage\n");
return -3;
}
return eiger_highvoltage;
return SLAVE_HIGH_VOLTAGE_READ_VAL;
}

View File

@ -84,6 +84,8 @@ enum NETWORKINDEX {TXN_LEFT, TXN_RIGHT, TXN_FRAME,FLOWCTRL_10G};
#define MAX_SUBFRAME_EXPOSURE_VAL_IN_10NS (0x1FFFFFFF) /** 29 bit register for max subframe exposure value */
#define SLAVE_HIGH_VOLTAGE_READ_VAL (-999)
#define HIGH_VOLTAGE_TOLERANCE (5)
#endif /* SLSDETECTORSERVER_DEFS_H_ */