changes to jungfrau server

This commit is contained in:
2019-03-22 11:27:15 +01:00
parent 6cb043b2d9
commit 5bf37a4f0d
7 changed files with 67 additions and 22 deletions

View File

@ -250,7 +250,7 @@
#define PLL_CNTRL_ADDR_OFST (16)
#define PLL_CNTRL_ADDR_MSK (0x0000003F << PLL_CNTRL_ADDR_OFST)
/* Sample Register (Obsolete) */
/* Sample Register (Obsolete) FIXME: what is it now? */
#define SAMPLE_REG (0x59 << MEM_MAP_SHIFT)
#define SAMPLE_ADC_SAMPLE_SEL_OFST (0)
@ -417,10 +417,25 @@
/* FIXME UNKNOWN 0 */
#define UNKNOWN_0_REG (0xF0 << MEM_MAP_SHIFT)
#define UNKNOWN_0_UNKNOWN_OFST (31)
#define UNKNOWN_0_UNKNOWN_MSK (0x00000001 << UNKNOWN_0_UNKNOWN_OFST)
/* FIXME UNKNOWN 1 */
#define UNKNOWN_1_REG (0xF1 << MEM_MAP_SHIFT)
#define UNKNOWN_1_UNKNOWN_OFST (31)
#define UNKNOWN_1_UNKNOWN_MSK (0x00000001 << UNKNOWN_1_UNKNOWN_OFST)
/* FIXME UNKNOWN 2 */
#define UNKNOWN_2_REG (0xF2 << MEM_MAP_SHIFT)
#define UNKNOWN_2_UNKNOWN_OFST (31)
#define UNKNOWN_2_UNKNOWN_MSK (0x00000001 << UNKNOWN_2_UNKNOWN_OFST)
/* FIXME UNKNOWN 3 */
#define UNKNOWN_3_REG (0xF3 << MEM_MAP_SHIFT)
#define UNKNOWN_3_UNKNOWN_OFST (31)
#define UNKNOWN_3_UNKNOWN_MSK (0x00000001 << UNKNOWN_3_UNKNOWN_OFST)

View File

@ -1,9 +1,9 @@
Path: slsDetectorPackage/slsDetectorServers/jungfrauDetectorServer
URL: origin https://www.github.com/slsdetectorgroup/slsDetectorPackage
Repository Root: origin https://www.github.com/slsdetectorgroup/slsDetectorPackage
Repsitory UUID: 6765fd0dc89176b4eceaf5e2304ef808a316ba9b
Revision: 26
Branch: refactor
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: 6cb043b2d999f9a15edb3a554ad91fbcded10f72
Revision: 28
Branch: jungfrau
Last Changed Author: Dhanya_Thattil
Last Changed Rev: 4394
Last Changed Date: 2019-03-13 08:04:56.000000002 +0100 ./RegisterDefs.h
Last Changed Rev: 4471
Last Changed Date: 2019-03-22 11:20:39.000000002 +0100 ./slsDetectorFunctionList.c

View File

@ -1,6 +1,6 @@
#define GITURL "https://www.github.com/slsdetectorgroup/slsDetectorPackage"
#define GITREPUUID "6765fd0dc89176b4eceaf5e2304ef808a316ba9b"
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "6cb043b2d999f9a15edb3a554ad91fbcded10f72"
#define GITAUTH "Dhanya_Thattil"
#define GITREV 0x4394
#define GITDATE 0x20190313
#define GITBRANCH "refactor"
#define GITREV 0x4471
#define GITDATE 0x20190322
#define GITBRANCH "jungfrau"

View File

@ -424,6 +424,9 @@ void setupDetector() {
cleanFifos();
resetCore();
setUnknowns();
configureASICTimer();
bus_w(ADC_PORT_INVERT_REG, ADC_PORT_INVERT_VAL);
@ -486,6 +489,9 @@ void resetCore() {
FILE_LOG(logINFO, ("Resetting Core\n"));
bus_w(CONTROL_REG, bus_r(CONTROL_REG) | CONTROL_CORE_RST_MSK);
bus_w(CONTROL_REG, bus_r(CONTROL_REG) & ~CONTROL_CORE_RST_MSK);
//FIXME: usleep required??
usleep(1000 * 1000);
}
void resetPeripheral() {
@ -1080,7 +1086,10 @@ int configureMAC(uint32_t destip, uint64_t destmac, uint64_t sourcemac, uint32_t
cleanFifos();
resetCore();
usleep(500 * 1000); /* todo maybe without */
//FIXME: usleep(500 * 1000); /* todo maybe without */
usleep(1000 * 1000);
setUnknowns();
return OK;
}
@ -1333,6 +1342,21 @@ int setTemperatureEvent(int val) {
return ((bus_r(TEMP_CTRL_REG) & TEMP_CTRL_OVR_TMP_EVNT_MSK) >> TEMP_CTRL_OVR_TMP_EVNT_OFST);
}
void setUnknowns() {
// set unknowns
bus_w(UNKNOWN_0_REG, bus_r(UNKNOWN_0_REG) | UNKNOWN_0_UNKNOWN_MSK);
bus_w(UNKNOWN_1_REG, bus_r(UNKNOWN_1_REG) | UNKNOWN_1_UNKNOWN_MSK);
bus_w(UNKNOWN_2_REG, bus_r(UNKNOWN_2_REG) | UNKNOWN_2_UNKNOWN_MSK);
bus_w(UNKNOWN_3_REG, bus_r(UNKNOWN_3_REG) | UNKNOWN_3_UNKNOWN_MSK);
usleep(1 * 1000 * 1000);
// reset unknowns
bus_w(UNKNOWN_0_REG, bus_r(UNKNOWN_0_REG) & (~(UNKNOWN_0_UNKNOWN_MSK)));
bus_w(UNKNOWN_1_REG, bus_r(UNKNOWN_1_REG) & (~(UNKNOWN_1_UNKNOWN_MSK)));
bus_w(UNKNOWN_2_REG, bus_r(UNKNOWN_2_REG) & (~(UNKNOWN_2_UNKNOWN_MSK)));
bus_w(UNKNOWN_3_REG, bus_r(UNKNOWN_3_REG) & (~(UNKNOWN_3_UNKNOWN_MSK)));
}
int setNetworkParameter(enum NETWORKINDEX mode, int value) {

View File

@ -81,13 +81,13 @@ enum NETWORKINDEX { TXN_FRAME };
#define SAMPLE_ADC_HALF_SPEED (SAMPLE_DECMT_FACTOR_2_VAL + SAMPLE_DGTL_SAMPLE_0_VAL + SAMPLE_ADC_DECMT_FACTOR_0_VAL + SAMPLE_ADC_SAMPLE_0_VAL) /* 0x1000 */
#define SAMPLE_ADC_QUARTER_SPEED (SAMPLE_DECMT_FACTOR_4_VAL + SAMPLE_DGTL_SAMPLE_8_VAL + SAMPLE_ADC_DECMT_FACTOR_1_VAL + SAMPLE_ADC_SAMPLE_0_VAL) /* 0x2810 */
#define CONFIG_HALF_SPEED (CONFIG_TDMA_DISABLE_VAL + CONFIG_HALF_SPEED_20MHZ_VAL + CONFIG_OPRTN_MDE_1_X_10GBE_VAL)
#define CONFIG_HALF_SPEED (CONFIG_TDMA_DISABLE_VAL + CONFIG_HALF_SPEED_20MHZ_VAL + CONFIG_OPRTN_MDE_1_X_10GBE_VAL) /**0x100000 */
#define CONFIG_QUARTER_SPEED (CONFIG_TDMA_DISABLE_VAL + CONFIG_QUARTER_SPEED_10MHZ_VAL + CONFIG_OPRTN_MDE_1_X_10GBE_VAL)
#define ADC_OFST_HALF_SPEED_VAL (0x1f) //(0x20)
#define ADC_OFST_HALF_SPEED_VAL (0x20)//(0x1f) //(0x20)
#define ADC_OFST_QUARTER_SPEED_VAL (0x0f) //(0x0f)
#define ADC_PHASE_HALF_SPEED (0x2D) //45
#define ADC_PHASE_HALF_SPEED (0x28)//(0x2D) //45
#define ADC_PHASE_QUARTER_SPEED (0x2D) //45
#define ADC_PORT_INVERT_VAL (0x453b2a9c)
#define ADC_PORT_INVERT_VAL (0x5A5A5A5A)//(0x453b2a9c)
#define MAX_PHASE_SHIFTS (160)
/* MSB & LSB DEFINES */

View File

@ -205,8 +205,13 @@ void AD9257_Configure(){
AD9257_Set(AD9257_OUT_MODE_REG, AD9257_OUT_BINARY_OFST_VAL);
//output clock phase
//if defined(GOTTHARDD) || defined(JUNGFRAUD)
#ifdef GOTTHARDD
FILE_LOG(logINFO, ("\tOutput clock phase is at default: 180\n"));
#elif JUNGFRAUD
// This is not required (by default it is 180) (like gotthard)
FILE_LOG(logINFO, ("\tOutput clock phase: 180\n"));
AD9257_Set(AD9257_OUT_PHASE_REG, AD9257_OUT_CLK_180_VAL);
#else
FILE_LOG(logINFO, ("\tOutput clock phase: 60\n"));
AD9257_Set(AD9257_OUT_PHASE_REG, AD9257_OUT_CLK_60_VAL);

View File

@ -280,6 +280,7 @@ extern void eraseFlash(); // programfpga.h
extern int startWritingFPGAprogram(FILE** filefp); // programfpga.h
extern void stopWritingFPGAprogram(FILE* filefp); // programfpga.h
extern int writeFPGAProgram(char* fpgasrc, size_t fsize, FILE* filefp); // programfpga.h
void setUnknowns();
// eiger specific - iodelay, pulse, rate, temp, activate, delay nw parameter
#elif EIGERD