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:
l_maliakal_d 2013-02-12 13:59:26 +00:00
parent a48ae49ae4
commit 51a008784b
3 changed files with 173 additions and 156 deletions

View File

@ -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 udpPacketSize=0x050E;
int ipPacketSize=0x0522;
//update adc configured
adcConfigured = adc;
//setting adc mask
int reg;
int udpPacketSize=0x050E;
int ipPacketSize=0x0522;
switch(adc){
case 0:
case 1:
@ -1192,14 +1213,6 @@ int configureMAC(int ipad,long long int macad,long long int detectormacad, int d
case 3:
case 4:
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;
udpPacketSize=256*2+4+8+2;
break;
@ -1208,19 +1221,14 @@ int configureMAC(int ipad,long long int macad,long long int detectormacad, int d
adc=-1;
adcConfigured=-1;
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;
}
//setting daqregister
//setDAQRegister(adc);
setDAQRegister(adc);//token timing
cleanFifo();//adc sync
setADC(adc);//chip of interest
#ifdef DDEBUG
printf("Chip of Intrst Reg:%x\n",bus_r(CHIP_OF_INTRST_REG));

View File

@ -65,9 +65,11 @@ int getTemperature(int tempSensor,int imod);
int initHighVoltage(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 getAdcConfigured();
u_int64_t getDetectorNumber();
u_int32_t getFirmwareVersion();
int testFifos(void);

View File

@ -79,6 +79,13 @@ int init_detector( int b) {
prepareADC();
setDAQRegister(-1);
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);
//Initialization
setFrames(1);