mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 18:17:59 +02:00
eiger server: changed subperiod to subdeadtime, changing subexptime or subdeadtime sets subperiod in eiger server
This commit is contained in:
@ -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: b3ccd5e1a137ddb5f11bc88d51a80e9dd777bc09
|
||||
Revision: 346
|
||||
Repsitory UUID: 2a28333a96a40b7e48e68eee5be791b087a01b52
|
||||
Revision: 347
|
||||
Branch: developer
|
||||
Last Changed Author: Dhanya_Thattil
|
||||
Last Changed Rev: 3980
|
||||
Last Changed Date: 2018-08-15 18:03:20.000000002 +0200 ./Beb.c
|
||||
Last Changed Rev: 3983
|
||||
Last Changed Date: 2018-08-16 18:51:42.000000002 +0200 ./Makefile.virtual
|
||||
|
@ -1,6 +1,6 @@
|
||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||
#define GITREPUUID "b3ccd5e1a137ddb5f11bc88d51a80e9dd777bc09"
|
||||
#define GITREPUUID "2a28333a96a40b7e48e68eee5be791b087a01b52"
|
||||
#define GITAUTH "Dhanya_Thattil"
|
||||
#define GITREV 0x3980
|
||||
#define GITDATE 0x20180815
|
||||
#define GITREV 0x3983
|
||||
#define GITDATE 0x20180816
|
||||
#define GITBRANCH "developer"
|
||||
|
@ -458,7 +458,7 @@ void setupDetector() {
|
||||
setTimer(FRAME_NUMBER, DEFAULT_NUM_FRAMES);
|
||||
setTimer(ACQUISITION_TIME, DEFAULT_EXPTIME);
|
||||
setTimer(SUBFRAME_ACQUISITION_TIME, DEFAULT_SUBFRAME_EXPOSURE);
|
||||
setTimer(SUBFRAME_PERIOD, DEFAULT_SUBFRAME_PERIOD);
|
||||
setTimer(SUBFRAME_DEADTIME, DEFAULT_SUBFRAME_DEADTIME);
|
||||
setTimer(FRAME_PERIOD, DEFAULT_PERIOD);
|
||||
setTimer(CYCLES_NUMBER, DEFAULT_NUM_CYCLES);
|
||||
setDynamicRange(DEFAULT_DYNAMIC_RANGE);
|
||||
@ -657,6 +657,8 @@ enum readOutFlags setReadOutFlags(enum readOutFlags val){
|
||||
/* parameters - timer */
|
||||
|
||||
int64_t setTimer(enum timerIndex ind, int64_t val){
|
||||
int64_t subdeadtime = 0;
|
||||
int64_t subexptime = 0;
|
||||
switch(ind){
|
||||
case FRAME_NUMBER:
|
||||
if(val >= 0){
|
||||
@ -694,11 +696,20 @@ int64_t setTimer(enum timerIndex ind, int64_t val){
|
||||
|
||||
case SUBFRAME_ACQUISITION_TIME:
|
||||
if(val >= 0){
|
||||
printf(" Setting sub exp time: %lldns\n",(long long int)val/10);
|
||||
printf(" Setting sub exp time: %lldns\n",(long long int)val);
|
||||
#ifndef VIRTUAL
|
||||
// calculate subdeadtime before settings subexptime
|
||||
subdeadtime = Feb_Control_GetSubFramePeriod() -
|
||||
Feb_Control_GetSubFrameExposureTime();
|
||||
|
||||
Feb_Control_SetSubFrameExposureTime(val/10);
|
||||
// set subperiod
|
||||
Feb_Control_SetSubFramePeriod((val+subdeadtime)/10);
|
||||
#else
|
||||
int64_t subdeadtime = eiger_virtual_subperiod*10 -
|
||||
eiger_virtual_subexptime*10;
|
||||
eiger_virtual_subexptime = (val/(10));
|
||||
eiger_virtual_subperiod = (val+subdeadtime/10);
|
||||
#endif
|
||||
}
|
||||
#ifndef VIRTUAL
|
||||
@ -707,19 +718,30 @@ int64_t setTimer(enum timerIndex ind, int64_t val){
|
||||
return eiger_virtual_subexptime*10;
|
||||
#endif
|
||||
|
||||
case SUBFRAME_PERIOD:
|
||||
case SUBFRAME_DEADTIME:
|
||||
#ifndef VIRTUAL
|
||||
// get subexptime
|
||||
subexptime = Feb_Control_GetSubFrameExposureTime();
|
||||
#else
|
||||
int64_t subexptime = eiger_virtual_subexptime*10;
|
||||
#endif
|
||||
if(val >= 0){
|
||||
printf(" Setting sub period: %lldns\n",(long long int)val/10);
|
||||
printf(" Setting sub period: %lldns = subexptime(%lld) + subdeadtime(%lld)\n",
|
||||
(long long int)(val + subexptime),
|
||||
(long long int)subexptime,
|
||||
(long long int)val);
|
||||
//calculate subperiod
|
||||
val += subexptime;
|
||||
#ifndef VIRTUAL
|
||||
Feb_Control_SetSubFramePeriod(val/10);
|
||||
#else
|
||||
eiger_virtual_subperiod = (val/(1E9));
|
||||
eiger_virtual_subperiod = (val/10);
|
||||
#endif
|
||||
}
|
||||
#ifndef VIRTUAL
|
||||
return (Feb_Control_GetSubFramePeriod());
|
||||
return (Feb_Control_GetSubFramePeriod() - subexptime);
|
||||
#else
|
||||
return eiger_virtual_subperiod*1e9;
|
||||
return (eiger_virtual_subperiod*10 - subexptime);
|
||||
#endif
|
||||
|
||||
case FRAME_PERIOD:
|
||||
|
@ -74,7 +74,7 @@ enum NETWORKINDEX {TXN_LEFT, TXN_RIGHT, TXN_FRAME,FLOWCTRL_10G};
|
||||
#define DEFAULT_HIGH_VOLTAGE (0)
|
||||
#define DEFAULT_SETTINGS (DYNAMICGAIN)
|
||||
#define DEFAULT_SUBFRAME_EXPOSURE (2621440) // 2.6ms
|
||||
#define DEFAULT_SUBFRAME_PERIOD (0)
|
||||
#define DEFAULT_SUBFRAME_DEADTIME (0)
|
||||
#define DEFAULT_DYNAMIC_RANGE (16)
|
||||
|
||||
#define DEFAULT_READOUT_MODE (NONPARALLEL)
|
||||
|
Reference in New Issue
Block a user