mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-13 13:27:14 +02:00
solved many bugs, but cannot get data in eiger
This commit is contained in:
@ -328,16 +328,15 @@ int receiveData(int file_des, void* buf,int length, intType itype){
|
|||||||
int nreceiving;
|
int nreceiving;
|
||||||
int nreceived;
|
int nreceived;
|
||||||
if (file_des<0) return -1;
|
if (file_des<0) return -1;
|
||||||
//#ifdef VERY_VERBOSE
|
#ifdef VERY_VERBOSE
|
||||||
printf("want to receive %d Bytes\n", length);
|
printf("want to receive %d Bytes\n", length);
|
||||||
//#endif
|
#endif
|
||||||
|
|
||||||
while(length > 0) {
|
while(length > 0) {
|
||||||
nreceiving = (length>send_rec_max_size) ? send_rec_max_size:length;
|
nreceiving = (length>send_rec_max_size) ? send_rec_max_size:length;
|
||||||
nreceived = read(file_des,(char*)buf+total_received,nreceiving);
|
nreceived = read(file_des,(char*)buf+total_received,nreceiving);
|
||||||
if(!nreceived){
|
if(!nreceived){
|
||||||
if(!total_received) {
|
if(!total_received) {
|
||||||
cprintf(BG_RED, "Error reading from socket. Possible socket crash\n");
|
|
||||||
return -1; //to handle it
|
return -1; //to handle it
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -111,6 +111,7 @@ enum detFuncs{
|
|||||||
F_POWER_CHIP, /**< power chip */
|
F_POWER_CHIP, /**< power chip */
|
||||||
F_ACTIVATE, /** < activate */
|
F_ACTIVATE, /** < activate */
|
||||||
F_PREPARE_ACQUISITION, /** < prepare acquisition */
|
F_PREPARE_ACQUISITION, /** < prepare acquisition */
|
||||||
|
F_CLEANUP_ACQUISITION, /** < clean up after acquisition */
|
||||||
/* Always append functions hereafter!!! */
|
/* Always append functions hereafter!!! */
|
||||||
|
|
||||||
/* Always append functions before!!! */
|
/* Always append functions before!!! */
|
||||||
|
@ -412,7 +412,7 @@ int Beb_Activate(int enable){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int Beb_SetNetworkParameter(enum detNetworkParameter mode, int val){
|
int Beb_SetNetworkParameter(enum NETWORKINDEX mode, int val){
|
||||||
|
|
||||||
if(!Beb_activated)
|
if(!Beb_activated)
|
||||||
return val;
|
return val;
|
||||||
|
@ -51,7 +51,7 @@ struct BebInfo{
|
|||||||
int Beb_SetMasterViaSoftware();
|
int Beb_SetMasterViaSoftware();
|
||||||
int Beb_SetSlaveViaSoftware();
|
int Beb_SetSlaveViaSoftware();
|
||||||
int Beb_Activate(int enable);
|
int Beb_Activate(int enable);
|
||||||
int Beb_SetNetworkParameter(enum detNetworkParameter mode, int val);
|
int Beb_SetNetworkParameter(enum NETWORKINDEX mode, int val);
|
||||||
int Beb_ResetToHardwareSettings();
|
int Beb_ResetToHardwareSettings();
|
||||||
u_int32_t Beb_GetFirmwareRevision();
|
u_int32_t Beb_GetFirmwareRevision();
|
||||||
u_int32_t Beb_GetFirmwareSoftwareAPIVersion();
|
u_int32_t Beb_GetFirmwareSoftwareAPIVersion();
|
||||||
|
@ -293,7 +293,7 @@ void allocateDetectorStructureMemory(){
|
|||||||
(detectorModules)->nadc=NADC;
|
(detectorModules)->nadc=NADC;
|
||||||
(detectorModules)->nchip=NCHIP;
|
(detectorModules)->nchip=NCHIP;
|
||||||
(detectorModules)->nchan=NCHIP*NCHAN;
|
(detectorModules)->nchan=NCHIP*NCHAN;
|
||||||
(detectorModules)->module=imod;
|
(detectorModules)->module=0;
|
||||||
(detectorModules)->gain=0;
|
(detectorModules)->gain=0;
|
||||||
(detectorModules)->offset=0;
|
(detectorModules)->offset=0;
|
||||||
(detectorModules)->reg=0;
|
(detectorModules)->reg=0;
|
||||||
@ -305,11 +305,18 @@ void allocateDetectorStructureMemory(){
|
|||||||
void setupDetector() {
|
void setupDetector() {
|
||||||
|
|
||||||
allocateDetectorStructureMemory();
|
allocateDetectorStructureMemory();
|
||||||
|
//set dacs
|
||||||
//Get dac values
|
printf("Setting Default Dac values\n");
|
||||||
int retval[2];
|
{
|
||||||
for(i=0;i<(detectorModules)->ndac;i++)
|
int i = 0;
|
||||||
setDAC((enum DAC_INDEX)i,DEFAULT_DAC_VALS[i],(detectorModules)->module,0,retval);
|
int retval[2]={-1,-1};
|
||||||
|
const int defaultvals[NDAC] = DEFAULT_DAC_VALS;
|
||||||
|
for(i = 0; i < NDAC; ++i) {
|
||||||
|
setDAC((enum DACINDEX)i,defaultvals[i],0,0,retval);
|
||||||
|
if (retval[0] != defaultvals[i])
|
||||||
|
cprintf(RED, "Warning: Setting dac %d failed, wrote %d, read %d\n",i ,defaultvals[i], retval[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//setting default measurement parameters
|
//setting default measurement parameters
|
||||||
setTimer(FRAME_NUMBER, DEFAULT_NUM_FRAMES);
|
setTimer(FRAME_NUMBER, DEFAULT_NUM_FRAMES);
|
||||||
@ -533,7 +540,7 @@ int setModule(sls_detector_module myMod, int delay){
|
|||||||
|
|
||||||
//set dac values
|
//set dac values
|
||||||
for(i=0;i<myMod.ndac;i++)
|
for(i=0;i<myMod.ndac;i++)
|
||||||
setDAC((enum DAC_INDEX)i,myMod.dacs[i],myMod.module,0,retval);
|
setDAC((enum DACINDEX)i,myMod.dacs[i],myMod.module,0,retval);
|
||||||
|
|
||||||
//includ gap pixels
|
//includ gap pixels
|
||||||
unsigned int tt[263680];
|
unsigned int tt[263680];
|
||||||
@ -566,7 +573,7 @@ int getModule(sls_detector_module *myMod){
|
|||||||
|
|
||||||
//dacs
|
//dacs
|
||||||
for(i=0;i<NDAC;i++)
|
for(i=0;i<NDAC;i++)
|
||||||
setDAC((enum DAC_INDEX)i,-1,-1,0,retval);
|
setDAC((enum DACINDEX)i,-1,-1,0,retval);
|
||||||
|
|
||||||
//trimbits
|
//trimbits
|
||||||
unsigned int* tt;
|
unsigned int* tt;
|
||||||
@ -635,8 +642,7 @@ int setThresholdEnergy(int ev, int imod){
|
|||||||
|
|
||||||
/* parameters - dac, adc, hv */
|
/* parameters - dac, adc, hv */
|
||||||
|
|
||||||
|
void setDAC(enum DACINDEX ind, int val, int imod, int mV, int retval[]){
|
||||||
void setDAC(enum DAC_INDEX ind, int val, int imod, int mV, int retval[]){
|
|
||||||
|
|
||||||
if(ind == VTHRESHOLD){
|
if(ind == VTHRESHOLD){
|
||||||
int ret[5];
|
int ret[5];
|
||||||
@ -696,7 +702,7 @@ void setDAC(enum DAC_INDEX ind, int val, int imod, int mV, int retval[]){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int getADC(enum ADC_INDEX ind, int imod){
|
int getADC(enum ADCINDEX ind, int imod){
|
||||||
int retval = -1;
|
int retval = -1;
|
||||||
char tempnames[6][20]={"FPGA EXT", "10GE","DCDC", "SODL", "SODR", "FPGA"};
|
char tempnames[6][20]={"FPGA EXT", "10GE","DCDC", "SODL", "SODR", "FPGA"};
|
||||||
char cstore[255];
|
char cstore[255];
|
||||||
@ -793,8 +799,7 @@ enum externalCommunicationMode setTiming( enum externalCommunicationMode arg){
|
|||||||
|
|
||||||
/* configure mac */
|
/* configure mac */
|
||||||
|
|
||||||
|
int configureMAC(uint32_t destip, uint64_t destmac, uint64_t sourcemac, uint32_t sourceip, uint32_t udpport, uint32_t udpport2, int ival) {
|
||||||
int configureMAC(int ipad, long long int macad, long long int detectormacadd, int detipad, int udpport, int udpport2, int ival){
|
|
||||||
if (sourcemac != getDetectorMAC()){
|
if (sourcemac != getDetectorMAC()){
|
||||||
printf("*************************************************\n");
|
printf("*************************************************\n");
|
||||||
printf("WARNING: actual detector mac address %llx does not match the one from client %llx\n",getDetectorMAC(),sourcemac);
|
printf("WARNING: actual detector mac address %llx does not match the one from client %llx\n",getDetectorMAC(),sourcemac);
|
||||||
@ -1050,7 +1055,7 @@ int activate(int enable){
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int setNetworkParameter(enum detNetworkParameter mode, int value){
|
int setNetworkParameter(enum NETWORKINDEX mode, int value){
|
||||||
return Beb_SetNetworkParameter(mode, value);
|
return Beb_SetNetworkParameter(mode, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1113,15 +1118,13 @@ int stopStateMachine(){
|
|||||||
|
|
||||||
int startReadOut(){
|
int startReadOut(){
|
||||||
|
|
||||||
|
printf("Requesting images...\n");
|
||||||
//RequestImages();
|
//RequestImages();
|
||||||
int ret_val = 0;
|
int ret_val = 0;
|
||||||
dst_requested[0] = 1;
|
dst_requested[0] = 1;
|
||||||
while(dst_requested[on_dst]){
|
while(dst_requested[on_dst]){
|
||||||
//waits on data
|
//waits on data
|
||||||
int beb_num = BEB_NUM;//Feb_Control_GetModuleNumber();
|
int beb_num = BEB_NUM;//Feb_Control_GetModuleNumber();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ((ret_val = (!Beb_RequestNImages(beb_num,send_to_ten_gig,on_dst,nimages_per_request,0))))
|
if ((ret_val = (!Beb_RequestNImages(beb_num,send_to_ten_gig,on_dst,nimages_per_request,0))))
|
||||||
break;
|
break;
|
||||||
// for(i=0;i<nimages_per_request;i++)
|
// for(i=0;i<nimages_per_request;i++)
|
||||||
@ -1274,10 +1277,10 @@ int calculateDataBytes(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int getTotalNumberOfChannels(){return getNumberOfChannelsPerModule() * getTotalNumberOfModules;}
|
int getTotalNumberOfChannels(){return ((int)getNumberOfChannelsPerModule() * (int)getTotalNumberOfModules);}
|
||||||
int getTotalNumberOfChips(){return getNumberOfChipsPerModule * getTotalNumberOfModules;}
|
int getTotalNumberOfChips(){return ((int)getNumberOfChipsPerModule * (int)getTotalNumberOfModules);}
|
||||||
int getTotalNumberOfModules(){return NMOD;}
|
int getTotalNumberOfModules(){return NMOD;}
|
||||||
int getNumberOfChannelsPerModule(){return getNumberOfChannelsPerChip() * getTotalNumberOfChips();}
|
int getNumberOfChannelsPerModule(){return ((int)getNumberOfChannelsPerChip() * (int)getTotalNumberOfChips());}
|
||||||
int getNumberOfChipsPerModule(){return NCHIP;}
|
int getNumberOfChipsPerModule(){return NCHIP;}
|
||||||
int getNumberOfDACsPerModule(){return NDAC;}
|
int getNumberOfDACsPerModule(){return NDAC;}
|
||||||
int getNumberOfADCsPerModule(){return NADC;}
|
int getNumberOfADCsPerModule(){return NADC;}
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
|
|
||||||
/* Enums */
|
/* Enums */
|
||||||
enum CLK_SPEED_INDEX {FULL_SPEED, HALF_SPEED, QUARTER_SPEED};
|
enum CLK_SPEED_INDEX {FULL_SPEED, HALF_SPEED, QUARTER_SPEED};
|
||||||
enum DAC_INDEX {SVP,VTR,VRF,VRS,SVN,VTGSTV,VCMP_LL,VCMP_LR,CAL,VCMP_RL,RXB_RB,RXB_LB,VCMP_RR,VCP,VCN,VIS,VTHRESHOLD};
|
enum DACINDEX {SVP,VTR,VRF,VRS,SVN,VTGSTV,VCMP_LL,VCMP_LR,CAL,VCMP_RL,RXB_RB,RXB_LB,VCMP_RR,VCP,VCN,VIS,VTHRESHOLD};
|
||||||
#define DEFAULT_DAC_VALS[16] { \
|
#define DEFAULT_DAC_VALS { \
|
||||||
0, /* SvP */ \
|
0, /* SvP */ \
|
||||||
2480, /* Vtr */ \
|
2480, /* Vtr */ \
|
||||||
3300, /* Vrf */ \
|
3300, /* Vrf */ \
|
||||||
@ -35,8 +35,8 @@ enum DAC_INDEX {SVP,VTR,VRF,VRS,SVN,VTGSTV,VCMP_LL,VCMP_LR,CAL,VCMP_RL,R
|
|||||||
2000, /* Vcn */ \
|
2000, /* Vcn */ \
|
||||||
1550 /* Vis */ \
|
1550 /* Vis */ \
|
||||||
};
|
};
|
||||||
enum ADC_INDEX {TEMP_FPGAEXT, TEMP_10GE, TEMP_DCDC, TEMP_SODL, TEMP_SODR, TEMP_FPGA, TEMP_FPGAFEBL, TEMP_FPGAFEBR};
|
enum ADCINDEX {TEMP_FPGAEXT, TEMP_10GE, TEMP_DCDC, TEMP_SODL, TEMP_SODR, TEMP_FPGA, TEMP_FPGAFEBL, TEMP_FPGAFEBR};
|
||||||
enum NETWORK_PARA_INDEX {TXN_LEFT, TXN_RIGHT, TXN_FRAME,FLOWCTRL_10G};
|
enum NETWORKINDEX {TXN_LEFT, TXN_RIGHT, TXN_FRAME,FLOWCTRL_10G};
|
||||||
|
|
||||||
|
|
||||||
/* Hardware Definitions */
|
/* Hardware Definitions */
|
||||||
|
@ -189,8 +189,8 @@ int function_table() {
|
|||||||
flist[F_SET_SYNCHRONIZATION_MODE]=&set_synchronization;
|
flist[F_SET_SYNCHRONIZATION_MODE]=&set_synchronization;
|
||||||
flist[F_READ_COUNTER_BLOCK]=&read_counter_block;
|
flist[F_READ_COUNTER_BLOCK]=&read_counter_block;
|
||||||
flist[F_RESET_COUNTER_BLOCK]=&reset_counter_block;
|
flist[F_RESET_COUNTER_BLOCK]=&reset_counter_block;
|
||||||
flist[F_START_RECEIVER]=&start_receiver;
|
flist[F_PREPARE_ACQUISITION]=&start_receiver;
|
||||||
flist[F_STOP_RECEIVER]=&stop_receiver;
|
flist[F_CLEANUP_ACQUISITION]=&stop_receiver;
|
||||||
flist[F_CALIBRATE_PEDESTAL]=&calibrate_pedestal;
|
flist[F_CALIBRATE_PEDESTAL]=&calibrate_pedestal;
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
@ -422,7 +422,7 @@ void allocateDetectorStructureMemory(){
|
|||||||
(detectorModules)->nadc=NADC;
|
(detectorModules)->nadc=NADC;
|
||||||
(detectorModules)->nchip=NCHIP;
|
(detectorModules)->nchip=NCHIP;
|
||||||
(detectorModules)->nchan=NCHIP*NCHAN;
|
(detectorModules)->nchan=NCHIP*NCHAN;
|
||||||
(detectorModules)->module=imod;
|
(detectorModules)->module=0;
|
||||||
(detectorModules)->gain=0;
|
(detectorModules)->gain=0;
|
||||||
(detectorModules)->offset=0;
|
(detectorModules)->offset=0;
|
||||||
(detectorModules)->reg=0;
|
(detectorModules)->reg=0;
|
||||||
@ -451,12 +451,12 @@ void setupDetector() {
|
|||||||
printf("Setting Default Dac values\n");
|
printf("Setting Default Dac values\n");
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int retval = -1;
|
int retval[2]={-1,-1};
|
||||||
const int defaultvals[NDAC] = DEFAULT_DAC_VALS;
|
const int defaultvals[NDAC] = DEFAULT_DAC_VALS;
|
||||||
for(i = 0; i < NDAC; ++i) {
|
for(i = 0; i < NDAC; ++i) {
|
||||||
retval = setDac(i, defaultvals[i]);
|
setDAC((enum DACINDEX)i,defaultvals[i],0,0,retval);
|
||||||
if (retval != defaultvals[i])
|
if (retval[0] != defaultvals[i])
|
||||||
cprintf(RED, "Error: Setting dac %d failed, wrote %d, read %d\n",i ,defaultvals[i], retval);
|
cprintf(RED, "Warning: Setting dac %d failed, wrote %d, read %d\n",i ,defaultvals[i], retval[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -768,7 +768,7 @@ int setModule(sls_detector_module myMod){
|
|||||||
|
|
||||||
//set dac values
|
//set dac values
|
||||||
for(i=0;i<myMod.ndac;i++)
|
for(i=0;i<myMod.ndac;i++)
|
||||||
setDAC((enum DAC_INDEX)i,myMod.dacs[i],myMod.module,0,retval);
|
setDAC((enum DACINDEX)i,myMod.dacs[i],myMod.module,0,retval);
|
||||||
|
|
||||||
return thisSettings;
|
return thisSettings;
|
||||||
}
|
}
|
||||||
@ -780,7 +780,7 @@ int getModule(sls_detector_module *myMod){
|
|||||||
|
|
||||||
//dacs
|
//dacs
|
||||||
for(i=0;i<NDAC;i++)
|
for(i=0;i<NDAC;i++)
|
||||||
setDAC((enum DAC_INDEX)i,-1,-1,0,retval);
|
setDAC((enum DACINDEX)i,-1,-1,0,retval);
|
||||||
|
|
||||||
//copy to local copy as well
|
//copy to local copy as well
|
||||||
if (detectorModules)
|
if (detectorModules)
|
||||||
@ -1022,7 +1022,7 @@ int dacToVoltage(unsigned int digital){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void setDAC(enum DAC_INDEX ind, int val, int imod, int mV, int retval[]){
|
void setDAC(enum DACINDEX ind, int val, int imod, int mV, int retval[]){
|
||||||
int dacval = val;
|
int dacval = val;
|
||||||
|
|
||||||
//if set and mv, convert to dac
|
//if set and mv, convert to dac
|
||||||
@ -1065,7 +1065,7 @@ void setDAC(enum DAC_INDEX ind, int val, int imod, int mV, int retval[]){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int getADC(enum ADC_INDEX ind, int imod){
|
int getADC(enum ADCINDEX ind, int imod){
|
||||||
|
|
||||||
char tempnames[2][20]={"VRs/FPGAs Temperature", "ADCs/ASICs Temperature"};
|
char tempnames[2][20]={"VRs/FPGAs Temperature", "ADCs/ASICs Temperature"};
|
||||||
printf("Getting Temperature for %s\n",tempnames[ind]);
|
printf("Getting Temperature for %s\n",tempnames[ind]);
|
||||||
@ -1599,10 +1599,10 @@ int calculateDataBytes(){
|
|||||||
return DATA_BYTES;
|
return DATA_BYTES;
|
||||||
}
|
}
|
||||||
|
|
||||||
int getTotalNumberOfChannels(){return getNumberOfChannelsPerModule() * getTotalNumberOfModules;}
|
int getTotalNumberOfChannels(){return ((int)getNumberOfChannelsPerModule() * (int)getTotalNumberOfModules);}
|
||||||
int getTotalNumberOfChips(){return getNumberOfChipsPerModule * getTotalNumberOfModules;}
|
int getTotalNumberOfChips(){return ((int)getNumberOfChipsPerModule * (int)getTotalNumberOfModules);}
|
||||||
int getTotalNumberOfModules(){return NMOD;}
|
int getTotalNumberOfModules(){return NMOD;}
|
||||||
int getNumberOfChannelsPerModule(){return getNumberOfChannelsPerChip() * getTotalNumberOfChips();}
|
int getNumberOfChannelsPerModule(){return ((int)getNumberOfChannelsPerChip() * (int)getTotalNumberOfChips());}
|
||||||
int getNumberOfChipsPerModule(){return NCHIP;}
|
int getNumberOfChipsPerModule(){return NCHIP;}
|
||||||
int getNumberOfDACsPerModule(){return NDAC;}
|
int getNumberOfDACsPerModule(){return NDAC;}
|
||||||
int getNumberOfADCsPerModule(){return NADC;}
|
int getNumberOfADCsPerModule(){return NADC;}
|
||||||
|
@ -28,8 +28,8 @@ typedef struct ip_header_struct {
|
|||||||
|
|
||||||
/* Enums */
|
/* Enums */
|
||||||
enum CLK_SPEED_INDEX {FULL_SPEED, HALF_SPEED, QUARTER_SPEED};
|
enum CLK_SPEED_INDEX {FULL_SPEED, HALF_SPEED, QUARTER_SPEED};
|
||||||
enum ADC_INDEX {TEMP_FPGA, TEMP_ADC};
|
enum ADCINDEX {TEMP_FPGA, TEMP_ADC};
|
||||||
enum DAC_INDEX {VB_COMP, VDD_PROT, VIN_COM, VREF_PRECH, VB_PIXBUF, VB_DS, VREF_DS, VREF_COMP };
|
enum DACINDEX {VB_COMP, VDD_PROT, VIN_COM, VREF_PRECH, VB_PIXBUF, VB_DS, VREF_DS, VREF_COMP };
|
||||||
#define DEFAULT_DAC_VALS { 1220, /* VB_COMP */ \
|
#define DEFAULT_DAC_VALS { 1220, /* VB_COMP */ \
|
||||||
3000, /* VDD_PROT */ \
|
3000, /* VDD_PROT */ \
|
||||||
1053, /* VIN_COM */ \
|
1053, /* VIN_COM */ \
|
||||||
|
@ -6968,7 +6968,7 @@ int slsDetector::programFPGA(string fname){
|
|||||||
#endif
|
#endif
|
||||||
if (thisDetector->onlineFlag==ONLINE_FLAG) {
|
if (thisDetector->onlineFlag==ONLINE_FLAG) {
|
||||||
if (connectControl() == OK){
|
if (connectControl() == OK){
|
||||||
controlSocket->SendDataOnly(&fnum,sizeof(fnum));cprintf(BG_RED,"size of filesize:%d\n",sizeof(filesize));
|
controlSocket->SendDataOnly(&fnum,sizeof(fnum));cprintf(BG_RED,"size of filesize:%lu\n",sizeof(filesize));
|
||||||
controlSocket->SendDataOnly(&filesize,sizeof(filesize));
|
controlSocket->SendDataOnly(&filesize,sizeof(filesize));
|
||||||
//check opening error
|
//check opening error
|
||||||
controlSocket->ReceiveDataOnly(&ret,sizeof(ret));
|
controlSocket->ReceiveDataOnly(&ret,sizeof(ret));
|
||||||
@ -7822,8 +7822,8 @@ slsDetectorDefs::runStatus slsDetector::startReceiverReadout(){
|
|||||||
|
|
||||||
int slsDetector::detectorSendToReceiver(bool set){
|
int slsDetector::detectorSendToReceiver(bool set){
|
||||||
int fnum;
|
int fnum;
|
||||||
if(set) fnum=F_START_RECEIVER;
|
if(set) fnum=F_PREPARE_ACQUISITION;
|
||||||
else fnum=F_STOP_RECEIVER;
|
else fnum=F_CLEANUP_ACQUISITION;
|
||||||
int ret = FAIL;
|
int ret = FAIL;
|
||||||
char mess[MAX_STR_LENGTH]="";
|
char mess[MAX_STR_LENGTH]="";
|
||||||
|
|
||||||
|
@ -143,8 +143,8 @@ void setAdc(int addr, int val);
|
|||||||
int voltageToDac(int value);
|
int voltageToDac(int value);
|
||||||
int dacToVoltage(unsigned int digital);
|
int dacToVoltage(unsigned int digital);
|
||||||
#endif
|
#endif
|
||||||
void setDAC(enum DAC_INDEX ind, int val, int imod, int mV, int retval[]);
|
void setDAC(enum DACINDEX ind, int val, int imod, int mV, int retval[]);
|
||||||
int getADC(enum ADC_INDEX ind, int imod);
|
int getADC(enum ADCINDEX ind, int imod);
|
||||||
#ifndef MYTHEND
|
#ifndef MYTHEND
|
||||||
int setHighVoltage(int val);
|
int setHighVoltage(int val);
|
||||||
#endif
|
#endif
|
||||||
@ -204,7 +204,7 @@ int setAllTrimbits(int val);
|
|||||||
int getAllTrimbits();
|
int getAllTrimbits();
|
||||||
int getBebFPGATemp();
|
int getBebFPGATemp();
|
||||||
int activate(int enable);
|
int activate(int enable);
|
||||||
int setNetworkParameter(enum NETWORK_PARA_INDEX mode, int value);
|
int setNetworkParameter(enum NETWORKINDEX mode, int value);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <signal.h>
|
||||||
|
|
||||||
|
|
||||||
extern int sockfd;
|
extern int sockfd;
|
||||||
|
@ -11,27 +11,21 @@
|
|||||||
#include "sls_detector_defs.h"
|
#include "sls_detector_defs.h"
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#define GOODBYE -200
|
/** This is only an example file!!! */
|
||||||
|
|
||||||
|
|
||||||
/* examples*/
|
|
||||||
#ifdef JUNGFRAU_DHANYA
|
|
||||||
#define NCHAN (256*256)
|
|
||||||
#define NCHIP 8
|
|
||||||
#define NADC 0
|
|
||||||
#else
|
|
||||||
#define NCHAN 1
|
|
||||||
#define NCHIP 1
|
|
||||||
#define NDAC 1
|
|
||||||
#define NADC 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NMAXMODX 1
|
|
||||||
#define NMAXMODY 1
|
|
||||||
#define NMAXMOD NMAXMODX*NMAXMODY
|
|
||||||
#define NCHANS NCHAN*NCHIP*NMAXMOD
|
|
||||||
#define NDACS NDAC*NMAXMOD
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
#define GOODBYE (-200)
|
||||||
|
enum DAC_INDEX {examplesdac}
|
||||||
|
|
||||||
|
Hardware Definitions
|
||||||
|
#define NMAXMOD (1)
|
||||||
|
#define NMOD (1)
|
||||||
|
#define NCHAN (256 * 256)
|
||||||
|
#define NCHIP (4)
|
||||||
|
#define NADC (0)
|
||||||
|
#define NDAC (16)
|
||||||
|
#define NGAIN (0)
|
||||||
|
#define NOFFSET (0)
|
||||||
|
*/
|
||||||
|
|
||||||
#endif /* SLSDETECTORSERVER_DEFS_H_ */
|
#endif /* SLSDETECTORSERVER_DEFS_H_ */
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -5,6 +5,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
// initialization functions
|
// initialization functions
|
||||||
|
int printSocketReadError();
|
||||||
void basictests();
|
void basictests();
|
||||||
void init_detector(int);
|
void init_detector(int);
|
||||||
int decode_function(int);
|
int decode_function(int);
|
||||||
@ -39,6 +40,7 @@ int get_chip(int);
|
|||||||
int set_all_chips(int);
|
int set_all_chips(int);
|
||||||
int set_module(int);
|
int set_module(int);
|
||||||
int get_module(int);
|
int get_module(int);
|
||||||
|
int set_all_modules(int);
|
||||||
int set_settings(int);
|
int set_settings(int);
|
||||||
int get_threshold_energy(int);
|
int get_threshold_energy(int);
|
||||||
int set_threshold_energy(int);
|
int set_threshold_energy(int);
|
||||||
@ -85,6 +87,7 @@ int reset_fpga(int);
|
|||||||
int power_chip(int);
|
int power_chip(int);
|
||||||
int set_activate(int);
|
int set_activate(int);
|
||||||
int prepare_acquisition(int);
|
int prepare_acquisition(int);
|
||||||
|
int cleanup_acquisition(int);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user