mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-08 11:00:42 +02:00
first time detector starts, chip of interest was not configured at all and this was never configured if via blackfin, fixed
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@461 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
parent
a48ae49ae4
commit
51a008784b
@ -1175,16 +1175,37 @@ int initConfGain(int isettings,int val,int imod){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int setADC(int adc){
|
||||||
|
int reg;
|
||||||
|
|
||||||
|
if(adc==-1){
|
||||||
|
reg = (NCHAN*NCHIP)<<CHANNEL_OFFSET;
|
||||||
|
reg&=CHANNEL_MASK;
|
||||||
|
reg|=ACTIVE_ADC_MASK;
|
||||||
|
bus_w(CHIP_OF_INTRST_REG,reg);
|
||||||
|
}else{
|
||||||
|
reg = (NCHAN*2)<<CHANNEL_OFFSET;
|
||||||
|
reg&=CHANNEL_MASK;
|
||||||
|
int mask =1<<adc;
|
||||||
|
reg|=(ACTIVE_ADC_MASK & mask);
|
||||||
|
bus_w(CHIP_OF_INTRST_REG,reg);
|
||||||
|
}
|
||||||
|
#ifdef DDEBUG
|
||||||
|
printf("Chip of Intrst Reg:%x\n",bus_r(CHIP_OF_INTRST_REG));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int configureMAC(int ipad,long long int macad,long long int detectormacad, int detipad, int ival, int adc,int udpport){
|
int configureMAC(int ipad,long long int macad,long long int detectormacad, int detipad, int ival, int adc,int udpport){
|
||||||
|
|
||||||
|
int udpPacketSize=0x050E;
|
||||||
|
int ipPacketSize=0x0522;
|
||||||
|
|
||||||
//update adc configured
|
//update adc configured
|
||||||
adcConfigured = adc;
|
adcConfigured = adc;
|
||||||
|
|
||||||
//setting adc mask
|
|
||||||
int reg;
|
|
||||||
int udpPacketSize=0x050E;
|
|
||||||
int ipPacketSize=0x0522;
|
|
||||||
|
|
||||||
switch(adc){
|
switch(adc){
|
||||||
case 0:
|
case 0:
|
||||||
case 1:
|
case 1:
|
||||||
@ -1192,14 +1213,6 @@ int configureMAC(int ipad,long long int macad,long long int detectormacad, int d
|
|||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
ROI_flag=1;
|
ROI_flag=1;
|
||||||
//setting daqregister
|
|
||||||
setDAQRegister(adc);
|
|
||||||
cleanFifo();
|
|
||||||
reg = (NCHAN*2)<<CHANNEL_OFFSET;
|
|
||||||
reg&=CHANNEL_MASK;
|
|
||||||
int mask =1<<adc;
|
|
||||||
reg|=(ACTIVE_ADC_MASK & mask);
|
|
||||||
bus_w(CHIP_OF_INTRST_REG,reg);
|
|
||||||
ipPacketSize= 256*2+14+20;
|
ipPacketSize= 256*2+14+20;
|
||||||
udpPacketSize=256*2+4+8+2;
|
udpPacketSize=256*2+4+8+2;
|
||||||
break;
|
break;
|
||||||
@ -1208,19 +1221,14 @@ int configureMAC(int ipad,long long int macad,long long int detectormacad, int d
|
|||||||
adc=-1;
|
adc=-1;
|
||||||
adcConfigured=-1;
|
adcConfigured=-1;
|
||||||
ROI_flag=0;
|
ROI_flag=0;
|
||||||
//setting daqregister
|
|
||||||
setDAQRegister(adc);
|
|
||||||
cleanFifo();
|
|
||||||
reg = (NCHAN*NCHIP)<<CHANNEL_OFFSET;
|
|
||||||
reg&=CHANNEL_MASK;
|
|
||||||
reg|=ACTIVE_ADC_MASK;
|
|
||||||
bus_w(CHIP_OF_INTRST_REG,reg);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//setting daqregister
|
setDAQRegister(adc);//token timing
|
||||||
//setDAQRegister(adc);
|
cleanFifo();//adc sync
|
||||||
|
setADC(adc);//chip of interest
|
||||||
|
|
||||||
|
|
||||||
#ifdef DDEBUG
|
#ifdef DDEBUG
|
||||||
printf("Chip of Intrst Reg:%x\n",bus_r(CHIP_OF_INTRST_REG));
|
printf("Chip of Intrst Reg:%x\n",bus_r(CHIP_OF_INTRST_REG));
|
||||||
|
@ -65,9 +65,11 @@ int getTemperature(int tempSensor,int imod);
|
|||||||
int initHighVoltage(int val,int imod);
|
int initHighVoltage(int val,int imod);
|
||||||
int initConfGain(int isettings,int val,int imod);
|
int initConfGain(int isettings,int val,int imod);
|
||||||
|
|
||||||
|
int setADC(int adc);
|
||||||
int configureMAC(int ipad, long long int macad, long long int detectormacadd, int detipad, int ival, int adc,int udpport);
|
int configureMAC(int ipad, long long int macad, long long int detectormacadd, int detipad, int ival, int adc,int udpport);
|
||||||
int getAdcConfigured();
|
int getAdcConfigured();
|
||||||
|
|
||||||
|
|
||||||
u_int64_t getDetectorNumber();
|
u_int64_t getDetectorNumber();
|
||||||
u_int32_t getFirmwareVersion();
|
u_int32_t getFirmwareVersion();
|
||||||
int testFifos(void);
|
int testFifos(void);
|
||||||
|
@ -79,6 +79,13 @@ int init_detector( int b) {
|
|||||||
prepareADC();
|
prepareADC();
|
||||||
setDAQRegister(-1);
|
setDAQRegister(-1);
|
||||||
cleanFifo();
|
cleanFifo();
|
||||||
|
setADC(-1);
|
||||||
|
printf("in chip of interes reg:%d\n",bus_r(CHIP_OF_INTRST_REG));
|
||||||
|
int reg = (NCHAN*NCHIP)<<CHANNEL_OFFSET;
|
||||||
|
reg&=CHANNEL_MASK;
|
||||||
|
reg|=ACTIVE_ADC_MASK;
|
||||||
|
bus_w(CHIP_OF_INTRST_REG,reg);
|
||||||
|
printf("in chip of interes reg:%d\n",bus_r(CHIP_OF_INTRST_REG));
|
||||||
setSettings(GET_SETTINGS,-1);
|
setSettings(GET_SETTINGS,-1);
|
||||||
//Initialization
|
//Initialization
|
||||||
setFrames(1);
|
setFrames(1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user