default dacs done

This commit is contained in:
2021-07-29 15:56:32 +02:00
parent 0665209389
commit a9663abc50
10 changed files with 582 additions and 320 deletions

View File

@ -45,6 +45,7 @@ int detPos[2] = {};
int detectorFirstServer = 1;
int dacValues[NDAC] = {};
int defaultDacValues[NDAC] = DEFAULT_DAC_VALS;
enum detectorSettings thisSettings = UNINITIALIZED;
enum externalSignalFlag signalMode = 0;
@ -436,18 +437,42 @@ void setupDetector() {
int setDefaultDacs() {
int ret = OK;
LOG(logINFOBLUE, ("Setting Default Dac values\n"));
const int defaultvals[NDAC] = DEFAULT_DAC_VALS;
for (int i = 0; i < NDAC; ++i) {
setDAC((enum DACINDEX)i, defaultvals[i], 0);
if (dacValues[i] != defaultvals[i]) {
setDAC((enum DACINDEX)i, defaultDacValues[i], 0);
if (dacValues[i] != defaultDacValues[i]) {
ret = FAIL;
LOG(logERROR, ("Setting dac %d failed, wrote %d, read %d\n", i,
defaultvals[i], dacValues[i]));
defaultDacValues[i], dacValues[i]));
}
}
return ret;
}
int getDefaultDac(enum DACINDEX index, enum detectorSettings sett,
int *retval) {
if (sett != UNDEFINED) {
return FAIL;
}
if (index < 0 || index >= NDAC)
return FAIL;
*retval = defaultDacValues[index];
return OK;
}
int setDefaultDac(enum DACINDEX index, enum detectorSettings sett, int value) {
if (sett != UNDEFINED) {
return FAIL;
}
if (index < 0 || index >= NDAC)
return FAIL;
char *dac_names[] = {DAC_NAMES};
LOG(logINFO, ("Setting Default Dac [%d - %s]: %d\n", (int)index,
dac_names[index], value));
defaultDacValues[index] = value;
return OK;
}
uint32_t writeRegister16And32(uint32_t offset, uint32_t data) {
if (((offset << MEM_MAP_SHIFT) == CONTROL_REG) ||
((offset << MEM_MAP_SHIFT) == FIFO_DATA_REG)) {