diff --git a/slsDetectorSoftware/gotthardDetectorServer/Makefile b/slsDetectorSoftware/gotthardDetectorServer/Makefile index a70e34457..0f93df68b 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/Makefile +++ b/slsDetectorSoftware/gotthardDetectorServer/Makefile @@ -5,7 +5,7 @@ CROSS = bfin-uclinux- CC = $(CROSS)gcc -CFLAGS += -Wall -DMCB_FUNCS -DDACS_INT #-DVERBOSE -DVERYVERBOSE #-DVIRTUAL #-DDACS_INT_CSERVER +CFLAGS += -Wall -DMCB_FUNCS -DDACS_INT -DDEBUG #-DVERBOSE -DVERYVERBOSE #-DVIRTUAL #-DDACS_INT_CSERVER PROGS= gotthardDetectorServer diff --git a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c index ccc3823c6..94e982907 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/firmware_funcs.c @@ -250,13 +250,17 @@ int cleanFifo(){ u_int32_t addr, reg, val; printf("\nCleaning FIFO\n"); addr=ADC_SYNC_REG; - val=ADCSYNC_VAL | ADCSYNC_CLEAN_FIFO_BITS; + + //88322114 + val=ADCSYNC_VAL | ADCSYNC_CLEAN_FIFO_BITS | TOKEN_RESTART_DELAY; bus_w(addr,val); - val=ADCSYNC_VAL; + //88022114 + val=ADCSYNC_VAL | TOKEN_RESTART_DELAY; bus_w(addr,val); + reg=bus_r(addr); -#ifdef VERBOSE +#ifdef DDEBUG printf("\nADC SYNC reg:%d\n",reg); #endif return OK; @@ -266,11 +270,21 @@ int cleanFifo(){ int setDAQRegister(int adcval) { u_int32_t addr, reg, val; - addr=DAQ_REG; - int value=0x7f; - if(adcval==-1) value=0x13f; - val=34+(42<<8)+(value<<16); + + //depended on adcval + int packetlength=0x7f; + if(adcval==-1) packetlength=0x13f; + + //depended on pcb rev + int tokenTiming = 0x2010; + if(bus_r(PCB_REV_REG)==1) + tokenTiming=0x2018; + + + val = (packetlength<<16) + tokenTiming; + //val=34+(42<<8)+(packetlength<<16); + reg=bus_r(addr); bus_w(addr,val); reg=bus_r(addr); @@ -1259,18 +1273,19 @@ int configureMAC(int ipad,long long int macad,long long int servermacad,int ival break; //for all adcs default: - bus_w(DAQ_REG,0x13f2a22); reg = (NCHAN*NCHIP)<