mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 10:07:59 +02:00
G2: reconfigure chip (#927)
* changed common.c readADCFromFile to make it more general and move temperature calculation for Eiger out of this function and inside whereever it is called. * g2 and m2: gethighvoltage was just a variable set in server, it is now moved to a get inside DAC5671 implementation (but not reading a measured value, instead what is set from a file), high voltage variable used inside DAC5671 for virtual servers * g2: switching off hv (ifrom non zero to zero value) will wait for 10s; powering on chip reconfigures chip; powering off chip unconfigures chip; powering off chip also includes check if hv = 0, if not throw exception; chip configuration checked before acquring; at start up: hv switched off and chip powered on, so does not wait 10s to switch off hv; * included test to check powering off chip when hv is on should throw an exception * g2: check if chip configured before acquiring * nios: read hv value set from file and virtual still goes into DAC5671 for conversions to and fro dac to V, change common readadc to readparameter to generalize, make sethighvoltage into a get and set to catch errors in get as well, g2: if not at startup, remmeber hv value before setting it and after check if value was being switched off (from a non zero value) and wait 10s if it was (10s wait only for switching off from non zero and not at startup)
This commit is contained in:
Binary file not shown.
@ -1150,10 +1150,10 @@ int getSlowADC(int ichan, int *retval) {
|
||||
sprintf(fname, SLOWADC_DRIVER_FILE_NAME, adcDeviceIndex, ichan);
|
||||
LOG(logDEBUG1, ("fname %s\n", fname));
|
||||
|
||||
if (readADCFromFile(fname, retval) == FAIL) {
|
||||
if (readParameterFromFile(fname, "slow adc", retval) == FAIL) {
|
||||
LOG(logERROR, ("Could not get slow adc\n"));
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
// TODO assuming already converted to uV
|
||||
// convert to uV
|
||||
// double value = SLOWDAC_CONVERTION_FACTOR_TO_UV * (double)(*retval);
|
||||
@ -1168,11 +1168,11 @@ int getSlowADC(int ichan, int *retval) {
|
||||
int getTemperature(int *retval) {
|
||||
*retval = 0;
|
||||
#ifndef VIRTUAL
|
||||
if (readADCFromFile(TEMP_DRIVER_FILE_NAME, retval) == FAIL) {
|
||||
if (readParameterFromFile(TEMP_DRIVER_FILE_NAME, "temperature", retval) ==
|
||||
FAIL) {
|
||||
LOG(logERROR, ("Could not get temperature\n"));
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
// value already in millidegree celsius
|
||||
LOG(logINFO, ("Temperature: %.2f °C\n", (double)(*retval) / 1000.00));
|
||||
#endif
|
||||
return OK;
|
||||
|
Reference in New Issue
Block a user