#ifndef SERVER_DEFS_H #define SERVER_DEFS_H #include "sls_detector_defs.h" #include /* Hardware Definitions */ #define NMAXMODY 1 #define NMAXMODX 1 #define NMAXMOD (NMAXMODX*NMAXMODY) #define NCHAN (256*256) #define NCHIP 8 #define NADC 0 #define NDAC 8 #define NCHANS (NCHAN*NCHIP*NMAXMOD) #define NDACS (NDAC*NMAXMOD) #define DEFAULT_PHASE_SHIFT 0 // 120 #define DEFAULT_IP_PACKETSIZE 0x0522 #define DEFAULT_UDP_PACKETSIZE 0x050E #define ADC1_IP_PACKETSIZE 256*2+14+20 #define ADC1_UDP_PACKETSIZE 256*2+4+8+2 #define CLK_FREQ 156.25E+6 #define ADC_CLK_FREQ 32E+6 /** DEFAULT */ enum DACNAMES { VB_COMP, VDD_PROT, VIN_COM, VREF_PRECH, VB_PIXBUF, VB_DS, VREF_DS, VREF_COMP }; #define DEFAULT_DAC_VALS { 1220, 3000, 1053, 1450, 750, 1000, 480, 420 }; #define DEFAULT_NUM_FRAMES (1*1000*1000) #define DEFAULT_NUM_CYCLES (0) #define DEFAULT_EXPTIME (10*1000) #define DEFAULT_PERIOD (2*1000*1000) #define DEFAULT_DELAY (0) #define DEFAULT_NUM_GATES (0) #define DEFAULT_HIGH_VOLTAGE (0) #define DEFAULT_SETTINGS (DYNAMICGAIN) #define DEFAULT_TX_UDP_PORT (0x7e9a) /* Defines in the Firmware */ #define FIX_PATT_VAL (0xACDC2014) #define ADC_PORT_INVERT_VAL (0x453b2a9c) #define ADC_OFST_HALF_SPEED_VAL (0x20) #define ADC_OFST_QUARTER_SPEED_VAL (0x10) /* Maybe not required for jungfrau */ #define NTRIMBITS 6 #define NCOUNTBITS 24 #define NCHIPS_PER_ADC 2 #define TRIM_DR (((int)pow(2,NTRIMBITS))-1) #define COUNT_DR (((int)pow(2,NCOUNTBITS))-1) #define ALLMOD 0xffff #define ALLFIFO 0xffff /* LTC2620 DAC DEFINES */ #define LTC2620_DAC_CMD_OFST (20) #define LTC2620_DAC_CMD_MSK (0x0000000F << LTC2620_DAC_CMD_OFST) #define LTC2620_DAC_ADDR_OFST (16) #define LTC2620_DAC_ADDR_MSK (0x0000000F << LTC2620_DAC_ADDR_OFST) #define LTC2620_DAC_DATA_OFST (4) #define LTC2620_DAC_DATA_MSK (0x00000FFF << LTC2620_DAC_DATA_OFST) #define LTC2620_DAC_CMD_WRITE (0x00000000 << LTC2620_DAC_CMD_OFST) #define LTC2620_DAC_CMD_SET (0x00000003 << LTC2620_DAC_CMD_OFST) #define LTC2620_DAC_CMD_POWER_DOWN (0x00000004 << LTC2620_DAC_CMD_OFST) #define LTC2620_DAC_NUMBITS (24) /* MAX1932 HV DEFINES */ #define MAX1932_HV_NUMBITS (8) #define MAX1932_HV_DATA_OFST (0) #define MAX1932_HV_DATA_MSK (0x000000FF << MAX1932_HV_DATA_OFST) /* AD9257 ADC DEFINES */ #define AD9257_ADC_NUMBITS (24) #define AD9257_DEV_IND_2_REG (0x04) #define AD9257_CHAN_H_OFST (0) #define AD9257_CHAN_H_MSK (0x00000001 << AD9257_CHAN_H_OFST) #define AD9257_CHAN_G_OFST (1) #define AD9257_CHAN_G_MSK (0x00000001 << AD9257_CHAN_G_OFST) #define AD9257_CHAN_F_OFST (2) #define AD9257_CHAN_F_MSK (0x00000001 << AD9257_CHAN_F_OFST) #define AD9257_CHAN_E_OFST (3) #define AD9257_CHAN_E_MSK (0x00000001 << AD9257_CHAN_E_OFST) #define AD9257_DEV_IND_1_REG (0x05) #define AD9257_CHAN_D_OFST (0) #define AD9257_CHAN_D_MSK (0x00000001 << AD9257_CHAN_D_OFST) #define AD9257_CHAN_C_OFST (1) #define AD9257_CHAN_C_MSK (0x00000001 << AD9257_CHAN_C_OFST) #define AD9257_CHAN_B_OFST (2) #define AD9257_CHAN_B_MSK (0x00000001 << AD9257_CHAN_B_OFST) #define AD9257_CHAN_A_OFST (3) #define AD9257_CHAN_A_MSK (0x00000001 << AD9257_CHAN_A_OFST) #define AD9257_CLK_CH_DCO_OFST (4) #define AD9257_CLK_CH_DCO_MSK (0x00000001 << AD9257_CLK_CH_DCO_OFST) #define AD9257_CLK_CH_IFCO_OFST (5) #define AD9257_CLK_CH_IFCO_MSK (0x00000001 << AD9257_CLK_CH_IFCO_OFST) #define AD9257_POWER_MODE_REG (0x08) #define AD9257_POWER_INTERNAL_OFST (0) #define AD9257_POWER_INTERNAL_MSK (0x00000003 << AD9257_POWER_INTERNAL_OFST) #define AD9257_INT_RESET_VAL (0x3) #define AD9257_INT_CHIP_RUN_VAL (0x0) #define AD9257_POWER_EXTERNAL_OFST (5) #define AD9257_POWER_EXTERNAL_MSK (0x00000001 << AD9257_POWER_EXTERNAL_OFST) #define AD9257_EXT_FULL_POWER_VAL (0x0) #define AD9257_EXT_STANDBY_VAL (0x1) #define AD9257_OUT_MODE_REG (0x14) #define AD9257_OUT_FORMAT_OFST (0) #define AD9257_OUT_FORMAT_MSK (0x00000001 << AD9257_OUT_FORMAT_OFST) #define AD9257_OUT_BINARY_OFST_VAL (0) #define AD9257_OUT_TWOS_COMPL_VAL (1) #define AD9257_OUT_LVDS_OPT_OFST (6) #define AD9257_OUT_LVDS_OPT_MSK (0x00000001 << AD9257_OUT_LVDS_OPT_OFST) #define AD9257_OUT_LVDS_ANSI_VAL (0) #define AD9257_OUT_LVDS_IEEE_VAL (1) #define AD9257_OUT_PHASE_REG (0x16) #define AD9257_OUT_CLK_OFST (0) #define AD9257_OUT_CLK_MSK (0x0000000F << AD9257_OUT_CLK_OFST) #define AD9257_OUT_CLK_60_VAL (0x1) #define AD9257_IN_CLK_OFST (4) #define AD9257_IN_CLK_MSK (0x00000007 << AD9257_IN_CLK_OFST) #define AD9257_IN_CLK_0_VAL (0x0) #define AD9257_VREF_REG (0x18) #define AD9257_VREF_OFST (0) #define AD9257_VREF_MSK (0x00000003 << AD9257_VREF_OFST) #define AD9257_VREF_1_33_VAL (0x2) #define AD9257_TEST_MODE_REG (0x0D) #define AD9257_OUT_TEST_OFST (0) #define AD9257_OUT_TEST_MSK (0x0000000F << AD9257_OUT_TEST_OFST) #define AD9257_NONE_VAL (0x0) #define AD9257_MIXED_BIT_FREQ_VAL (0xC) #define AD9257_TEST_RESET_SHORT_GEN (4) #define AD9257_TEST_RESET_LONG_GEN (5) #define AD9257_USER_IN_MODE_OFST (6) #define AD9257_USER_IN_MODE_MSK (0x00000003 << AD9257_USER_IN_MODE_OFST) #endif