mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-13 05:17:13 +02:00
added subperiod in command line
This commit is contained in:
@ -42,6 +42,7 @@ unsigned int Feb_Control_subFrameMode;
|
|||||||
unsigned int Feb_Control_nimages;
|
unsigned int Feb_Control_nimages;
|
||||||
double Feb_Control_exposure_time_in_sec;
|
double Feb_Control_exposure_time_in_sec;
|
||||||
int64_t Feb_Control_subframe_exposure_time_in_10nsec;
|
int64_t Feb_Control_subframe_exposure_time_in_10nsec;
|
||||||
|
int64_t Feb_Control_subframe_period_in_10nsec;
|
||||||
double Feb_Control_exposure_period_in_sec;
|
double Feb_Control_exposure_period_in_sec;
|
||||||
|
|
||||||
int64_t Feb_Control_RateTable_Tau_in_nsec = -1;
|
int64_t Feb_Control_RateTable_Tau_in_nsec = -1;
|
||||||
@ -1380,6 +1381,14 @@ int Feb_Control_SetSubFrameExposureTime(int64_t the_subframe_exposure_time_in_10
|
|||||||
}
|
}
|
||||||
int64_t Feb_Control_GetSubFrameExposureTime(){return Feb_Control_subframe_exposure_time_in_10nsec*10;}
|
int64_t Feb_Control_GetSubFrameExposureTime(){return Feb_Control_subframe_exposure_time_in_10nsec*10;}
|
||||||
|
|
||||||
|
int Feb_Control_SetSubFramePeriod(int64_t the_subframe_period_in_10nsec){
|
||||||
|
Feb_Control_subframe_period_in_10nsec = the_subframe_period_in_10nsec;
|
||||||
|
printf("Sub Frame Period set to: %lld\n",(long long int)Feb_Control_subframe_period_in_10nsec);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
int64_t Feb_Control_GetSubFramePeriod(){return Feb_Control_subframe_period_in_10nsec*10;}
|
||||||
|
|
||||||
|
|
||||||
int Feb_Control_SetExposurePeriod(double the_exposure_period_in_sec){
|
int Feb_Control_SetExposurePeriod(double the_exposure_period_in_sec){
|
||||||
Feb_Control_exposure_period_in_sec = the_exposure_period_in_sec;
|
Feb_Control_exposure_period_in_sec = the_exposure_period_in_sec;
|
||||||
printf("Exposure period set to: %f\n",Feb_Control_exposure_period_in_sec);
|
printf("Exposure period set to: %f\n",Feb_Control_exposure_period_in_sec);
|
||||||
@ -1510,9 +1519,11 @@ int Feb_Control_PrepareForAcquisition(){//return 1;
|
|||||||
reg_vals[4]=(Feb_Control_acquireNReadoutMode|Feb_Control_triggerMode|Feb_Control_externalEnableMode|Feb_Control_subFrameMode);
|
reg_vals[4]=(Feb_Control_acquireNReadoutMode|Feb_Control_triggerMode|Feb_Control_externalEnableMode|Feb_Control_subFrameMode);
|
||||||
reg_nums[5]=DAQ_REG_SUBFRAME_EXPOSURES;
|
reg_nums[5]=DAQ_REG_SUBFRAME_EXPOSURES;
|
||||||
reg_vals[5]= Feb_Control_subframe_exposure_time_in_10nsec; //(1 means 10ns, 100 means 1000ns)
|
reg_vals[5]= Feb_Control_subframe_exposure_time_in_10nsec; //(1 means 10ns, 100 means 1000ns)
|
||||||
|
reg_nums[6]=DAQ_REG_SUBFRAME_PERIOD;
|
||||||
|
reg_vals[6]= Feb_Control_subframe_period_in_10nsec; //(1 means 10ns, 100 means 1000ns)
|
||||||
// if(!Feb_Interface_WriteRegisters((Module_GetTopLeftAddress(&modules[1])|Module_GetTopRightAddress(&modules[1])),20,reg_nums,reg_vals,0,0)){
|
// if(!Feb_Interface_WriteRegisters((Module_GetTopLeftAddress(&modules[1])|Module_GetTopRightAddress(&modules[1])),20,reg_nums,reg_vals,0,0)){
|
||||||
if(Feb_Control_activated){
|
if(Feb_Control_activated){
|
||||||
if(!Feb_Interface_WriteRegisters(Feb_Control_AddressToAll(),6,reg_nums,reg_vals,0,0)){
|
if(!Feb_Interface_WriteRegisters(Feb_Control_AddressToAll(),7,reg_nums,reg_vals,0,0)){
|
||||||
printf("Trouble starting acquisition....\n");;
|
printf("Trouble starting acquisition....\n");;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -164,6 +164,8 @@ int Feb_Control_GetModuleNumber();
|
|||||||
int64_t Feb_Control_GetExposureTime_in_nsec();
|
int64_t Feb_Control_GetExposureTime_in_nsec();
|
||||||
int Feb_Control_SetSubFrameExposureTime(int64_t the_subframe_exposure_time_in_10nsec);
|
int Feb_Control_SetSubFrameExposureTime(int64_t the_subframe_exposure_time_in_10nsec);
|
||||||
int64_t Feb_Control_GetSubFrameExposureTime();
|
int64_t Feb_Control_GetSubFrameExposureTime();
|
||||||
|
int Feb_Control_SetSubFramePeriod(int64_t the_subframe_period_in_10nsec);
|
||||||
|
int64_t Feb_Control_GetSubFramePeriod();
|
||||||
int Feb_Control_SetExposurePeriod(double the_exposure_period_in_sec);
|
int Feb_Control_SetExposurePeriod(double the_exposure_period_in_sec);
|
||||||
double Feb_Control_GetExposurePeriod();
|
double Feb_Control_GetExposurePeriod();
|
||||||
int Feb_Control_SetDynamicRange(unsigned int four_eight_sixteen_or_thirtytwo);
|
int Feb_Control_SetDynamicRange(unsigned int four_eight_sixteen_or_thirtytwo);
|
||||||
|
@ -6,19 +6,28 @@
|
|||||||
|
|
||||||
|
|
||||||
//daq register definitions
|
//daq register definitions
|
||||||
#define DAQ_REG_CTRL 1
|
#define DAQ_REG_CTRL 1
|
||||||
#define DAQ_REG_CHIP_CMDS 2
|
#define DAQ_REG_CHIP_CMDS 2
|
||||||
#define DAQ_REG_STATIC_BITS 3
|
#define DAQ_REG_STATIC_BITS 3
|
||||||
#define DAQ_REG_CLK_ROW_CLK_NTIMES 3
|
#define DAQ_REG_CLK_ROW_CLK_NTIMES 3
|
||||||
#define DAQ_REG_SHIFT_IN_32 3
|
#define DAQ_REG_SHIFT_IN_32 3
|
||||||
#define DAQ_REG_READOUT_NROWS 3
|
#define DAQ_REG_READOUT_NROWS 3
|
||||||
#define DAQ_REG_SEND_N_TESTPULSES 3
|
#define DAQ_REG_SEND_N_TESTPULSES 3
|
||||||
|
|
||||||
|
#define DAQ_REG_NEXPOSURES 3
|
||||||
|
#define DAQ_REG_EXPOSURE_TIMER 4 // == (31 downto 3) * 10^(2 downto 0)
|
||||||
|
#define DAQ_REG_EXPOSURE_REPEAT_TIMER 5 // == (31 downto 3) * 10^(2 downto 0)
|
||||||
|
#define DAQ_REG_SUBFRAME_EXPOSURES 6
|
||||||
|
#define DAQ_REG_SUBFRAME_PERIOD 7 //also pg and fifo status register
|
||||||
|
|
||||||
|
|
||||||
|
#define DAQ_REG_RO_OFFSET 12
|
||||||
|
#define DAQ_REG_STATUS (0 + DAQ_REG_RO_OFFSET) //also pg and fifo status register
|
||||||
|
//temp so far
|
||||||
|
#define FEB_REG_STATUS (3 + DAQ_REG_RO_OFFSET)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define DAQ_REG_NEXPOSURES 3
|
|
||||||
#define DAQ_REG_EXPOSURE_TIMER 4 // == (31 downto 3) * 10^(2 downto 0)
|
|
||||||
#define DAQ_REG_EXPOSURE_REPEAT_TIMER 5 // == (31 downto 3) * 10^(2 downto 0)
|
|
||||||
#define DAQ_REG_SUBFRAME_EXPOSURES 6
|
|
||||||
#define DAQ_REG_STATUS 7 //also pg and fifo status register
|
|
||||||
|
|
||||||
#define DAQ_CTRL_RESET 0x80000000
|
#define DAQ_CTRL_RESET 0x80000000
|
||||||
#define DAQ_CTRL_START 0x40000000
|
#define DAQ_CTRL_START 0x40000000
|
||||||
@ -152,9 +161,6 @@
|
|||||||
|
|
||||||
#define FRAME_NUM_RESET_OFFSET 0xA0
|
#define FRAME_NUM_RESET_OFFSET 0xA0
|
||||||
|
|
||||||
//temp so far
|
|
||||||
#define FEB_REG_STATUS 0xa
|
|
||||||
|
|
||||||
//1g counters
|
//1g counters
|
||||||
#define ONE_GIGA_LEFT_INDEX_LSB_COUNTER 0x04
|
#define ONE_GIGA_LEFT_INDEX_LSB_COUNTER 0x04
|
||||||
#define ONE_GIGA_LEFT_INDEX_MSB_COUNTER 0x24
|
#define ONE_GIGA_LEFT_INDEX_MSB_COUNTER 0x24
|
||||||
|
Binary file not shown.
@ -1,9 +1,9 @@
|
|||||||
Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer
|
Path: slsDetectorsPackage/slsDetectorSoftware/eigerDetectorServer
|
||||||
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: 5b01b4cbd808a3c43f1ec97032a1020c8f2ce37a
|
Repsitory UUID: 23d73ae5aee55e52d1d05452c633073ac1c6ad1a
|
||||||
Revision: 331
|
Revision: 334
|
||||||
Branch: developer
|
Branch: developer
|
||||||
Last Changed Author: Dhanya_Thattil
|
Last Changed Author: Dhanya_Thattil
|
||||||
Last Changed Rev: 3807
|
Last Changed Rev: 3817
|
||||||
Last Changed Date: 2018-05-02 17:42:08.000000002 +0200 ./Beb.c
|
Last Changed Date: 2018-05-15 16:16:15.000000002 +0200 ./FebRegisterDefs.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||||
#define GITREPUUID "5b01b4cbd808a3c43f1ec97032a1020c8f2ce37a"
|
#define GITREPUUID "23d73ae5aee55e52d1d05452c633073ac1c6ad1a"
|
||||||
#define GITAUTH "Dhanya_Thattil"
|
#define GITAUTH "Dhanya_Thattil"
|
||||||
#define GITREV 0x3807
|
#define GITREV 0x3817
|
||||||
#define GITDATE 0x20180502
|
#define GITDATE 0x20180515
|
||||||
#define GITBRANCH "developer"
|
#define GITBRANCH "developer"
|
||||||
|
@ -328,7 +328,8 @@ void setupDetector() {
|
|||||||
//setting default measurement parameters
|
//setting default measurement parameters
|
||||||
setTimer(FRAME_NUMBER, DEFAULT_NUM_FRAMES);
|
setTimer(FRAME_NUMBER, DEFAULT_NUM_FRAMES);
|
||||||
setTimer(ACQUISITION_TIME, DEFAULT_EXPTIME);
|
setTimer(ACQUISITION_TIME, DEFAULT_EXPTIME);
|
||||||
setTimer(SUBFRAME_ACQUISITION_TIME, DEFAULT_SUBFRAME_EXPOSURE_VAL);
|
setTimer(SUBFRAME_ACQUISITION_TIME, DEFAULT_SUBFRAME_EXPOSURE);
|
||||||
|
setTimer(SUBFRAME_PERIOD, DEFAULT_SUBFRAME_PERIOD);
|
||||||
setTimer(FRAME_PERIOD, DEFAULT_PERIOD);
|
setTimer(FRAME_PERIOD, DEFAULT_PERIOD);
|
||||||
setDynamicRange(DEFAULT_DYNAMIC_RANGE);
|
setDynamicRange(DEFAULT_DYNAMIC_RANGE);
|
||||||
eiger_photonenergy = DEFAULT_PHOTON_ENERGY;
|
eiger_photonenergy = DEFAULT_PHOTON_ENERGY;
|
||||||
@ -498,6 +499,12 @@ int64_t setTimer(enum timerIndex ind, int64_t val){
|
|||||||
}
|
}
|
||||||
return (Feb_Control_GetSubFrameExposureTime());
|
return (Feb_Control_GetSubFrameExposureTime());
|
||||||
|
|
||||||
|
case SUBFRAME_PERIOD:
|
||||||
|
if(val >= 0){
|
||||||
|
printf(" Setting sub period: %lldns\n",(long long int)val/10);
|
||||||
|
Feb_Control_SetSubFramePeriod(val/10);
|
||||||
|
}
|
||||||
|
return (Feb_Control_GetSubFramePeriod());
|
||||||
|
|
||||||
case FRAME_PERIOD:
|
case FRAME_PERIOD:
|
||||||
if(val >= 0){
|
if(val >= 0){
|
||||||
|
@ -216,7 +216,8 @@ void setupDetector() {
|
|||||||
//setting default measurement parameters
|
//setting default measurement parameters
|
||||||
setTimer(FRAME_NUMBER, DEFAULT_NUM_FRAMES);
|
setTimer(FRAME_NUMBER, DEFAULT_NUM_FRAMES);
|
||||||
setTimer(ACQUISITION_TIME, DEFAULT_EXPTIME);
|
setTimer(ACQUISITION_TIME, DEFAULT_EXPTIME);
|
||||||
setTimer(SUBFRAME_ACQUISITION_TIME, DEFAULT_SUBFRAME_EXPOSURE_VAL);
|
setTimer(SUBFRAME_ACQUISITION_TIME, DEFAULT_SUBFRAME_EXPOSURE);
|
||||||
|
setTimer(SUBFRAME_PERIOD, DEFAULT_SUBFRAME_PERIOD);
|
||||||
setTimer(FRAME_PERIOD, DEFAULT_PERIOD);
|
setTimer(FRAME_PERIOD, DEFAULT_PERIOD);
|
||||||
setDynamicRange(DEFAULT_DYNAMIC_RANGE);
|
setDynamicRange(DEFAULT_DYNAMIC_RANGE);
|
||||||
eiger_photonenergy = DEFAULT_PHOTON_ENERGY;
|
eiger_photonenergy = DEFAULT_PHOTON_ENERGY;
|
||||||
|
@ -73,7 +73,8 @@ enum NETWORKINDEX {TXN_LEFT, TXN_RIGHT, TXN_FRAME,FLOWCTRL_10G};
|
|||||||
#define DEFAULT_DELAY (0)
|
#define DEFAULT_DELAY (0)
|
||||||
#define DEFAULT_HIGH_VOLTAGE (0)
|
#define DEFAULT_HIGH_VOLTAGE (0)
|
||||||
#define DEFAULT_SETTINGS (DYNAMICGAIN)
|
#define DEFAULT_SETTINGS (DYNAMICGAIN)
|
||||||
#define DEFAULT_SUBFRAME_EXPOSURE_VAL (2621440) // 2.6ms
|
#define DEFAULT_SUBFRAME_EXPOSURE (2621440) // 2.6ms
|
||||||
|
#define DEFAULT_SUBFRAME_PERIOD (0)
|
||||||
#define DEFAULT_DYNAMIC_RANGE (16)
|
#define DEFAULT_DYNAMIC_RANGE (16)
|
||||||
#define DEFAULT_READOUT_FLAG (NONPARALLEL)
|
#define DEFAULT_READOUT_FLAG (NONPARALLEL)
|
||||||
#define DEFAULT_CLK_SPEED (HALF_SPEED)
|
#define DEFAULT_CLK_SPEED (HALF_SPEED)
|
||||||
|
@ -5662,7 +5662,7 @@ string slsDetectorCommand::cmdTimer(int narg, char *args[], int action) {
|
|||||||
else if (cmd=="period")
|
else if (cmd=="period")
|
||||||
index=FRAME_PERIOD;
|
index=FRAME_PERIOD;
|
||||||
else if (cmd=="subperiod")
|
else if (cmd=="subperiod")
|
||||||
index=SUBFRAME_FRAME_PERIOD;
|
index=SUBFRAME_PERIOD;
|
||||||
else if (cmd=="delay")
|
else if (cmd=="delay")
|
||||||
index=DELAY_AFTER_TRIGGER;
|
index=DELAY_AFTER_TRIGGER;
|
||||||
else if (cmd=="gates")
|
else if (cmd=="gates")
|
||||||
@ -5701,7 +5701,7 @@ string slsDetectorCommand::cmdTimer(int narg, char *args[], int action) {
|
|||||||
return string("cannot scan timer value ")+string(args[1]);
|
return string("cannot scan timer value ")+string(args[1]);
|
||||||
if (index==ACQUISITION_TIME || index==SUBFRAME_ACQUISITION_TIME ||
|
if (index==ACQUISITION_TIME || index==SUBFRAME_ACQUISITION_TIME ||
|
||||||
index==FRAME_PERIOD || index==DELAY_AFTER_TRIGGER ||
|
index==FRAME_PERIOD || index==DELAY_AFTER_TRIGGER ||
|
||||||
index == SUBFRAME_FRAME_PERIOD) {
|
index == SUBFRAME_PERIOD) {
|
||||||
// t=(int64_t)(val*1E+9); for precision of eg.0.0000325, following done
|
// t=(int64_t)(val*1E+9); for precision of eg.0.0000325, following done
|
||||||
val*=1E9;
|
val*=1E9;
|
||||||
t = (int64_t)val;
|
t = (int64_t)val;
|
||||||
@ -5718,7 +5718,7 @@ string slsDetectorCommand::cmdTimer(int narg, char *args[], int action) {
|
|||||||
|
|
||||||
if ((ret!=-1) && (index==ACQUISITION_TIME || index==SUBFRAME_ACQUISITION_TIME
|
if ((ret!=-1) && (index==ACQUISITION_TIME || index==SUBFRAME_ACQUISITION_TIME
|
||||||
|| index==FRAME_PERIOD || index==DELAY_AFTER_TRIGGER ||
|
|| index==FRAME_PERIOD || index==DELAY_AFTER_TRIGGER ||
|
||||||
index == SUBFRAME_FRAME_PERIOD)) {
|
index == SUBFRAME_PERIOD)) {
|
||||||
rval=(double)ret*1E-9;
|
rval=(double)ret*1E-9;
|
||||||
sprintf(answer,"%0.9f",rval);
|
sprintf(answer,"%0.9f",rval);
|
||||||
}
|
}
|
||||||
|
@ -2755,6 +2755,16 @@ int set_timer(int file_des) {
|
|||||||
strcpy(mess,"Sub Frame exposure time should not exceed 5.368 seconds\n");
|
strcpy(mess,"Sub Frame exposure time should not exceed 5.368 seconds\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
retval = setTimer(ind,tns);
|
||||||
|
break;
|
||||||
|
case SUBFRAME_PERIOD:
|
||||||
|
if (tns > ((int64_t)MAX_SUBFRAME_EXPOSURE_VAL_IN_10NS*10) ){
|
||||||
|
ret=FAIL;
|
||||||
|
strcpy(mess,"Sub Frame Period should not exceed 5.368 seconds\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
retval = setTimer(ind,tns);
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
#ifdef MYTHEN
|
#ifdef MYTHEN
|
||||||
case PROBES_NUMBER:
|
case PROBES_NUMBER:
|
||||||
|
@ -112,7 +112,7 @@ public:
|
|||||||
SAMPLES_JCTB,
|
SAMPLES_JCTB,
|
||||||
SUBFRAME_ACQUISITION_TIME, /**< subframe exposure time */
|
SUBFRAME_ACQUISITION_TIME, /**< subframe exposure time */
|
||||||
STORAGE_CELL_NUMBER, /**<number of storage cells */
|
STORAGE_CELL_NUMBER, /**<number of storage cells */
|
||||||
SUBFRAME_FRAME_PERIOD, /**< subframe period */
|
SUBFRAME_PERIOD, /**< subframe period */
|
||||||
MAX_TIMERS
|
MAX_TIMERS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user