setting vthreshold exception message fix when not all counters enabled, appropriate message

This commit is contained in:
maliakal_d 2021-05-25 15:03:05 +02:00
parent 45e7187e7c
commit 9ac836c2f4

View File

@ -642,9 +642,9 @@ int set_timing_mode(int file_des) {
} }
// get // get
retval = getTiming(); retval = getTiming();
#ifndef MYTHEN3D #ifndef MYTHEN3D
validate((int)arg, (int)retval, "set timing mode", DEC); validate((int)arg, (int)retval, "set timing mode", DEC);
#endif #endif
LOG(logDEBUG1, ("Timing Mode: %d\n", retval)); LOG(logDEBUG1, ("Timing Mode: %d\n", retval));
return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); return Server_SendResult(file_des, INT32, &retval, sizeof(retval));
@ -1213,6 +1213,19 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) {
setDAC(serverDacIndex, val, mV); setDAC(serverDacIndex, val, mV);
retval = getDAC(serverDacIndex, mV); retval = getDAC(serverDacIndex, mV);
} }
#ifdef MYTHEN3D
if (serverDacIndex == M_VTHRESHOLD && retval == -1) {
ret = FAIL;
uint32_t counter_retval = getCounterMask();
if (counter_retval != MAX_COUNTER_MSK) {
strcpy(mess, "Could not set all threshold dacs as not all "
"counters enabled\n");
} else {
sprintf(mess, "Could not set all threshold dacs\n");
}
LOG(logERROR, (mess));
}
#endif
#ifdef EIGERD #ifdef EIGERD
if (val != GET_FLAG && getSettings() != UNDEFINED) { if (val != GET_FLAG && getSettings() != UNDEFINED) {
// changing dac changes settings to undefined // changing dac changes settings to undefined
@ -1552,7 +1565,7 @@ int set_module(int file_des) {
// check index // check index
#if !(defined(EIGERD) || defined(MYTHEN3D)) #if !(defined(EIGERD) || defined(MYTHEN3D))
//TODO! Check if this is used for any detector // TODO! Check if this is used for any detector
switch (module.reg) { switch (module.reg) {
#ifdef JUNGFRAUD #ifdef JUNGFRAUD
case DYNAMICGAIN: case DYNAMICGAIN:
@ -7576,7 +7589,7 @@ int set_pattern(int file_des) {
patternParameters *pat = malloc(sizeof(patternParameters)); patternParameters *pat = malloc(sizeof(patternParameters));
memset(pat, 0, sizeof(patternParameters)); memset(pat, 0, sizeof(patternParameters));
// ignoring endianness for eiger // ignoring endianness for eiger
if (receiveData(file_des, pat, sizeof(patternParameters), INT32) < 0) { if (receiveData(file_des, pat, sizeof(patternParameters), INT32) < 0) {
if (pat != NULL) if (pat != NULL)
free(pat); free(pat);
@ -7587,10 +7600,12 @@ int set_pattern(int file_des) {
LOG(logINFO, ("Setting Pattern from structure\n")); LOG(logINFO, ("Setting Pattern from structure\n"));
LOG(logINFO, LOG(logINFO,
("Setting Pattern Word (printing every 10 words that are not 0\n")); ("Setting Pattern Word (printing every 10 words that are not 0\n"));
/****************************************************************************************************************/ /****************************************************************************************************************/
/* I SUGGEST TO VALIDATE THE VALUES HERE AND THEN WRITE THE PATTERN IN A SEPARATE FUNCTION WHICH COULD BE REUSED*/ /* I SUGGEST TO VALIDATE THE VALUES HERE AND THEN WRITE THE PATTERN IN A
/* added loadPattern.c/h - the same func could be reused also in readDefaultPattern */ * SEPARATE FUNCTION WHICH COULD BE REUSED*/
/***************************************************************************************************************/ /* added loadPattern.c/h - the same func could be reused also in
* readDefaultPattern */
/***************************************************************************************************************/
for (int i = 0; i < MAX_PATTERN_LENGTH; ++i) { for (int i = 0; i < MAX_PATTERN_LENGTH; ++i) {
if ((i % 10 == 0) && pat->word[i] != 0) { if ((i % 10 == 0) && pat->word[i] != 0) {
@ -7664,7 +7679,7 @@ int set_pattern(int file_des) {
} }
} }
} }
/******* DOWN TO HERE ***********/ /******* DOWN TO HERE ***********/
} }
if (pat != NULL) if (pat != NULL)
free(pat); free(pat);
@ -8372,7 +8387,7 @@ int get_all_threshold_energy(int file_des) {
return Server_SendResult(file_des, INT32, retvals, sizeof(retvals)); return Server_SendResult(file_des, INT32, retvals, sizeof(retvals));
} }
int get_master(int file_des){ int get_master(int file_des) {
ret = OK; ret = OK;
memset(mess, 0, sizeof(mess)); memset(mess, 0, sizeof(mess));
int retval = -1; int retval = -1;
@ -8387,7 +8402,7 @@ int get_master(int file_des){
return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); return Server_SendResult(file_des, INT32, &retval, sizeof(retval));
} }
int get_csr(int file_des){ int get_csr(int file_des) {
ret = OK; ret = OK;
memset(mess, 0, sizeof(mess)); memset(mess, 0, sizeof(mess));
int retval = -1; int retval = -1;
@ -8402,7 +8417,7 @@ int get_csr(int file_des){
return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); return Server_SendResult(file_des, INT32, &retval, sizeof(retval));
} }
int set_gain_caps(int file_des){ int set_gain_caps(int file_des) {
ret = OK; ret = OK;
memset(mess, 0, sizeof(mess)); memset(mess, 0, sizeof(mess));
int arg = 0; int arg = 0;
@ -8418,14 +8433,14 @@ int set_gain_caps(int file_des){
#else #else
if (Server_VerifyLock() == OK) { if (Server_VerifyLock() == OK) {
setGainCaps(arg); setGainCaps(arg);
retval = getChipStatusRegister(); //TODO! fix retval = getChipStatusRegister(); // TODO! fix
LOG(logDEBUG1, ("gain caps retval: %u\n", retval)); LOG(logDEBUG1, ("gain caps retval: %u\n", retval));
} }
#endif #endif
return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); return Server_SendResult(file_des, INT32, &retval, sizeof(retval));
} }
int get_gain_caps(int file_des){ int get_gain_caps(int file_des) {
ret = OK; ret = OK;
memset(mess, 0, sizeof(mess)); memset(mess, 0, sizeof(mess));
// int arg = 0; // int arg = 0;