From b4533ac11f98b5cfe58910a291dffa22bb435682 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 20 Aug 2024 14:33:18 +0200 Subject: [PATCH] Dev/xilinx ctb test (#942) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * voltage regulators only looks at dac and not at ctrl_reg * xilinx: change dac max to 2048, setting dac ist not inverse conversion from dac to voltage anymore, but setting power is inverse, also there is max and min to power, a different min for vio and this is checked at funcs interface, not printign or converting to mv in dac for power regulators (as its conversion max and min are different) * Use links for dacs/adc and adapt power rglt thresholds * Remove wait for transceiver reset * adc and dac device not used anymore and hence removed * udp restucturing: arm has to be multiple of 16 and no byteswap in udp_gen, option to compile locally in arm architecture, memsize of the second udp memory has to be limited --------- Co-authored-by: Martin Brückner --- .../bin/ctbDetectorServer_developer | Bin 328616 -> 328616 bytes .../bin/eigerDetectorServer_developer | Bin 444292 -> 444292 bytes .../bin/gotthard2DetectorServer_developer | Bin 291396 -> 291372 bytes .../slsDetectorFunctionList.c | 4 +- .../bin/gotthardDetectorServer_developer | Bin 277356 -> 277356 bytes .../bin/jungfrauDetectorServer_developer | Bin 312608 -> 312608 bytes .../bin/moenchDetectorServer_developer | Bin 295372 -> 295372 bytes .../bin/mythen3DetectorServer_developer | Bin 301100 -> 301076 bytes .../slsDetectorFunctionList.c | 4 +- .../include/LTC2620_Driver.h | 4 +- .../slsDetectorServer/include/programViaArm.h | 4 +- .../include/slsDetectorFunctionList.h | 4 +- .../slsDetectorServer/src/LTC2620_Driver.c | 41 ++-- .../slsDetectorServer/src/arm64.c | 17 +- .../slsDetectorServer/src/programViaArm.c | 17 +- .../src/slsDetectorServer_funcs.c | 184 +++++++++--------- .../xilinx_ctbDetectorServer/Makefile | 4 + .../bin/xilinx_ctbDetectorServer_developer | Bin 304128 -> 304064 bytes .../slsDetectorFunctionList.c | 152 +++++++-------- .../slsDetectorServer_defs.h | 40 ++-- slsSupportLib/include/sls/versionAPI.h | 16 +- 21 files changed, 255 insertions(+), 236 deletions(-) diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index 5db80ec4986291a7f8a1a4e3a8ea9a1678b0dc12..393f0753a20dc70cd6362c0072877db2ea65e162 100755 GIT binary patch delta 54 zcmZ3{F0!IsWP&F1kxs?wjFK!8jV`S&jIAzATV0srgP1Lh47M)|V$PHVvD$@ln70e% IuuPi{0Mw!oVE_OC delta 54 zcmZ3{F0!IsWP&F1qJoU+jFK!8jV`S&jIAzATV0srgP6^YOt&u!V$PHVvD$@ln70e% IuuPi{0M^A2bpQYW diff --git a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer index 37db55a9710b6f9ff6e8c2d9731ca2b3d1961d6c..333c4a93b4d052158d3abf461ae68640d4e52437 100755 GIT binary patch delta 60 zcmZqamu~5oZfId_VQOLC!V=8SY++=uJ&d1aXE=z}E|ks!#H`ze(%HBq87-&FHn2G| Mns1M9U{iGm01>1RN&o-= delta 60 zcmZqamu~5oZfId_VQOLC!V=8SY;I(_J&d1aXE=z}E|ks!#H`ze(%HBq87-#EHn2G| Mnr)A7U{iGm01~4RPyhe` diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer index c825514e926dd21f72fc3b50798c1c7974ef9353..4dd91e5ded2ae16d2a8ea614b57d5177e6e8c0e1 100755 GIT binary patch delta 79333 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
GkQ%H2RZlajP9u0UHRWCR`Uu2ce{GfgZ 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 ClHI}p delta 79122 zcmeFa33wF6+BV$Pnd~7>`NfYuMWA|S$`sEB}|polC9n}BR8vP1s6s;ej64Ft}6JpcQB*Y$B-Pq_Q;>e}n6s;8D& zaUyKniLmK$

`Py5Dw;3LJ&cq5kdp0TW5U$1qw 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 U6ZK&(12}GhFO??Db6~AdQq3#2rQnEG}kEhk9 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 G>Hh<&&%uBI diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c index 855ab1396..f53bbc07d 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c @@ -473,8 +473,8 @@ void setupDetector() { // hv DAC6571_SetDefines(HV_HARD_MAX_VOLTAGE, HV_DRIVER_FILE_NAME); // dacs - LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, 1, - 0, ""); + LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, 0, + ""); // on chip dacs ASIC_Driver_SetDefines(ONCHIP_DAC_DRIVER_FILE_NAME); setTimingSource(DEFAULT_TIMING_SOURCE); diff --git a/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer b/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer index 84b25b03f5589876122e072812f81df6955301a5..fc95ba9f8ac8241d335560ac2de0d49c814a4622 100755 GIT binary patch delta 51 zcmaF!P2kNpfeD(-M>-X!GZryRG`h69Fm82Wx_yz^!pLB|(j}&iq99iLwdYLRuRUj; G77PF)gA~00 delta 51 zcmaF!P2kNpfeD(-iwZKQGZryRG`h69Fm82Wx_yz^+{kph(j}&iq99iLwdYLRuRUj; G77PF+sua=y diff --git a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer index bec071069a8c75f7ca81841e68207ead9469d885..be27b5dd70357ef91f306f35c3321ccc00d64134 100755 GIT binary patch delta 54 zcmZ3`CA^?Zc!DPLkxrHAj?bAT8eLjl7+YPKwz@DsR%5m>GT5%A&Ri-FVzn=FW8S{V Ijis&*007Pr%K!iX delta 54 zcmZ3`CA^?Zc!DPLqJr${j?bAT8eLjl7+YPKwz@DsR%13dGTpAF&Ri-FVzn=FW8S{V Ijis&*00Qw5-v9sr diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index 109df6735b3dda63778d5127f6d53bbbbfc7e5e3..3a7336a308843269204e6defc0a16fceeb55697e 100755 GIT binary patch delta 51 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 delta 83127 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 diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c index d7b1048aa..03d6a2d9e 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c @@ -486,8 +486,8 @@ void setupDetector() { // hv DAC6571_SetDefines(HV_HARD_MAX_VOLTAGE, HV_DRIVER_FILE_NAME); // dac - LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, 1, - 0, ""); + LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, 0, + ""); resetCore(); resetPeripheral(); diff --git a/slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h b/slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h index 4a9cfd72d..f11139ac2 100644 --- a/slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h +++ b/slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h @@ -5,10 +5,12 @@ #include void LTC2620_D_SetDefines(int hardMinV, int hardMaxV, char *driverfname, - int numdacs, int numdevices, int startingDeviceIndex, + int numdacs, int numpowers, char *powerdownDriverfname); int LTC2620_D_GetMaxNumSteps(); int LTC2620_D_GetPowerDownValue(); +int LTC2620_D_GetMinInput(); +int LTC2620_D_GetMaxInput(); /** * Convert voltage to dac units diff --git a/slsDetectorServers/slsDetectorServer/include/programViaArm.h b/slsDetectorServers/slsDetectorServer/include/programViaArm.h index d2434b94d..2adee7178 100644 --- a/slsDetectorServers/slsDetectorServer/include/programViaArm.h +++ b/slsDetectorServers/slsDetectorServer/include/programViaArm.h @@ -5,8 +5,8 @@ #include int resetFPGA(char *mess); -int loadDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex); +int loadDeviceTree(char *mess); int checksBeforeCreatingDeviceTree(char *mess); int createDeviceTree(char *mess); -int verifyDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex); \ No newline at end of file +int verifyDeviceTree(char *mess); \ No newline at end of file diff --git a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h index 4599f2b5a..985c1bdb1 100644 --- a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h +++ b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h @@ -184,7 +184,7 @@ uint32_t readRegister16And32(uint32_t offset); #if defined(XILINX_CHIPTESTBOARDD) void cleanFifos(); void resetFlow(); -int waitTranseiverReset(char *mess); +int waitTransceiverReset(char *mess); #ifdef VIRTUAL void setTransceiverAlignment(int align); #endif @@ -424,6 +424,8 @@ int getPower(); void setPower(enum DACINDEX ind, int val); void powerOff(); #elif XILINX_CHIPTESTBOARDD +int isPowerValid(enum DACINDEX ind, int val); + int getPower(); void setPower(enum DACINDEX ind, int val); #endif diff --git a/slsDetectorServers/slsDetectorServer/src/LTC2620_Driver.c b/slsDetectorServers/slsDetectorServer/src/LTC2620_Driver.c index 3de5a7c36..c92c111f4 100644 --- a/slsDetectorServers/slsDetectorServer/src/LTC2620_Driver.c +++ b/slsDetectorServers/slsDetectorServer/src/LTC2620_Driver.c @@ -9,6 +9,7 @@ /* LTC2620 DAC DEFINES */ #define LTC2620_D_PWR_DOWN_VAL (-100) +#define LTC2620_D_MIN_DAC_VAL (0) #define LTC2620_D_MAX_DAC_VAL (4095) // 12 bits #define LTC2620_D_MAX_STEPS (LTC2620_D_MAX_DAC_VAL + 1) @@ -18,17 +19,15 @@ int LTC2620_D_HardMaxVoltage = 0; char LTC2620_D_DriverFileName[MAX_STR_LENGTH]; char LTC2620_D_PowerDownDriverFileName[MAX_STR_LENGTH]; int LTC2620_D_NumDacs = 0; -int LTC2620_D_NumDevices = 0; -int LTC2620_D_NumChannelsPerDevice = 0; -int LTC2620_D_DacDriverStartingDeviceIndex = 0; +int LTC2620_D_NumDacsOnly = 0; void LTC2620_D_SetDefines(int hardMinV, int hardMaxV, char *driverfname, - int numdacs, int numdevices, int startingDeviceIndex, + int numdacs, int numpowers, char *powerdownDriverfname) { LOG(logINFOBLUE, ("Configuring DACs (LTC2620) to %s\n\t (numdacs:%d, hard min:%d, hard " - "max: %dmV, idev:%d)\n", - driverfname, numdacs, hardMinV, hardMaxV, startingDeviceIndex)); + "max: %dmV)\n", + driverfname, numdacs, hardMinV, hardMaxV)); LTC2620_D_HardMinVoltage = hardMinV; LTC2620_D_HardMaxVoltage = hardMaxV; memset(LTC2620_D_DriverFileName, 0, MAX_STR_LENGTH); @@ -36,15 +35,17 @@ void LTC2620_D_SetDefines(int hardMinV, int hardMaxV, char *driverfname, memset(LTC2620_D_PowerDownDriverFileName, 0, MAX_STR_LENGTH); strcpy(LTC2620_D_PowerDownDriverFileName, powerdownDriverfname); LTC2620_D_NumDacs = numdacs; - LTC2620_D_NumDevices = numdevices; - LTC2620_D_NumChannelsPerDevice = LTC2620_D_NumDacs / LTC2620_D_NumDevices; - LTC2620_D_DacDriverStartingDeviceIndex = startingDeviceIndex; + LTC2620_D_NumDacsOnly = numdacs - numpowers; } int LTC2620_D_GetMaxNumSteps() { return LTC2620_D_MAX_STEPS; } int LTC2620_D_GetPowerDownValue() { return LTC2620_D_PWR_DOWN_VAL; } +int LTC2620_D_GetMinInput() { return LTC2620_D_MIN_DAC_VAL; } + +int LTC2620_D_GetMaxInput() { return LTC2620_D_MAX_DAC_VAL; } + int LTC2620_D_VoltageToDac(int voltage, int *dacval) { return ConvertToDifferentRange(LTC2620_D_HardMinVoltage, LTC2620_D_HardMaxVoltage, 0, @@ -94,7 +95,10 @@ int LTC2620_D_SetDACValue(int dacnum, int val, int mV, char *dacname, int dacmV = val; if (mV) { ret = LTC2620_D_VoltageToDac(val, dacval); - } else if (val >= 0) { + } + + // mV only for print out (dont convert to mV for power regulators) + else if (val >= 0 && dacnum < LTC2620_D_NumDacsOnly) { // do not convert power down dac val ret = LTC2620_D_DacToVoltage(val, &dacmV); } @@ -109,8 +113,16 @@ int LTC2620_D_SetDACValue(int dacnum, int val, int mV, char *dacname, // print and set #ifdef XILINX_CHIPTESTBOARDD if (*dacval >= 0) { - LOG(logINFO, ("Setting DAC %2d [%-6s] : %d dac (%d mV)\n", dacnum, - dacname, *dacval, dacmV)); + // also print mV + if (dacnum < LTC2620_D_NumDacsOnly) { + LOG(logINFO, ("Setting DAC %2d [%-6s] : %d dac (%d mV)\n", + dacnum, dacname, *dacval, dacmV)); + } + // do not print mV for power regulators + else { + LOG(logINFO, ("Setting Power DAC%2d [%-6s] : %d dac \n", dacnum, + dacname, *dacval)); + } } #else if ((*dacval >= 0) || (*dacval == LTC2620_D_PWR_DOWN_VAL)) { @@ -125,10 +137,7 @@ int LTC2620_D_SetDACValue(int dacnum, int val, int mV, char *dacname, char fname[MAX_STR_LENGTH]; memset(fname, 0, MAX_STR_LENGTH); #ifdef XILINX_CHIPTESTBOARDD - int idev = LTC2620_D_DacDriverStartingDeviceIndex + - (dacnum / LTC2620_D_NumChannelsPerDevice); - int idac = dacnum % LTC2620_D_NumChannelsPerDevice; - sprintf(fname, fnameFormat, idev, idac); + sprintf(fname, fnameFormat, dacnum); #else sprintf(fname, "%s%d", fnameFormat, dacnum); #endif diff --git a/slsDetectorServers/slsDetectorServer/src/arm64.c b/slsDetectorServers/slsDetectorServer/src/arm64.c index 2cbc4afda..ae4685911 100644 --- a/slsDetectorServers/slsDetectorServer/src/arm64.c +++ b/slsDetectorServers/slsDetectorServer/src/arm64.c @@ -13,9 +13,9 @@ /* global variables */ #define CSP0 (0xB0080000) #define CSP1 (0xB0050000) // udp -#define MEM_SIZE (0x10000) -//#define MEM_SIZE_CSP0 (4096) -//#define MEM_SIZE_CSP1 (2 * 4096) +#define MEM_SIZE_CSP0 (0x10000) +#define MEM_SIZE_CSP1 (0x2000) // smaller size for udp + u_int32_t *csp0base = 0; u_int32_t *csp1base = 0; @@ -52,6 +52,7 @@ u_int32_t writeRegister(u_int32_t offset, u_int32_t data) { int mapCSP0(void) { u_int32_t csps[2] = {CSP0, CSP1}; u_int32_t **cspbases[2] = {&csp0base, &csp1base}; + u_int32_t memsize[2] = {MEM_SIZE_CSP0, MEM_SIZE_CSP1}; char names[2][10] = {"csp0base", "csp1base"}; for (int i = 0; i < 2; ++i) { @@ -59,10 +60,10 @@ int mapCSP0(void) { if (*cspbases[i] == 0) { LOG(logINFO, ("Mapping memory for %s\n", names[i])); #ifdef VIRTUAL - *cspbases[i] = malloc(MEM_SIZE); + *cspbases[i] = malloc(memsize[i]); if (*cspbases[i] == NULL) { LOG(logERROR, - ("Could not allocate virtual memory for %s.\n", names[i])); + ("Could not allocate virtual memory of size %d for %s.\n", memsize[i], names[i])); return FAIL; } LOG(logINFO, ("memory allocated for %s\n", names[i])); @@ -75,15 +76,15 @@ int mapCSP0(void) { LOG(logDEBUG1, ("/dev/mem opened for %s, (CSP:0x%x)\n", names[i], csps[i])); *cspbases[i] = - (u_int32_t *)mmap(0, MEM_SIZE, PROT_READ | PROT_WRITE, + (u_int32_t *)mmap(0, memsize[i], PROT_READ | PROT_WRITE, MAP_FILE | MAP_SHARED, fd, csps[i]); if (*cspbases[i] == MAP_FAILED) { LOG(logERROR, ("Can't map memmory area for %s\n", names[i])); return FAIL; } #endif - LOG(logINFO, ("%s mapped from %p to %p,(CSP:0x%x) \n", names[i], - *cspbases[i], *cspbases[i] + MEM_SIZE, csps[i])); + LOG(logINFO, ("%s mapped of size %d from %p to %p,(CSP:0x%x) \n", names[i], memsize[i], + *cspbases[i], *cspbases[i] + memsize[i], csps[i])); // LOG(logINFO, ("Status Register: %08x\n", bus_r(STATUS_REG))); } else LOG(logINFO, ("Memory %s already mapped before\n", names[i])); diff --git a/slsDetectorServers/slsDetectorServer/src/programViaArm.c b/slsDetectorServers/slsDetectorServer/src/programViaArm.c index adc05ac8e..61e8c029e 100644 --- a/slsDetectorServers/slsDetectorServer/src/programViaArm.c +++ b/slsDetectorServers/slsDetectorServer/src/programViaArm.c @@ -35,8 +35,8 @@ int resetFPGA(char *mess) { return OK; } -int loadDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { - if (verifyDeviceTree(mess, adcDeviceIndex, dacDeviceIndex) == OK) +int loadDeviceTree(char *mess) { + if (verifyDeviceTree(mess) == OK) return OK; if (checksBeforeCreatingDeviceTree(mess) == FAIL) @@ -45,7 +45,7 @@ int loadDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { if (createDeviceTree(mess) == FAIL) return FAIL; - if (verifyDeviceTree(mess, adcDeviceIndex, dacDeviceIndex) == FAIL) { + if (verifyDeviceTree(mess) == FAIL) { LOG(logERROR, ("Device tree loading failed at verification\n")); return FAIL; } @@ -129,10 +129,8 @@ int createDeviceTree(char *mess) { return OK; } -int verifyDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { +int verifyDeviceTree(char *mess) { LOG(logINFOBLUE, ("Verifying Device Tree...\n")); - *adcDeviceIndex = 1; - *dacDeviceIndex = 2; #ifndef VIRTUAL // check if iio:device0-4 exists in device tree destination @@ -170,8 +168,6 @@ int verifyDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { strstr(retvals, deviceNames[hardcodedDeviceIndex + 1]) != NULL) { ++hardcodedDeviceIndex; - *adcDeviceIndex = 4; - *dacDeviceIndex = 1; } else { snprintf( mess, MAX_STR_LENGTH, @@ -188,9 +184,6 @@ int verifyDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { hardcodedDeviceIndex = 1; } #endif - LOG(logINFOBLUE, ("Device tree verified successfully [temp: 0, adc:%d, " - "dac:%d, %d, %d]\n", - *adcDeviceIndex, *dacDeviceIndex, *dacDeviceIndex + 1, - *dacDeviceIndex + 2)); + LOG(logINFOBLUE, ("Device tree verified successfully\n")); return OK; } \ No newline at end of file diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index 3658ec917..507611403 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -1297,7 +1297,7 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) { ind, getVLimit()); LOG(logERROR, (mess)); } -#ifdef CHIPTESTBOARDD + else if (!isPowerValid(serverDacIndex, val)) { ret = FAIL; sprintf( @@ -1306,10 +1306,14 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) { "should be between %d and %d mV\n", ind, (serverDacIndex == D_PWR_IO ? VIO_MIN_MV : POWER_RGLTR_MIN), +#ifdef CHIPTESTBOARDD (VCHIP_MAX_MV - VCHIP_POWER_INCRMNT)); +#else + POWER_RGLTR_MAX); +#endif LOG(logERROR, (mess)); } -#endif + else { setPower(serverDacIndex, val); } @@ -2022,105 +2026,101 @@ int acquire(int blocking, int file_des) { #if defined(JUNGFRAUD) // chipv1.1 has to be configured before acquisition if (getChipVersion() == 11 && !isChipConfigured()) { - ret = FAIL; - strcpy(mess, - "Could not start acquisition. Chip is not configured. " - "Power it on to configure it.\n"); - LOG(logERROR, (mess)); - } else + ret = FAIL; + strcpy(mess, "Could not start acquisition. Chip is not configured. " + "Power it on to configure it.\n"); + LOG(logERROR, (mess)); + } else #endif #if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD) - if ((getReadoutMode() == ANALOG_AND_DIGITAL || - getReadoutMode() == ANALOG_ONLY) && - (getNumAnalogSamples() <= 0)) { - ret = FAIL; - sprintf(mess, - "Could not start acquisition. Invalid number of analog " - "samples: %d.\n", - getNumAnalogSamples()); - LOG(logERROR, (mess)); - } else if ((getReadoutMode() == ANALOG_AND_DIGITAL || - getReadoutMode() == DIGITAL_ONLY || - getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && - (getNumDigitalSamples() <= 0)) { - ret = FAIL; - sprintf( - mess, + if ((getReadoutMode() == ANALOG_AND_DIGITAL || + getReadoutMode() == ANALOG_ONLY) && + (getNumAnalogSamples() <= 0)) { + ret = FAIL; + sprintf(mess, + "Could not start acquisition. Invalid number of analog " + "samples: %d.\n", + getNumAnalogSamples()); + LOG(logERROR, (mess)); + } else if ((getReadoutMode() == ANALOG_AND_DIGITAL || + getReadoutMode() == DIGITAL_ONLY || + getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && + (getNumDigitalSamples() <= 0)) { + ret = FAIL; + sprintf(mess, "Could not start acquisition. Invalid number of digital " "samples: %d.\n", getNumDigitalSamples()); - LOG(logERROR, (mess)); - } else if ((getReadoutMode() == TRANSCEIVER_ONLY || - getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && - (getNumTransceiverSamples() <= 0)) { - ret = FAIL; - sprintf(mess, - "Could not start acquisition. Invalid number of " - "transceiver " - "samples: %d.\n", - getNumTransceiverSamples()); - LOG(logERROR, (mess)); - } else + LOG(logERROR, (mess)); + } else if ((getReadoutMode() == TRANSCEIVER_ONLY || + getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && + (getNumTransceiverSamples() <= 0)) { + ret = FAIL; + sprintf(mess, + "Could not start acquisition. Invalid number of " + "transceiver " + "samples: %d.\n", + getNumTransceiverSamples()); + LOG(logERROR, (mess)); + } else #endif #ifdef EIGERD - // check for hardware mac and hardware ip - if (udpDetails[0].srcmac != getDetectorMAC()) { - ret = FAIL; - uint64_t sourcemac = getDetectorMAC(); - char src_mac[MAC_ADDRESS_SIZE]; - getMacAddressinString(src_mac, MAC_ADDRESS_SIZE, sourcemac); - sprintf(mess, - "Invalid udp source mac address for this detector. " - "Must be " - "same as hardware detector mac address %s\n", - src_mac); - LOG(logERROR, (mess)); - } else if (!enableTenGigabitEthernet(GET_FLAG) && - (udpDetails[0].srcip != getDetectorIP())) { - ret = FAIL; - uint32_t sourceip = getDetectorIP(); - char src_ip[INET_ADDRSTRLEN]; - getIpAddressinString(src_ip, sourceip); - sprintf( - mess, - "Invalid udp source ip address for this detector. Must " - "be " - "same as hardware detector ip address %s in 1G readout " - "mode \n", - src_ip); - LOG(logERROR, (mess)); - } else + // check for hardware mac and hardware ip + if (udpDetails[0].srcmac != getDetectorMAC()) { + ret = FAIL; + uint64_t sourcemac = getDetectorMAC(); + char src_mac[MAC_ADDRESS_SIZE]; + getMacAddressinString(src_mac, MAC_ADDRESS_SIZE, sourcemac); + sprintf(mess, + "Invalid udp source mac address for this detector. " + "Must be " + "same as hardware detector mac address %s\n", + src_mac); + LOG(logERROR, (mess)); + } else if (!enableTenGigabitEthernet(GET_FLAG) && + (udpDetails[0].srcip != getDetectorIP())) { + ret = FAIL; + uint32_t sourceip = getDetectorIP(); + char src_ip[INET_ADDRSTRLEN]; + getIpAddressinString(src_ip, sourceip); + sprintf(mess, + "Invalid udp source ip address for this detector. Must " + "be " + "same as hardware detector ip address %s in 1G readout " + "mode \n", + src_ip); + LOG(logERROR, (mess)); + } else #endif - if (configured == FAIL) { - ret = FAIL; - strcpy(mess, "Could not start acquisition because "); - strcat(mess, configureMessage); - LOG(logERROR, (mess)); - } else if (sharedMemory_getScanStatus() == RUNNING) { - ret = FAIL; - strcpy(mess, - "Could not start acquisition because a scan is " - "already running!\n"); - LOG(logERROR, (mess)); - } else { - memset(scanErrMessage, 0, MAX_STR_LENGTH); - sharedMemory_setScanStop(0); - sharedMemory_setScanStatus(IDLE); // if it was error - if (pthread_create(&pthread_tid, NULL, &start_state_machine, - &blocking)) { - ret = FAIL; - strcpy(mess, "Could not start acquisition thread!\n"); - LOG(logERROR, (mess)); - } else { - // wait for blocking always (scan or not) - // non blocking-no scan also wait (for error message) - // non blcoking-scan dont wait (there is - // scanErrorMessage) - if (blocking || !scan) { - pthread_join(pthread_tid, NULL); - } - } + if (configured == FAIL) { + ret = FAIL; + strcpy(mess, "Could not start acquisition because "); + strcat(mess, configureMessage); + LOG(logERROR, (mess)); + } else if (sharedMemory_getScanStatus() == RUNNING) { + ret = FAIL; + strcpy(mess, "Could not start acquisition because a scan is " + "already running!\n"); + LOG(logERROR, (mess)); + } else { + memset(scanErrMessage, 0, MAX_STR_LENGTH); + sharedMemory_setScanStop(0); + sharedMemory_setScanStatus(IDLE); // if it was error + if (pthread_create(&pthread_tid, NULL, &start_state_machine, + &blocking)) { + ret = FAIL; + strcpy(mess, "Could not start acquisition thread!\n"); + LOG(logERROR, (mess)); + } else { + // wait for blocking always (scan or not) + // non blocking-no scan also wait (for error message) + // non blcoking-scan dont wait (there is + // scanErrorMessage) + if (blocking || !scan) { + pthread_join(pthread_tid, NULL); } + } + } } return Server_SendResult(file_des, INT32, NULL, 0); } diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/Makefile b/slsDetectorServers/xilinx_ctbDetectorServer/Makefile index e8589a5c7..06a4d986d 100755 --- a/slsDetectorServers/xilinx_ctbDetectorServer/Makefile +++ b/slsDetectorServers/xilinx_ctbDetectorServer/Makefile @@ -23,6 +23,10 @@ SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(m OBJS = $(SRCS:.c=.o) all: clean $(PROGS) + +local: CC := gcc +local: clean $(PROGS) + version: clean versioning $(PROGS) boot: $(OBJS) diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/bin/xilinx_ctbDetectorServer_developer b/slsDetectorServers/xilinx_ctbDetectorServer/bin/xilinx_ctbDetectorServer_developer index 269579caf12ba88ae61fb657f8dbcfd7a5fad622..1428e465cc6d8ef18c022073e913f53f845f2047 100755 GIT binary patch delta 87945 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 b!Upfu!3{TfZFlqrbLCG@P4KY|-qZdM^)|u~ diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c index 5317df841..aa3d3bf17 100644 --- a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c @@ -39,8 +39,6 @@ char initErrorMessage[MAX_STR_LENGTH]; int detPos[2] = {0, 0}; -int adcDeviceIndex = 0; -int dacDeviceIndex = 0; int chipConfigured = 0; int analogEnable = 0; int digitalEnable = 0; @@ -75,8 +73,7 @@ void basictests() { return; } - initError = - loadDeviceTree(initErrorMessage, &adcDeviceIndex, &dacDeviceIndex); + initError = loadDeviceTree(initErrorMessage); if (initError == FAIL) { return; } @@ -390,19 +387,18 @@ void setupDetector() { initializePatternWord(); #endif // initialization only at start up (restart fpga) - initError = waitTranseiverReset(initErrorMessage); - if (initError == FAIL) { - return; - } - // power off chip + // initError = waitTransceiverReset(initErrorMessage); + // if (initError == FAIL) { + // return; + // } + // // power off chip initError = powerChip(0, initErrorMessage); - if (initError == FAIL) { - return; - } + // if (initError == FAIL) { + // return; + // } - LTC2620_D_SetDefines(DAC_MAX_MV, DAC_MIN_MV, DAC_DRIVER_FILE_NAME, NDAC, - DAC_DRIVER_NUM_DEVICES, dacDeviceIndex, - DAC_POWERDOWN_DRIVER_FILE_NAME); + LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, + NPWR, DAC_POWERDOWN_DRIVER_FILE_NAME); LOG(logINFOBLUE, ("Powering down all dacs\n")); for (int idac = 0; idac < NDAC; ++idac) { setDAC(idac, LTC2620_D_GetPowerDownValue(), 0); @@ -458,7 +454,7 @@ void resetFlow() { bus_w(FLOW_CONTROL_REG, bus_r(FLOW_CONTROL_REG) & ~RST_F_MSK); } -int waitTranseiverReset(char *mess) { +int waitTransceiverReset(char *mess) { #ifndef VIRTUAL int resetTransceiverDone = (bus_r(TRANSCEIVERSTATUS) & RESETRXDONE_MSK); int times = 0; @@ -556,7 +552,7 @@ int powerChip(int on, char *mess) { POWER_VCC_C_MSK | POWER_VCC_D_MSK; if (on) { LOG(logINFOBLUE, ("Powering chip: on\n")); - bus_w(addr, bus_r(addr) & ~mask); + bus_w(addr, bus_r(addr) | mask); if (configureChip(mess) == FAIL) return FAIL; @@ -566,7 +562,7 @@ int powerChip(int on, char *mess) { chipConfigured = 1; } else { LOG(logINFOBLUE, ("Powering chip: off\n")); - bus_w(addr, bus_r(addr) | mask); + bus_w(addr, bus_r(addr) & ~mask); chipConfigured = 0; @@ -588,7 +584,7 @@ int getPowerChip() { uint32_t addr = CTRL_REG; uint32_t mask = POWER_VIO_MSK | POWER_VCC_A_MSK | POWER_VCC_B_MSK | POWER_VCC_C_MSK | POWER_VCC_D_MSK; - return (((bus_r(addr) & mask) == mask) ? 0 : 1); + return (((bus_r(addr) & mask) == mask) ? 1 : 0); } int configureChip(char *mess) { @@ -981,21 +977,8 @@ void setDAC(enum DACINDEX ind, int val, int mV) { LOG(logDEBUG1, ("Setting dac[%d - %s]: %d %s \n", (int)ind, dacName, val, (mV ? "mV" : "dac units"))); int dacval = val; - -#ifdef VIRTUAL - LOG(logINFO, ("Setting dac[%d - %s]: %d %s \n", (int)ind, dacName, val, - (mV ? "mV" : "dac units"))); - if (!mV) { - dacValues[ind] = val; - } - // convert to dac units - else if (LTC2620_D_VoltageToDac(val, &dacval) == OK) { - dacValues[ind] = dacval; - } -#else if (LTC2620_D_SetDACValue((int)ind, val, mV, dacName, &dacval) == OK) dacValues[ind] = dacval; -#endif } int getDAC(enum DACINDEX ind, int mV) { @@ -1045,74 +1028,91 @@ void setVLimit(int l) { vLimit = l; } -int getPower(enum DACINDEX ind) { - // check power enable first - uint32_t addr = CTRL_REG; - uint32_t offset = POWER_VCC_A_OFST + (int)(D_PWR_A - ind); - if (ind == D_PWR_IO) - offset = POWER_VIO_OFST; - uint32_t mask = (1 << offset); - if ((bus_r(addr) & mask) != 0) { - LOG(logINFO, ("Power for dac %d is off\n", ind)); +int isPowerValid(enum DACINDEX ind, int val) { + char *powerNames[] = {PWR_NAMES}; + int pwrIndex = (int)(ind - D_PWR_D); + + int min = POWER_RGLTR_MIN; + if (!strcmp(powerNames[pwrIndex], "IO")) { + min = VIO_MIN_MV; + } + + // not power_rgltr_max because it is allowed only upto vchip max - 200 + if (val != 0 && (val != LTC2620_D_GetPowerDownValue()) && + (val < min || val > POWER_RGLTR_MAX)) { + LOG(logERROR, + ("Invalid value of %d mV for Power V%s. Is not between %d and " + "%d mV\n", + val, powerNames[pwrIndex], min, POWER_RGLTR_MAX)); return 0; } + return 1; +} + +int getPower(enum DACINDEX ind) { + char *powerNames[] = {PWR_NAMES}; + int pwrIndex = (int)(ind - D_PWR_D); // check dac value // not set yet if (dacValues[ind] == -1) { LOG(logERROR, - ("Power enabled, but unknown dac value for power index %d!", ind)); + ("Unknown dac value for Power V%s!\n", powerNames[pwrIndex])); return -1; } // dac powered off if (dacValues[ind] == LTC2620_D_GetPowerDownValue()) { - LOG(logWARNING, - ("Power %d enabled, dac value %d, voltage at minimum or 0\n", ind, - LTC2620_D_GetPowerDownValue())); + LOG(logWARNING, ("Power V%s powered down\n", powerNames[pwrIndex])); return LTC2620_D_GetPowerDownValue(); } // get dac in mV - // (unless its a different voltage range compared to other dacs) - return getDAC(ind, 1); + int retval = -1; + ConvertToDifferentRange(LTC2620_D_GetMaxInput(), LTC2620_D_GetMinInput(), + POWER_RGLTR_MIN, POWER_RGLTR_MAX, dacValues[ind], + &retval); + + return retval; } void setPower(enum DACINDEX ind, int val) { + char *powerNames[] = {PWR_NAMES}; + int pwrIndex = (int)(ind - D_PWR_D); - uint32_t addr = CTRL_REG; - uint32_t offset = POWER_VCC_A_OFST + (int)(D_PWR_A - ind); - if (ind == D_PWR_IO) - offset = POWER_VIO_OFST; - uint32_t mask = (1 << offset); - - if (val >= 0 || val == LTC2620_D_GetPowerDownValue()) { - if (val > 0) { - LOG(logINFO, ("Setting Power to %d mV\n", val)); - } - - // switch off power enable - LOG(logINFO, ("\tSwitching off enable for P%d (ctrl reg)\n", - (int)(ind - D_PWR_A))); - bus_w(addr, bus_r(addr) | mask); - - // power down dac - LOG(logINFO, ("\tPowering down P%d\n", (int)(ind - D_PWR_A))); + // power down dac + if (val == LTC2620_D_GetPowerDownValue()) { + LOG(logINFO, ("\tPowering down V%d\n", powerNames[pwrIndex])); setDAC(ind, LTC2620_D_GetPowerDownValue(), 0); + } - // set dac in mV - if (val > 0) { - LOG(logINFO, ("\tSetting Power P%d (DAC %d) to %d mV\n", - (int)(ind - D_PWR_A), (int)ind, val)); - setDAC(ind, val, 1); + // set dac + else if (val >= 0) { + LOG(logINFO, + ("Setting Power V%s to %d mV\n", powerNames[pwrIndex], val)); + + // validate value (already checked at tcp (funcs.c)) + if (!isPowerValid(ind, val)) { + return; } - // switch on power enable - if (getDAC(ind, 1) == val || val == LTC2620_D_GetPowerDownValue()) { - LOG(logINFO, ("\tSwitching on enable for P%d (ctrl reg)\n", - (int)(ind - D_PWR_A))); - bus_w(addr, bus_r(addr) & ~mask); + // convert voltage to dac + int dacval = -1; + if (ConvertToDifferentRange( + POWER_RGLTR_MIN, POWER_RGLTR_MAX, LTC2620_D_GetMaxInput(), + LTC2620_D_GetMinInput(), val, &dacval) == FAIL) { + LOG(logERROR, + ("\tCannot convert Power V%s to dac value. Invalid value of %d " + "mV. Is not between " + "%d and %d mV\n", + powerNames[pwrIndex], val, POWER_RGLTR_MIN, POWER_RGLTR_MAX)); + return; } + + // set and power on/ update dac + LOG(logINFO, ("Setting Power V%s: %d mV (%d dac)\n", + powerNames[pwrIndex], val, dacval)); + setDAC(ind, dacval, 0); } } @@ -1147,7 +1147,7 @@ int getSlowADC(int ichan, int *retval) { #ifndef VIRTUAL char fname[MAX_STR_LENGTH]; memset(fname, 0, MAX_STR_LENGTH); - sprintf(fname, SLOWADC_DRIVER_FILE_NAME, adcDeviceIndex, ichan); + sprintf(fname, SLOWADC_DRIVER_FILE_NAME, ichan); LOG(logDEBUG1, ("fname %s\n", fname)); if (readParameterFromFile(fname, "slow adc", retval) == FAIL) { diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h index 288275dbd..58926287c 100644 --- a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h @@ -25,15 +25,13 @@ #define DYNAMIC_RANGE (16) #define NUM_BYTES_PER_PIXEL (DYNAMIC_RANGE / 8) -#define DAC_DRIVER_NUM_DEVICES (3) -#define DAC_DRIVER_FILE_NAME \ - ("/sys/bus/iio/devices/iio:device%d/out_voltage%d_raw") +#define DAC_DRIVER_FILE_NAME ("/root/apps/xilinx-ctb/current_board_links/ao%d") #define DAC_POWERDOWN_DRIVER_FILE_NAME \ - ("/sys/bus/iio/devices/iio:device%d/out_voltage%d_powerdown") + ("/root/apps/xilinx-ctb/current_board_links/ao%d_pd") #define SLOWADC_DRIVER_FILE_NAME \ - ("/sys/bus/iio/devices/iio:device%d/in_voltage%d_raw") -//#define SLOWDAC_CONVERTION_FACTOR_TO_UV (62.500953) + ("/root/apps/xilinx-ctb/mythenIII_0.2_1.1/links/ai%d") +// #define SLOWDAC_CONVERTION_FACTOR_TO_UV (62.500953) #define TEMP_DRIVER_FILE_NAME \ ("/sys/bus/iio/devices/iio:device0/in_temp7_input") @@ -60,8 +58,11 @@ #define MAX_ANALOG_SAMPLES (0x3FFF) #define MAX_DIGITAL_SAMPLES (0x3FFF) -#define DAC_MIN_MV (0) -#define DAC_MAX_MV (2500) +#define DAC_MIN_MV (0) +#define DAC_MAX_MV (2048) +#define POWER_RGLTR_MIN (1041) +#define POWER_RGLTR_MAX (2661) +#define VIO_MIN_MV (1200) // for fpga to function #define TICK_CLK (20) // MHz (trig_timeFromStart, frametime, timeFromStart) #define RUN_CLK \ @@ -117,28 +118,35 @@ enum DACINDEX { D_PWR_C }; +#define PWR_NAMES "D", "_unknown", "IO", "A", "B", "C" + /* Struct Definitions */ +// For arm has to be multiple of 16 +// We dont byteswap in the upd_gen so the order has to be different typedef struct udp_header_struct { - uint32_t udp_destmac_msb; uint16_t udp_srcmac_msb; uint16_t udp_destmac_lsb; - uint32_t udp_srcmac_lsb; + uint32_t udp_destmac_msb; uint8_t ip_tos; uint8_t ip_ihl : 4, ip_ver : 4; uint16_t udp_ethertype; - uint16_t ip_identification; - uint16_t ip_totallength; + uint32_t udp_srcmac_lsb; uint8_t ip_protocol; uint8_t ip_ttl; uint16_t ip_fragmentoffset : 13, ip_flags : 3; - uint16_t ip_srcip_msb; - uint16_t ip_checksum; + uint16_t ip_identification; + uint16_t ip_totallength; uint16_t ip_destip_msb; uint16_t ip_srcip_lsb; - uint16_t udp_srcport; - uint16_t ip_destip_lsb; + uint16_t ip_srcip_msb; + uint16_t ip_checksum; uint16_t udp_checksum; uint16_t udp_destport; + uint16_t udp_srcport; + uint16_t ip_destip_lsb; + // padding + uint32_t padding0; + uint32_t padding1; } udp_header; #define IP_HEADER_SIZE (20) diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 2ac36362e..fdc80a2d7 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -4,11 +4,11 @@ #define RELEASE "developer" #define APILIB "developer 0x230224" #define APIRECEIVER "developer 0x230224" -#define APICTB "developer 0x240725" -#define APIGOTTHARD "developer 0x240725" -#define APIJUNGFRAU "developer 0x240725" -#define APIMYTHEN3 "developer 0x240725" -#define APIMOENCH "developer 0x240725" -#define APIXILINXCTB "developer 0x240725" -#define APIEIGER "developer 0x240725" -#define APIGOTTHARD2 "developer 0x240731" +#define APICTB "developer 0x240820" +#define APIGOTTHARD "developer 0x240820" +#define APIGOTTHARD2 "developer 0x240820" +#define APIJUNGFRAU "developer 0x240820" +#define APIMYTHEN3 "developer 0x240820" +#define APIMOENCH "developer 0x240820" +#define APIEIGER "developer 0x240820" +#define APIXILINXCTB "developer 0x240820"