mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00
added subperiod in command line
This commit is contained in:
parent
23d73ae5ae
commit
51fd9ed423
@ -42,6 +42,7 @@ unsigned int Feb_Control_subFrameMode;
|
||||
unsigned int Feb_Control_nimages;
|
||||
double Feb_Control_exposure_time_in_sec;
|
||||
int64_t Feb_Control_subframe_exposure_time_in_10nsec;
|
||||
int64_t Feb_Control_subframe_period_in_10nsec;
|
||||
double Feb_Control_exposure_period_in_sec;
|
||||
|
||||
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;}
|
||||
|
||||
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){
|
||||
Feb_Control_exposure_period_in_sec = the_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_nums[5]=DAQ_REG_SUBFRAME_EXPOSURES;
|
||||
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_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");;
|
||||
return 0;
|
||||
}
|
||||
|
@ -164,6 +164,8 @@ int Feb_Control_GetModuleNumber();
|
||||
int64_t Feb_Control_GetExposureTime_in_nsec();
|
||||
int Feb_Control_SetSubFrameExposureTime(int64_t the_subframe_exposure_time_in_10nsec);
|
||||
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);
|
||||
double Feb_Control_GetExposurePeriod();
|
||||
int Feb_Control_SetDynamicRange(unsigned int four_eight_sixteen_or_thirtytwo);
|
||||
|
@ -6,19 +6,28 @@
|
||||
|
||||
|
||||
//daq register definitions
|
||||
#define DAQ_REG_CTRL 1
|
||||
#define DAQ_REG_CHIP_CMDS 2
|
||||
#define DAQ_REG_STATIC_BITS 3
|
||||
#define DAQ_REG_CLK_ROW_CLK_NTIMES 3
|
||||
#define DAQ_REG_SHIFT_IN_32 3
|
||||
#define DAQ_REG_READOUT_NROWS 3
|
||||
#define DAQ_REG_SEND_N_TESTPULSES 3
|
||||
#define DAQ_REG_CTRL 1
|
||||
#define DAQ_REG_CHIP_CMDS 2
|
||||
#define DAQ_REG_STATIC_BITS 3
|
||||
#define DAQ_REG_CLK_ROW_CLK_NTIMES 3
|
||||
#define DAQ_REG_SHIFT_IN_32 3
|
||||
#define DAQ_REG_READOUT_NROWS 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_START 0x40000000
|
||||
@ -152,9 +161,6 @@
|
||||
|
||||
#define FRAME_NUM_RESET_OFFSET 0xA0
|
||||
|
||||
//temp so far
|
||||
#define FEB_REG_STATUS 0xa
|
||||
|
||||
//1g counters
|
||||
#define ONE_GIGA_LEFT_INDEX_LSB_COUNTER 0x04
|
||||
#define ONE_GIGA_LEFT_INDEX_MSB_COUNTER 0x24
|
||||
|
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: 5b01b4cbd808a3c43f1ec97032a1020c8f2ce37a
|
||||
Revision: 331
|
||||
Repsitory UUID: 23d73ae5aee55e52d1d05452c633073ac1c6ad1a
|
||||
Revision: 334
|
||||
Branch: developer
|
||||
Last Changed Author: Dhanya_Thattil
|
||||
Last Changed Rev: 3807
|
||||
Last Changed Date: 2018-05-02 17:42:08.000000002 +0200 ./Beb.c
|
||||
Last Changed Rev: 3817
|
||||
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 GITREPUUID "5b01b4cbd808a3c43f1ec97032a1020c8f2ce37a"
|
||||
#define GITREPUUID "23d73ae5aee55e52d1d05452c633073ac1c6ad1a"
|
||||
#define GITAUTH "Dhanya_Thattil"
|
||||
#define GITREV 0x3807
|
||||
#define GITDATE 0x20180502
|
||||
#define GITREV 0x3817
|
||||
#define GITDATE 0x20180515
|
||||
#define GITBRANCH "developer"
|
||||
|
@ -328,7 +328,8 @@ void setupDetector() {
|
||||
//setting default measurement parameters
|
||||
setTimer(FRAME_NUMBER, DEFAULT_NUM_FRAMES);
|
||||
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);
|
||||
setDynamicRange(DEFAULT_DYNAMIC_RANGE);
|
||||
eiger_photonenergy = DEFAULT_PHOTON_ENERGY;
|
||||
@ -498,6 +499,12 @@ int64_t setTimer(enum timerIndex ind, int64_t val){
|
||||
}
|
||||
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:
|
||||
if(val >= 0){
|
||||
|
@ -216,7 +216,8 @@ void setupDetector() {
|
||||
//setting default measurement parameters
|
||||
setTimer(FRAME_NUMBER, DEFAULT_NUM_FRAMES);
|
||||
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);
|
||||
setDynamicRange(DEFAULT_DYNAMIC_RANGE);
|
||||
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_HIGH_VOLTAGE (0)
|
||||
#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_READOUT_FLAG (NONPARALLEL)
|
||||
#define DEFAULT_CLK_SPEED (HALF_SPEED)
|
||||
|
@ -5662,7 +5662,7 @@ string slsDetectorCommand::cmdTimer(int narg, char *args[], int action) {
|
||||
else if (cmd=="period")
|
||||
index=FRAME_PERIOD;
|
||||
else if (cmd=="subperiod")
|
||||
index=SUBFRAME_FRAME_PERIOD;
|
||||
index=SUBFRAME_PERIOD;
|
||||
else if (cmd=="delay")
|
||||
index=DELAY_AFTER_TRIGGER;
|
||||
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]);
|
||||
if (index==ACQUISITION_TIME || index==SUBFRAME_ACQUISITION_TIME ||
|
||||
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
|
||||
val*=1E9;
|
||||
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
|
||||
|| index==FRAME_PERIOD || index==DELAY_AFTER_TRIGGER ||
|
||||
index == SUBFRAME_FRAME_PERIOD)) {
|
||||
index == SUBFRAME_PERIOD)) {
|
||||
rval=(double)ret*1E-9;
|
||||
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");
|
||||
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
|
||||
#ifdef MYTHEN
|
||||
case PROBES_NUMBER:
|
||||
|
@ -112,7 +112,7 @@ public:
|
||||
SAMPLES_JCTB,
|
||||
SUBFRAME_ACQUISITION_TIME, /**< subframe exposure time */
|
||||
STORAGE_CELL_NUMBER, /**<number of storage cells */
|
||||
SUBFRAME_FRAME_PERIOD, /**< subframe period */
|
||||
SUBFRAME_PERIOD, /**< subframe period */
|
||||
MAX_TIMERS
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user