jungfrau dacs named

This commit is contained in:
2019-10-29 18:11:16 +01:00
parent 925a750f9a
commit fe467cdf70
27 changed files with 702 additions and 534 deletions

View File

@ -959,12 +959,12 @@ void setDAC(enum DACINDEX ind, int val, int mV) {
FILE_LOG(logDEBUG1, ("Setting dac[%d]: %d %s \n", (int)ind, val, (mV ? "mV" : "dac units")));
if (ind == VTHRESHOLD) {
setDAC(VCMP_LL, val, mV);
setDAC(VCMP_LR, val, mV);
setDAC(VCMP_RL, val, mV);
setDAC(VCMP_RR, val, mV);
setDAC(VCP, val, mV);
if (ind == E_VTHRESHOLD) {
setDAC(E_VCMP_LL, val, mV);
setDAC(E_VCMP_LR, val, mV);
setDAC(E_VCMP_RL, val, mV);
setDAC(E_VCMP_RR, val, mV);
setDAC(E_VCP, val, mV);
return;
}
@ -996,13 +996,13 @@ void setDAC(enum DACINDEX ind, int val, int mV) {
}
int getDAC(enum DACINDEX ind, int mV) {
if (ind == VTHRESHOLD) {
if (ind == E_VTHRESHOLD) {
int ret[5] = {0};
ret[0] = getDAC(VCMP_LL, mV);
ret[1] = getDAC(VCMP_LR, mV);
ret[2] = getDAC(VCMP_RL, mV);
ret[3] = getDAC(VCMP_RR, mV);
ret[4] = getDAC(VCP, mV);
ret[0] = getDAC(E_VCMP_LL, mV);
ret[1] = getDAC(E_VCMP_LR, mV);
ret[2] = getDAC(E_VCMP_RL, mV);
ret[3] = getDAC(E_VCMP_RR, mV);
ret[4] = getDAC(E_VCP, mV);
if ((ret[0]== ret[1])&&
(ret[1]==ret[2])&&

View File

@ -9,7 +9,7 @@
#define STATUS_ERROR 2
/* Enums */
enum DACINDEX {SVP,VTR,VRF,VRS,SVN,VTGSTV,VCMP_LL,VCMP_LR,CAL,VCMP_RL,RXB_RB,RXB_LB,VCMP_RR,VCP,VCN,VIS,VTHRESHOLD};
enum DACINDEX {E_SVP,E_VTR,E_VRF,E_VRS,E_SVN,E_VTGSTV,E_VCMP_LL,E_VCMP_LR,E_CAL,E_VCMP_RL,E_RXB_RB,E_RXB_LB,E_VCMP_RR,E_VCP,E_VCN,E_VIS,E_VTHRESHOLD};
#define DEFAULT_DAC_VALS { \
0, /* SvP */ \
2480, /* Vtr */ \

View File

@ -39,25 +39,25 @@
/** 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"
#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 */ \
G_DAC_UNUSED, /* 1 */ \
G_VB_COMP_FE, /* 2 */ \
G_VB_COMP_ADC, /* 3 */ \
G_VCOM_CDS, /* 4 */ \
G_VREF_RESTORE,/* 5 */ \
G_VB_OPA_1ST, /* 6 */ \
G_VREF_COMP_FE,/* 7 */ \
G_VCOM_ADC1, /* 8 */ \
G_VREF_PRECH, /* 9 */ \
G_VREF_L_ADC, /* 10 */ \
G_VREF_CDS, /* 11 */ \
G_VB_CS, /* 12 */ \
G_VB_OPA_FD, /* 13 */ \
G_DAC_UNUSED2, /* 14 */ \
G_VCOM_ADC2 /* 15*/ \
enum DACINDEX {G2_VREF_H_ADC, /* 0 */ \
G2_DAC_UNUSED, /* 1 */ \
G2_VB_COMP_FE, /* 2 */ \
G2_VB_COMP_ADC, /* 3 */ \
G2_VCOM_CDS, /* 4 */ \
G2_VREF_RESTORE,/* 5 */ \
G2_VB_OPA_1ST, /* 6 */ \
G2_VREF_COMP_FE,/* 7 */ \
G2_VCOM_ADC1, /* 8 */ \
G2_VREF_PRECH, /* 9 */ \
G2_VREF_L_ADC, /* 10 */ \
G2_VREF_CDS, /* 11 */ \
G2_VB_CS, /* 12 */ \
G2_VB_OPA_FD, /* 13 */ \
G2_DAC_UNUSED2, /* 14 */ \
G2_VCOM_ADC2 /* 15*/ \
};
#define DEFAULT_DAC_VALS {2099, /* 0 (1050 mV) VREF_H_ADC*/ \
0, /* 1 (0 mV) DAC_UNUSED*/ \

View File

@ -4,16 +4,16 @@
/* Enums */
enum ADCINDEX {TEMP_FPGA, TEMP_ADC};
enum DACINDEX {VREF_DS, VCASCN_PB, VCASCP_PB, VOUT_CM, VCASC_OUT, VIN_CM, VREF_COMP, IB_TESTC};
enum DACINDEX {G_VREF_DS, G_VCASCN_PB, G_VCASCP_PB, G_VOUT_CM, G_VCASC_OUT, G_VIN_CM, G_VREF_COMP, G_IB_TESTC};
#define DEFAULT_DAC_VALS { \
660, /* VREF_DS */ \
650, /* VCASCN_PB */ \
1480, /* VCASCP_PB */ \
1520, /* VOUT_CM */ \
1320, /* VCASC_OUT */ \
1350, /* VIN_CM */ \
350, /* VREF_COMP */ \
2001 /* IB_TESTC */ \
660, /* G_VREF_DS */ \
650, /* G_VCASCN_PB */ \
1480, /* G_VCASCP_PB */ \
1520, /* G_VOUT_CM */ \
1320, /* G_VCASC_OUT */ \
1350, /* G_VIN_CM */ \
350, /* G_VREF_COMP */ \
2001 /* G_IB_TESTC */ \
};
/* for 25 um */

View File

@ -39,14 +39,14 @@ typedef struct udp_header_struct {
/* Enums */
enum ADCINDEX {TEMP_FPGA, TEMP_ADC};
enum DACINDEX {J_VB_COMP, J_VDD_PROT, J_VIN_COM, J_VREF_PRECH, J_VB_PIXBUF, J_VB_DS, J_VREF_DS, J_VREF_COMP };
#define DEFAULT_DAC_VALS { 1220, /* VB_COMP */ \
3000, /* VDD_PROT */ \
1053, /* VIN_COM */ \
1450, /* VREF_PRECH */ \
750, /* VB_PIXBUF */ \
1000, /* VB_DS */ \
480, /* VREF_DS */ \
420 /* VREF_COMP */ \
#define DEFAULT_DAC_VALS { 1220, /* J_VB_COMP */ \
3000, /* J_VDD_PROT */ \
1053, /* J_VIN_COM */ \
1450, /* J_VREF_PRECH */ \
750, /* J_VB_PIXBUF */ \
1000, /* J_VB_DS */ \
480, /* J_VREF_DS */ \
420 /* J_VREF_COMP */ \
};
enum NETWORKINDEX { TXN_FRAME, FLOWCTRL_10G };

View File

@ -36,7 +36,7 @@
#define DAC_NAMES "cassh", "vth2", "vshaper", "vshaperneg", "vipreout", "vth3", "vth1", "vicin", "cas", "vpreamp", "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};
enum DACINDEX {M_CASSH, M_VTH2, M_VRFSH, M_VRFSHNPOL, M_VIPRE_OUT, M_VTH3, M_VTH1, M_VICIN, M_CAS, M_VRF, M_VPH, M_VIPRE, M_VIINSH, M_VPL, M_VTRIM, M_VDCSH};
#define DEFAULT_DAC_VALS {1200, /* casSh */ \
2800, /* Vth2 */ \
1280, /* VrfSh */ \

View File

@ -744,86 +744,83 @@ int set_dac(int file_des) {
// check if dac exists for this detector
switch (ind) {
#ifdef GOTTHARDD
case G_VREF_DS :
serverDacIndex = VREF_DS;
case VREF_DS :
serverDacIndex = G_VREF_DS;
break;
case G_VCASCN_PB:
serverDacIndex = VCASCN_PB;
case VCASCN_PB:
serverDacIndex = G_VCASCN_PB;
break;
case G_VCASCP_PB:
serverDacIndex = VCASCP_PB;
case VCASCP_PB:
serverDacIndex = G_VCASCP_PB;
break;
case G_VOUT_CM:
serverDacIndex = VOUT_CM;
case VOUT_CM:
serverDacIndex = G_VOUT_CM;
break;
case G_VCASC_OUT:
serverDacIndex = VCASC_OUT;
case VCASC_OUT:
serverDacIndex = G_VCASC_OUT;
break;
case G_VIN_CM:
serverDacIndex = VIN_CM;
case VIN_CM:
serverDacIndex = G_VIN_CM;
break;
case G_VREF_COMP:
serverDacIndex = VREF_COMP;
case VREF_COMP:
serverDacIndex = G_VREF_COMP;
break;
case G_IB_TESTC:
serverDacIndex = IB_TESTC;
case IB_TESTC:
serverDacIndex = G_IB_TESTC;
break;
case HIGH_VOLTAGE:
break;
#elif EIGERD
case TRIMBIT_SIZE:
serverDacIndex = VTR;
break;
case THRESHOLD:
serverDacIndex = VTHRESHOLD;
serverDacIndex = E_VTHRESHOLD;
break;
case E_SvP:
serverDacIndex = SVP;
case SVP:
serverDacIndex = E_SVP;
break;
case E_SvN:
serverDacIndex = SVN;
case SVN:
serverDacIndex = E_SVN;
break;
case E_Vtr:
serverDacIndex = VTR;
case VTR:
serverDacIndex = E_VTR;
break;
case E_Vrf:
serverDacIndex = VRF;
case VRF:
serverDacIndex = E_VRF;
break;
case E_Vrs:
serverDacIndex = VRS;
case VRS:
serverDacIndex = E_VRS;
break;
case E_Vtgstv:
serverDacIndex = VTGSTV;
case VTGSTV:
serverDacIndex = E_VTGSTV;
break;
case E_Vcmp_ll:
serverDacIndex = VCMP_LL;
case VCMP_LL:
serverDacIndex = E_VCMP_LL;
break;
case E_Vcmp_lr:
serverDacIndex = VCMP_LR;
case VCMP_LR:
serverDacIndex = E_VCMP_LR;
break;
case E_cal:
serverDacIndex = CAL;
case CAL:
serverDacIndex = E_CAL;
break;
case E_Vcmp_rl:
serverDacIndex = VCMP_RL;
case VCMP_RL:
serverDacIndex = E_VCMP_RL;
break;
case E_Vcmp_rr:
serverDacIndex = VCMP_RR;
case VCMP_RR:
serverDacIndex = E_VCMP_RR;
break;
case E_rxb_rb:
serverDacIndex = RXB_RB;
case RXB_RB:
serverDacIndex = E_RXB_RB;
break;
case E_rxb_lb:
serverDacIndex = RXB_LB;
case RXB_LB:
serverDacIndex = E_RXB_LB;
break;
case E_Vcp:
serverDacIndex = VCP;
case VCP:
serverDacIndex = E_VCP;
break;
case E_Vcn:
serverDacIndex = VCN;
case VCN:
serverDacIndex = E_VCN;
break;
case E_Vis:
serverDacIndex = VIS;
case VIS:
serverDacIndex = E_VIS;
break;
case HIGH_VOLTAGE:
case IO_DELAY:
@ -860,107 +857,130 @@ int set_dac(int file_des) {
#elif MYTHEN3D
case HIGH_VOLTAGE:
break;
case M_casSh:
serverDacIndex = CASSH;
case CASSH:
serverDacIndex = M_CASSH;
break;
case M_Vth2:
serverDacIndex = VTH2;
case VTH2:
serverDacIndex = M_VTH2;
break;
case SHAPER1:
serverDacIndex = VRFSH;
serverDacIndex = M_VRFSH;
break;
case SHAPER2:
serverDacIndex = VRFSHNPOL;
serverDacIndex = M_VRFSHNPOL;
break;
case M_vIpreOut:
serverDacIndex = VIPREOUT;
case VIPRE_OUT:
serverDacIndex = M_VIPRE_OUT;
break;
case M_Vth3:
serverDacIndex = VTH3;
case VTH3:
serverDacIndex = M_VTH3;
break;
case THRESHOLD:
serverDacIndex = VTH1;
serverDacIndex = M_VTH1;
break;
case M_vIcin:
serverDacIndex = VICIN;
case VICIN:
serverDacIndex = M_VICIN;
break;
case M_cas:
serverDacIndex = CAS;
case CAS:
serverDacIndex = M_CAS;
break;
case PREAMP:
serverDacIndex = VRF;
serverDacIndex = M_VRF;
break;
case CALIBRATION_PULSE:
serverDacIndex = VPH;
serverDacIndex = M_VPH;
break;
case M_vIpre:
serverDacIndex = VIPRE;
case VIPRE:
serverDacIndex = M_VIPRE;
break;
case M_vIinSh:
serverDacIndex = VIINSH;
case VIINSH:
serverDacIndex = M_VIINSH;
break;
case M_VPL:
serverDacIndex = VPL;
case VPL:
serverDacIndex = M_VPL;
break;
case TRIMBIT_SIZE:
serverDacIndex = VTRIM;
serverDacIndex = M_VTRIM;
break;
case M_VdcSh:
serverDacIndex = VDCSH;
case VDCSH:
serverDacIndex = M_VDCSH;
break;
#elif GOTTHARD2D
case HIGH_VOLTAGE:
break;
case VREF_H_ADC:
serverDacIndex = G_VREF_H_ADC;
serverDacIndex = G2_VREF_H_ADC;
break;
case VB_COMP_FE:
serverDacIndex = G_VB_COMP_FE;
serverDacIndex = G2_VB_COMP_FE;
break;
case VB_COMP_ADC:
serverDacIndex = G_VB_COMP_ADC;
serverDacIndex = G2_VB_COMP_ADC;
break;
case VCOM_CDS:
serverDacIndex = G_VCOM_CDS;
serverDacIndex = G2_VCOM_CDS;
break;
case VREF_RESTORE:
serverDacIndex = G_VREF_RESTORE;
serverDacIndex = G2_VREF_RESTORE;
break;
case VB_OPA_1ST:
serverDacIndex = G_VB_OPA_1ST;
serverDacIndex = G2_VB_OPA_1ST;
break;
case VREF_COMP_FE:
serverDacIndex = G_VREF_COMP_FE;
serverDacIndex = G2_VREF_COMP_FE;
break;
case VCOM_ADC1:
serverDacIndex = G_VCOM_ADC1;
serverDacIndex = G2_VCOM_ADC1;
break;
case VREF_PRECH:
serverDacIndex = G_VREF_PRECH;
serverDacIndex = G2_VREF_PRECH;
break;
case VREF_L_ADC:
serverDacIndex = G_VREF_L_ADC;
serverDacIndex = G2_VREF_L_ADC;
break;
case VREF_CDS:
serverDacIndex = G_VREF_CDS;
serverDacIndex = G2_VREF_CDS;
break;
case VB_CS:
serverDacIndex = G_VB_CS;
serverDacIndex = G2_VB_CS;
break;
case VB_OPA_FD:
serverDacIndex = G_VB_OPA_FD;
serverDacIndex = G2_VB_OPA_FD;
break;
case VCOM_ADC2:
serverDacIndex = G_VCOM_ADC2;
break;
serverDacIndex = G2_VCOM_ADC2;
break;
#elif JUNGFRAUD
case HIGH_VOLTAGE:
break;
case VB_DS:
serverDacIndex = J_VB_DS;
break;
case VB_COMP:
serverDacIndex = J_VB_COMP;
break;
case VB_PIXBUF:
serverDacIndex = J_VB_PIXBUF;
break;
case VREF_DS:
serverDacIndex = J_VREF_DS;
break;
case VREF_COMP:
serverDacIndex = J_VREF_COMP;
break;
case VREF_PRECH:
serverDacIndex = J_VREF_PRECH;
break;
case VIN_COM:
serverDacIndex = J_VIN_COM;
break;
case VDD_PROT:
serverDacIndex = J_VDD_PROT;
break;
#endif
default:
#ifdef JUNGFRAUD
if ((ind == HIGH_VOLTAGE) || (ind < NDAC_OLDBOARD)) { //for compatibility with old board
serverDacIndex = ind;
break;
}
#elif CHIPTESTBOARDD
#ifdef CHIPTESTBOARDD
if (ind < NDAC_ONLY) {
serverDacIndex = ind;
break;