reset default dacs

This commit is contained in:
2021-07-29 16:34:38 +02:00
parent e28d19f5be
commit 9c03e83ef1
17 changed files with 131 additions and 39 deletions

View File

@ -686,7 +686,7 @@ void allocateDetectorStructureMemory() {
void setupDetector() {
allocateDetectorStructureMemory();
setDefaultDacs();
resetToDefaultDacs(false);
#ifdef VIRTUAL
sharedMemory_setStatus(IDLE);
#endif
@ -748,7 +748,15 @@ void setupDetector() {
LOG(logDEBUG1, ("Setup detector done\n\n"));
}
int setDefaultDacs() {
int resetToDefaultDacs(int hardReset) {
// reset defaults to hardcoded defaults
if (hardReset) {
const int vals[] = DEFAULT_DAC_VALS;
for (int i = 0; i < NDAC; ++i) {
defaultDacValues[i] = vals[i];
}
}
// reset dacs to defaults
int ret = OK;
LOG(logINFOBLUE, ("Setting Default Dac values\n"));
for (int i = 0; i < NDAC; ++i) {

View File

@ -481,7 +481,15 @@ void setupDetector() {
setCurrentSource(DEFAULT_CURRENT_SOURCE);
}
int setDefaultDacs() {
int resetToDefaultDacs(int hardReset) {
// reset defaults to hardcoded defaults
if (hardReset) {
const int vals[] = DEFAULT_DAC_VALS;
for (int i = 0; i < NDAC; ++i) {
defaultDacValues[i] = vals[i];
}
}
// reset dacs to defaults
int ret = OK;
LOG(logINFOBLUE, ("Setting Default Dac values\n"));
for (int i = 0; i < NDAC; ++i) {

View File

@ -406,7 +406,7 @@ void setupDetector() {
DAC_MAX_MV);
LTC2620_Disable();
LTC2620_Configure();
setDefaultDacs();
resetToDefaultDacs(false);
// temp
bus_w(TEMP_SPI_IN_REG, TEMP_SPI_IN_IDLE_MSK);
@ -434,7 +434,15 @@ void setupDetector() {
setDelayAfterTrigger(DEFAULT_DELAY);
}
int setDefaultDacs() {
int resetToDefaultDacs(int hardReset) {
// reset defaults to hardcoded defaults
if (hardReset) {
const int vals[] = DEFAULT_DAC_VALS;
for (int i = 0; i < NDAC; ++i) {
defaultDacValues[i] = vals[i];
}
}
// reset dacs to defaults
int ret = OK;
LOG(logINFOBLUE, ("Setting Default Dac values\n"));
for (int i = 0; i < NDAC; ++i) {

View File

@ -426,7 +426,7 @@ void setupDetector() {
DAC_MAX_MV);
LTC2620_Disable();
LTC2620_Configure();
setDefaultDacs();
resetToDefaultDacs(false);
// altera pll
ALTERA_PLL_SetDefines(
@ -470,7 +470,15 @@ void setupDetector() {
setTemperatureEvent(0);
}
int setDefaultDacs() {
int resetToDefaultDacs(int hardReset) {
// reset defaults to hardcoded defaults
if (hardReset) {
const int vals[] = DEFAULT_DAC_VALS;
for (int i = 0; i < NDAC; ++i) {
defaultDacValues[i] = vals[i];
}
}
// reset dacs to defaults
int ret = OK;
LOG(logINFOBLUE, ("Setting Default Dac values\n"));
for (int i = 0; i < NDAC; ++i) {

View File

@ -517,7 +517,7 @@ void setupDetector() {
DAC_MAX_MV); // has to be before setvchip
LTC2620_Disable();
LTC2620_Configure();
setDefaultDacs();
resetToDefaultDacs(false);
// altera pll
ALTERA_PLL_SetDefines(PLL_CNTRL_REG, PLL_PARAM_REG,
@ -614,7 +614,15 @@ void updateDataBytes() {
dataBytes = analogDataBytes;
}
int setDefaultDacs() {
int resetToDefaultDacs(int hardReset) {
// reset defaults to hardcoded defaults
if (hardReset) {
const int vals[] = DEFAULT_DAC_VALS;
for (int i = 0; i < NDAC; ++i) {
defaultDacValues[i] = vals[i];
}
}
// reset dacs to defaults
int ret = OK;
LOG(logINFOBLUE, ("Setting Default Dac values\n"));
for (int i = 0; i < NDAC; ++i) {

View File

@ -450,7 +450,7 @@ void setupDetector() {
// defaults
setHighVoltage(DEFAULT_HIGH_VOLTAGE);
setDefaultDacs();
resetToDefaultDacs(false);
setASICDefaults();
setADIFDefaults();
@ -527,7 +527,15 @@ void setupDetector() {
setAllTrimbits(DEFAULT_TRIMBIT_VALUE);
}
int setDefaultDacs() {
int resetToDefaultDacs(int hardReset) {
// reset defaults to hardcoded defaults
if (hardReset) {
const int vals[] = DEFAULT_DAC_VALS;
for (int i = 0; i < NDAC; ++i) {
defaultDacValues[i] = vals[i];
}
}
// reset dacs to defaults
int ret = OK;
LOG(logINFOBLUE, ("Setting Default Dac values\n"));
{

View File

@ -117,7 +117,7 @@ void updateDataBytes();
#endif
#ifndef CHIPTESTBOARDD
int setDefaultDacs();
int resetToDefaultDacs(int hardReset);
int getDefaultDac(enum DACINDEX index, enum detectorSettings sett, int *retval);
int setDefaultDac(enum DACINDEX index, enum detectorSettings sett, int value);
#endif

View File

@ -239,7 +239,7 @@ int reconfigure_udp(int);
int validate_udp_configuration(int);
int get_bursts_left(int);
int start_readout(int);
int set_default_dacs(int);
int reset_to_default_dacs(int);
int is_virtual(int);
int get_pattern(int);
int load_default_pattern(int);

View File

@ -364,7 +364,7 @@ void function_table() {
flist[F_VALIDATE_UDP_CONFIG] = &validate_udp_configuration;
flist[F_GET_BURSTS_LEFT] = &get_bursts_left;
flist[F_START_READOUT] = &start_readout;
flist[F_SET_DEFAULT_DACS] = &set_default_dacs;
flist[F_RESET_TO_DEFAULT_DACS] = &reset_to_default_dacs;
flist[F_IS_VIRTUAL] = &is_virtual;
flist[F_GET_PATTERN] = &get_pattern;
flist[F_LOAD_DEFAULT_PATTERN] = &load_default_pattern;
@ -1627,7 +1627,7 @@ int set_settings(int file_des) {
validate(&ret, mess, (int)isett, (int)retval, "set settings", DEC);
#ifdef GOTTHARDD
if (ret == OK) {
ret = setDefaultDacs();
ret = resetToDefaultDacs(false);
if (ret == FAIL) {
strcpy(mess, "Could change settings, but could not set to "
"default dacs\n");
@ -8090,17 +8090,22 @@ int start_readout(int file_des) {
return Server_SendResult(file_des, INT32, NULL, 0);
}
int set_default_dacs(int file_des) {
int reset_to_default_dacs(int file_des) {
ret = OK;
memset(mess, 0, sizeof(mess));
int arg = -1;
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
return printSocketReadError();
LOG(logINFO, ("Resetting dacs to defaults (hard reset: %d)\n", arg));
#ifdef CHIPTESTBOARDD
functionNotImplemented();
#else
if (Server_VerifyLock() == OK) {
if (setDefaultDacs() == FAIL) {
if (resetToDefaultDacs(arg) == FAIL) {
ret = FAIL;
strcpy(mess, "Could not set default dacs");
sprintf(mess, "Could not %s reset default dacs",
(arg == 1 ? "hard" : ""));
LOG(logERROR, (mess));
}
}