jungfrau server has same resetfpga, programfpga and debug mode as developer branch, eiger server has effects from debug flag, but not compiled

This commit is contained in:
Dhanya Maliakal 2018-01-10 15:49:40 +01:00
parent 6690335971
commit 68d6c514a9
8 changed files with 49 additions and 25 deletions

View File

@ -68,7 +68,7 @@ int normal = 0;
/* basic tests */ /* basic tests */
void checkFirmwareCompatibility(){ void checkFirmwareCompatibility(int flag){
uint32_t ipadd = getDetectorIP(); uint32_t ipadd = getDetectorIP();
uint64_t macadd = getDetectorMAC(); uint64_t macadd = getDetectorMAC();
int64_t fwversion = getDetectorId(DETECTOR_FIRMWARE_VERSION); int64_t fwversion = getDetectorId(DETECTOR_FIRMWARE_VERSION);

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware/jungfrauDetectorServer Path: slsDetectorsPackage/slsDetectorSoftware/jungfrauDetectorServer
URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: 3c1eb747d1930d6d38030a5a607f72d3b58a7a21 Repsitory UUID: 669033597145b4eae2e94f620a4dd50a2fa50231
Revision: 90 Revision: 95
Branch: 3.0 Branch: jungfrauchanges
Last Changed Author: Dhanya_Maliakal Last Changed Author: Dhanya_Maliakal
Last Changed Rev: 1549 Last Changed Rev: 3331
Last Changed Date: 2017-10-25 16:48:35.000000002 +0200 ./RegisterDefs.h Last Changed Date: 2017-12-20 16:57:32.000000002 +0100 ./RegisterDefs.h

View File

@ -1,6 +1,6 @@
#define GITURL "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" #define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "3c1eb747d1930d6d38030a5a607f72d3b58a7a21" #define GITREPUUID "669033597145b4eae2e94f620a4dd50a2fa50231"
#define GITAUTH "Dhanya_Maliakal" #define GITAUTH "Dhanya_Maliakal"
#define GITREV 0x1549 #define GITREV 0x3331
#define GITDATE 0x20171025 #define GITDATE 0x20171220
#define GITBRANCH "blabla" #define GITBRANCH "jungfrauchanges"

View File

@ -25,11 +25,17 @@ int32_t clkPhase[2] = {0, 0};
/* basic tests */ /* basic tests */
void checkFirmwareCompatibility() { void checkFirmwareCompatibility(int flag) {
defineGPIOpins(); defineGPIOpins();
resetFPGA(); resetFPGA();
if ((mapCSP0() == FAIL) || (checkType() == FAIL) || (testFpga() == FAIL) || (testBus() == FAIL)) { if (mapCSP0() == FAIL) {
cprintf(BG_RED, "Dangerous to continue. Goodbye!\n");
exit(EXIT_FAILURE);
}
// does check only if flag is 0 (by default), set by command line
if ((!flag) && ((checkType() == FAIL) || (testFpga() == FAIL) || (testBus() == FAIL))) {
cprintf(BG_RED, "Dangerous to continue. Goodbye!\n"); cprintf(BG_RED, "Dangerous to continue. Goodbye!\n");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@ -254,7 +260,7 @@ u_int32_t getDetectorIP(){
/* initialization */ /* initialization */
void initControlServer(){ void initControlServer(){
clkPhase[0] = 0; clkPhase[1] = 0;
setupDetector(); setupDetector();
printf("\n"); printf("\n");
} }

View File

@ -17,7 +17,7 @@ Here are the definitions, but the actual implementation should be done for each
// basic tests // basic tests
void checkFirmwareCompatibility(); void checkFirmwareCompatibility(int flag);
#ifdef JUNGFRAUD #ifdef JUNGFRAUD
int checkType(); int checkType();
u_int32_t testFpga(void); u_int32_t testFpga(void);

View File

@ -10,7 +10,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <signal.h> #include <signal.h>
#include <string.h>
extern int sockfd; extern int sockfd;
@ -23,11 +23,19 @@ int main(int argc, char *argv[]){
int portno, b; int portno, b;
int retval=OK; int retval=OK;
int sd, fd; int sd, fd;
int debugflag = 0;
// if socket crash, ignores SISPIPE, prevents global signal handler // if socket crash, ignores SISPIPE, prevents global signal handler
// subsequent read/write to socket gives error - must handle locally // subsequent read/write to socket gives error - must handle locally
signal(SIGPIPE, SIG_IGN); signal(SIGPIPE, SIG_IGN);
// circumvent the basic tests
if(argc > 1) {
if(!strcasecmp(argv[1],"-debug")){
debugflag = 1;
argc=1;
}
}
#ifdef STOP_SERVER #ifdef STOP_SERVER
char cmd[100]; char cmd[100];
@ -40,9 +48,10 @@ int main(int argc, char *argv[]){
"********************************************************\n\n" "********************************************************\n\n"
, portno); , portno);
b=1; b=1;
basictests(); basictests(debugflag);
#ifdef STOP_SERVER #ifdef STOP_SERVER
sprintf(cmd,"%s %d &",argv[0],DEFAULT_PORTNO+1); sprintf(cmd,"%s %d &",argv[0],DEFAULT_PORTNO+1);
//cprintf(BLUE,"cmd:%s\n", cmd);
system(cmd); system(cmd);
#endif #endif
} else { } else {

View File

@ -37,7 +37,8 @@ int sockfd; // (updated in slsDetectorServer) as extern
int (*flist[NUM_DET_FUNCTIONS])(int); int (*flist[NUM_DET_FUNCTIONS])(int);
char mess[MAX_STR_LENGTH]; char mess[MAX_STR_LENGTH];
int dataBytes = 10; int dataBytes = 10;
int isControlServer = 0;
int debugflag = 0;
/* initialization functions */ /* initialization functions */
@ -46,9 +47,10 @@ int printSocketReadError() {
return FAIL; return FAIL;
} }
void basictests() { void basictests(int flag) {
debugflag = flag;
#ifdef SLS_DETECTOR_FUNCTION_LIST #ifdef SLS_DETECTOR_FUNCTION_LIST
checkFirmwareCompatibility(); checkFirmwareCompatibility(debugflag);
#endif #endif
} }
@ -59,8 +61,10 @@ void init_detector(int controlserver) {
#endif #endif
#ifdef SLS_DETECTOR_FUNCTION_LIST #ifdef SLS_DETECTOR_FUNCTION_LIST
if (controlserver) if (controlserver) {
isControlServer = 1;
initControlServer(); initControlServer();
}
else initStopServer(); else initStopServer();
#endif #endif
strcpy(mess,"dummy message"); strcpy(mess,"dummy message");
@ -4601,6 +4605,9 @@ int program_fpga(int file_des) {
#ifdef VERY_VERBOSE #ifdef VERY_VERBOSE
printf("Done with program receiving command\n"); printf("Done with program receiving command\n");
#endif #endif
if (isControlServer)
basictests(debugflag);
init_detector(isControlServer);
} }
#endif #endif
if (ret==OK) if (ret==OK)
@ -4646,7 +4653,9 @@ int reset_fpga(int file_des) {
} }
#ifdef SLS_DETECTOR_FUNCTION_LIST #ifdef SLS_DETECTOR_FUNCTION_LIST
else { else {
initControlServer(); if (isControlServer)
basictests(debugflag);
initControlServer(isControlServer);
ret = FORCE_UPDATE; ret = FORCE_UPDATE;
} }
#endif #endif

View File

@ -6,7 +6,7 @@
// initialization functions // initialization functions
int printSocketReadError(); int printSocketReadError();
void basictests(); void basictests(int);
void init_detector(int); void init_detector(int);
int decode_function(int); int decode_function(int);
const char* getFunctionName(enum detFuncs func); const char* getFunctionName(enum detFuncs func);