From 32621b1916ca307f06469b5ea557e035706aabb6 Mon Sep 17 00:00:00 2001 From: l_maliakal_d Date: Wed, 19 Sep 2012 12:09:00 +0000 Subject: [PATCH] included command to get detector firmware svn version git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@261 951219d9-93cf-4727-9268-0efd64621fa3 --- .../commonFiles/sls_detector_defs.h | 3 +- .../gotthardDetectorServer/firmware_funcs.c | 140 +----------------- .../gotthardDetectorServer/firmware_funcs.h | 4 +- .../gotthardDetectorServer/registers_g.h | 7 +- .../gotthardDetectorServer/server_defs.h | 2 +- .../gotthardDetectorServer/server_funcs.c | 31 +--- .../slsDetector/slsDetectorCommand.cpp | 8 + 7 files changed, 31 insertions(+), 164 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/sls_detector_defs.h b/slsDetectorSoftware/commonFiles/sls_detector_defs.h index 84a5c1c63..89cfa0a09 100755 --- a/slsDetectorSoftware/commonFiles/sls_detector_defs.h +++ b/slsDetectorSoftware/commonFiles/sls_detector_defs.h @@ -273,7 +273,8 @@ enum idMode{ DETECTOR_SERIAL_NUMBER, /**=(FPGA_VERSION_VAL&0x00ffffff)) { - printf("FPGA version ok!! %06x\n",val); - } else { - printf("FPGA version too old! %06x\n",val); - result= FAIL; - } - //dummy register addr = DUMMY_REG; @@ -821,129 +816,10 @@ u_int32_t testRAM(void) { } int getNModBoard() { - int nmodboard; - u_int32_t val; - val=bus_r(FPGA_VERSION_REG)&0xff000000; - nmodboard=val >> 24; -#ifdef VERY_VERBOSE - printf("The board hosts %d modules\n",nmodboard); -#endif - nModBoard=nmodboard; - return nmodboard; + return nModX; } int setNMod(int n) { - - - /* commented out by dhanya - // int fifo; - // int ifsta, ifsto, ifste; - int imod; - int rval; - int reg; - int nf=0; - int shiftfifo=SHIFTFIFO; - int ntot=getNModBoard(); - if (getProbes()==0) { - switch (dynamicRange) { - case 16: - shiftfifo=SHIFTFIFO-1; - break; - case 8: - shiftfifo=SHIFTFIFO-2; - break; - case 4: - shiftfifo=SHIFTFIFO-3; - break; - case 1: - shiftfifo=SHIFTFIFO-5; - break; - default: - shiftfifo=SHIFTFIFO; - break; - } - } else - shiftfifo=SHIFTFIFO; - - -#ifdef VERBOSE - printf("SetNMod called arg %d -- dr %d shiftfifo %d\n",n,dynamicRange,shiftfifo); -#endif - if (n>0 && n<=ntot) { - nModX=n; - - //d isable the fifos relative to the unused modules - for (ififo=0; ififo>FIFO_NM_OFF, (reg&FIFO_NC_MASK)>>FIFO_NC_OFF, FIFO_COUNTR_REG_OFF+(ififo<>FIFO_NM_OFF, (reg&FIFO_NC_MASK)>>FIFO_NC_OFF, FIFO_COUNTR_REG_OFF+(ififo<=0 && imod<=getNModBoard()) { -#ifdef MCB_FUNCS - retval=getModuleNumber(imod); -#endif - ; - } - else { - sprintf(mess,"Module number %d out of range\n",imod); - ret=FAIL; - } - } - break; - case MODULE_FIRMWARE_VERSION: - retval=0x1; - break; case DETECTOR_SERIAL_NUMBER: - retval=getMcsNumber(); + retval=getDetectorNumber(); break; case DETECTOR_FIRMWARE_VERSION: - retval=getMcsVersion(); + retval=getFirmwareVersion(); break; case DETECTOR_SOFTWARE_VERSION: retval=THIS_SOFTWARE_VERSION; break; + case DETECTOR_FIRMWARE_SVN_VERSION: + retval=getFirmwareSVNVersion(); + break; default: printf("Required unknown id %d \n", arg); ret=FAIL; diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index e4839249e..5ea67a2b8 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -391,6 +391,10 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) { descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSN; i++; + descrToFuncMap[i].m_pFuncName="detectorsvnversion"; // + descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSN; + i++; + /* digital test and debugging */ @@ -2541,6 +2545,10 @@ string slsDetectorCommand::cmdSN(int narg, char *args[], int action) { return string(answer); } + if (cmd=="detectorsvnversion") { + sprintf(answer,"%llx",myDet->getId(DETECTOR_FIRMWARE_SVN_VERSION)); + return string(answer); + } return string("unknown id mode ")+cmd; }