mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-22 22:40:02 +02:00
gotthard2 dacs
This commit is contained in:
parent
030cfacc9b
commit
cfd3680176
Binary file not shown.
@ -374,9 +374,9 @@ int setDefaultDacs() {
|
||||
const int defaultvals[NDAC] = DEFAULT_DAC_VALS;
|
||||
for(i = 0; i < NDAC; ++i) {
|
||||
// if not already default, set it to default
|
||||
if (dacValues[i] != defaultvals[i]) {
|
||||
//if (dacValues[i] != defaultvals[i]) {
|
||||
setDAC((enum DACINDEX)i,defaultvals[i],0);
|
||||
}
|
||||
//}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
@ -491,12 +491,15 @@ int64_t getTimeLeft(enum timerIndex ind){
|
||||
|
||||
/* parameters - dac, hv */
|
||||
void setDAC(enum DACINDEX ind, int val, int mV) {
|
||||
if (val < 0)
|
||||
if (val < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
FILE_LOG(logDEBUG1, ("Setting dac[%d]: %d %s \n", (int)ind, val, (mV ? "mV" : "dac units")));
|
||||
char* dac_names[] = {DAC_NAMES};
|
||||
FILE_LOG(logDEBUG1, ("Setting dac[%d - %s]: %d %s \n", (int)ind, dac_names[ind], val, (mV ? "mV" : "dac units")));
|
||||
int dacval = val;
|
||||
#ifdef VIRTUAL
|
||||
FILE_LOG(logINFO, ("Setting dac[%d - %s]: %d %s \n", (int)ind, dac_names[ind], val, (mV ? "mV" : "dac units")));
|
||||
if (!mV) {
|
||||
dacValues[ind] = val;
|
||||
}
|
||||
@ -505,7 +508,7 @@ void setDAC(enum DACINDEX ind, int val, int mV) {
|
||||
dacValues[ind] = dacval;
|
||||
}
|
||||
#else
|
||||
if (LTC2620_D_SetDACValue((int)ind, val, mV, &dacval) == OK) {
|
||||
if (LTC2620_D_SetDACValue((int)ind, val, mV, dac_names[ind], &dacval) == OK) {
|
||||
dacValues[ind] = dacval;
|
||||
}
|
||||
#endif
|
||||
@ -542,7 +545,7 @@ int setHighVoltage(int val){
|
||||
|
||||
// setting hv
|
||||
if (val >= 0) {
|
||||
FILE_LOG(logINFO, ("Setting High voltage: %d V", val));
|
||||
FILE_LOG(logINFO, ("Setting High voltage: %d V\n", val));
|
||||
DAC6571_Set(val);
|
||||
highvoltage = val;
|
||||
}
|
||||
|
@ -34,6 +34,7 @@
|
||||
|
||||
/** Other Definitions */
|
||||
#define BIT16_MASK (0xFFFF)
|
||||
#define DAC_NAMES "VREF_H_ADC", "DAC_UNUSED", "VB_COMP_FE", "VB_COMP_ADC", "VCOM_CDS", "VREF_RESTORE", "VB_OPA_1ST", "VREF_COMP_FE", "VCOM_ADC1", "VREF_PRECH", "VREF_L_ADC", "VREF_CDS", "VB_CS", "VB_OPA_FD", "DAC_UNUSED2", "VCOM_ADC2"
|
||||
|
||||
/* Enums */
|
||||
enum DACINDEX {G_VREF_H_ADC, /* 0 */ \
|
||||
@ -53,22 +54,22 @@ enum DACINDEX {G_VREF_H_ADC, /* 0 */ \
|
||||
G_DAC_UNUSED2, /* 14 */ \
|
||||
G_VCOM_ADC2 /* 15*/ \
|
||||
};
|
||||
#define DEFAULT_DAC_VALS {1723, /* 0 (1050 mV) VREF_H_ADC*/ \
|
||||
#define DEFAULT_DAC_VALS {2099, /* 0 (1050 mV) VREF_H_ADC*/ \
|
||||
0, /* 1 (0 mV) DAC_UNUSED*/ \
|
||||
0, /* 2 (0 mV) VB_COMP_FE*/ \
|
||||
0, /* 3 (0 mV) VB_COMP_ADC*/ \
|
||||
560, /* 4 (700 mV) VCOM_CDS*/ \
|
||||
250, /* 5 (320 mV) VREF_RESTORE*/ \
|
||||
1400, /* 4 (700 mV) VCOM_CDS*/ \
|
||||
640, /* 5 (320 mV) VREF_RESTORE*/ \
|
||||
0, /* 6 (0 mV) VB_OPA_1ST*/ \
|
||||
0, /* 7 (0 mV) VREF_COMP_FE*/ \
|
||||
560, /* 8 (700 mV) VCOM_ADC1*/ \
|
||||
700, /* 9 (860 mV) VREF_PRECH*/ \
|
||||
576, /* 10 (350 mV) VREF_L_ADC*/ \
|
||||
470, /* 11 (600 mV) VREF_CDS*/ \
|
||||
2000, /* 12 (1400 mV) VB_CS*/ \
|
||||
1400, /* 8 (700 mV) VCOM_ADC1*/ \
|
||||
1720, /* 9 (860 mV) VREF_PRECH*/ \
|
||||
700, /* 10 (350 mV) VREF_L_ADC*/ \
|
||||
1200, /* 11 (600 mV) VREF_CDS*/ \
|
||||
2799, /* 12 (1400 mV) VB_CS*/ \
|
||||
0, /* 13 (0 mV) VB_OPA_FD*/ \
|
||||
0, /* 14 (0 mV) DAC_UNUSED2*/ \
|
||||
560 /* 15 (700 mV) VCOM_ADC2*/ \
|
||||
1400 /* 15 (700 mV) VCOM_ADC2*/ \
|
||||
};
|
||||
enum CLKINDEX {RUN_CLK, TICK_CLK, SAMPLING_CLK, NUM_CLOCKS};
|
||||
|
||||
|
Binary file not shown.
@ -374,10 +374,7 @@ int setDefaultDacs() {
|
||||
int i = 0;
|
||||
const int defaultvals[NDAC] = DEFAULT_DAC_VALS;
|
||||
for(i = 0; i < NDAC; ++i) {
|
||||
// if not already default, set it to default
|
||||
if (dacValues[i] != defaultvals[i]) {
|
||||
setDAC((enum DACINDEX)i,defaultvals[i],0);
|
||||
}
|
||||
setDAC((enum DACINDEX)i,defaultvals[i],0);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
@ -516,12 +513,16 @@ int64_t getTimeLeft(enum timerIndex ind){
|
||||
|
||||
/* parameters - dac, hv */
|
||||
void setDAC(enum DACINDEX ind, int val, int mV) {
|
||||
if (val < 0)
|
||||
if (val < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
char* dac_names[] = {DAC_NAMES};
|
||||
FILE_LOG(logDEBUG1, ("Setting dac[%d - %s]: %d %s \n", (int)ind, dac_names[ind], val, (mV ? "mV" : "dac units")));
|
||||
|
||||
FILE_LOG(logDEBUG1, ("Setting dac[%d]: %d %s \n", (int)ind, val, (mV ? "mV" : "dac units")));
|
||||
int dacval = val;
|
||||
#ifdef VIRTUAL
|
||||
FILE_LOG(logINFO, ("Setting dac[%d - %s]: %d %s \n", (int)ind, dac_names[ind], val, (mV ? "mV" : "dac units")));
|
||||
if (!mV) {
|
||||
dacValues[ind] = val;
|
||||
}
|
||||
@ -530,7 +531,7 @@ void setDAC(enum DACINDEX ind, int val, int mV) {
|
||||
dacValues[ind] = dacval;
|
||||
}
|
||||
#else
|
||||
if (LTC2620_D_SetDACValue((int)ind, val, mV, &dacval) == OK) {
|
||||
if (LTC2620_D_SetDACValue((int)ind, val, mV, dac_names[ind], &dacval) == OK) {
|
||||
dacValues[ind] = dacval;
|
||||
}
|
||||
#endif
|
||||
@ -564,7 +565,7 @@ int setHighVoltage(int val){
|
||||
|
||||
// setting hv
|
||||
if (val >= 0) {
|
||||
FILE_LOG(logINFO, ("Setting High voltage: %d V", val));
|
||||
FILE_LOG(logINFO, ("Setting High voltage: %d V\n", val));
|
||||
DAC6571_Set(val);
|
||||
highvoltage = val;
|
||||
}
|
||||
|
@ -33,6 +33,7 @@
|
||||
/** Other Definitions */
|
||||
#define BIT16_MASK (0xFFFF)
|
||||
|
||||
#define DAC_NAMES "CASSH", "VTH2", "VRFSH", "VRFSHNPOL", "VIPREOUT", "VTH3", "VTH1", "VICIN", "CAS", "VRF", "VPH", "VIPRE", "VIINSH", "VPL", "VTRIM", "VDCSH"
|
||||
/* Enums */
|
||||
enum CLKINDEX {RUN_CLK, TICK_CLK, SAMPLING_CLK, NUM_CLOCKS};
|
||||
enum DACINDEX {CASSH, VTH2, VRFSH, VRFSHNPOL, VIPREOUT, VTH3, VTH1, VICIN, CAS, VRF, VPH, VIPRE, VIINSH, VPL, VTRIM, VDCSH};
|
||||
|
@ -37,7 +37,8 @@ int LTC2620_D_DacToVoltage(int dacval, int* voltage);
|
||||
* @param dacnum dac index
|
||||
* @param val value to set
|
||||
* @param mV 1 for mv, else 0
|
||||
* @paam dacname dac name
|
||||
* @param dacval pointer to dac value
|
||||
* @return OK or FAIL
|
||||
*/
|
||||
int LTC2620_D_SetDACValue(int dacnum, int val, int mV, int *dacval);
|
||||
int LTC2620_D_SetDACValue(int dacnum, int val, int mV, char* dacname, int *dacval);
|
@ -39,7 +39,7 @@ int LTC2620_D_DacToVoltage(int dacval, int* voltage) {
|
||||
}
|
||||
|
||||
|
||||
int LTC2620_D_SetDACValue (int dacnum, int val, int mV, int* dacval) {
|
||||
int LTC2620_D_SetDACValue (int dacnum, int val, int mV, char* dacname, int* dacval) {
|
||||
FILE_LOG(logDEBUG1, ("dacnum:%d, val:%d, ismV:%d\n", dacnum, val, mV));
|
||||
// validate index
|
||||
if (dacnum < 0 || dacnum >= LTC2620_D_NumDacs) {
|
||||
@ -70,7 +70,7 @@ int LTC2620_D_SetDACValue (int dacnum, int val, int mV, int* dacval) {
|
||||
|
||||
// set
|
||||
if ( (*dacval >= 0) || (*dacval == LTC2620_D_PWR_DOWN_VAL)) {
|
||||
FILE_LOG(logINFO, ("Setting DAC %d: %d dac (%d mV)\n",dacnum, *dacval, dacmV));
|
||||
FILE_LOG(logINFO, ("Setting DAC %2d [%-12s] : %d dac (%d mV)\n",dacnum, dacname, *dacval, dacmV));
|
||||
|
||||
char fname[MAX_STR_LENGTH];
|
||||
sprintf(fname, "%s%d", LTC2620_D_DriverFileName, dacnum);
|
||||
|
@ -8,5 +8,5 @@
|
||||
#define APIGOTTHARD 0x190930
|
||||
#define APIJUNGFRAU 0x190930
|
||||
#define APIEIGER 0x190930
|
||||
#define APIMYTHEN3 0x191004
|
||||
#define APIMYTHEN3 0x191008
|
||||
#define APIGOTTHARD2 0x191008
|
||||
|
Loading…
x
Reference in New Issue
Block a user