From f192164e32492fddbc927d7f5aabcfee17805374 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 16 Nov 2017 12:27:58 +0100 Subject: [PATCH] fixed setdac bug that comes rarely, moved serialize spi to 32bit --- ...0.6.2 => jungfrauDetectorServerv3.0.0.6.3} | Bin 105300 -> 105236 bytes .../slsDetectorServer/commonServerFunctions.h | 26 +++++++++--------- .../slsDetectorFunctionList.h | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) rename slsDetectorSoftware/jungfrauDetectorServer/bin/{jungfrauDetectorServerv3.0.0.6.2 => jungfrauDetectorServerv3.0.0.6.3} (52%) diff --git a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.6.2 b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.6.3 similarity index 52% rename from slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.6.2 rename to slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.6.3 index 1c2630d2b301fc1736f073374beb05514c393b9b..c8fbf44aa451aed016e01ea43ab625e24b83e4b7 100755 GIT binary patch delta 28433 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 m~g3(I?3{yIf`BlZ%<0FXTezoGWBq*O06^8#*Am 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 diff --git a/slsDetectorSoftware/slsDetectorServer/commonServerFunctions.h b/slsDetectorSoftware/slsDetectorServer/commonServerFunctions.h index e201bef17..4122fb7cf 100755 --- a/slsDetectorSoftware/slsDetectorServer/commonServerFunctions.h +++ b/slsDetectorSoftware/slsDetectorServer/commonServerFunctions.h @@ -6,7 +6,7 @@ #endif /* global variables */ -void serializeToSPI(u_int32_t addr, u_int32_t val, u_int16_t csmask, int numbitstosend, u_int16_t clkmask, u_int16_t digoutmask, int digofset) { +void serializeToSPI(u_int32_t addr, u_int32_t val, u_int32_t csmask, int numbitstosend, u_int32_t clkmask, u_int32_t digoutmask, int digofset) { #ifdef VERBOSE if (numbitstosend == 16) printf("Writing to SPI Register: 0x%04x\n",val); @@ -14,15 +14,15 @@ void serializeToSPI(u_int32_t addr, u_int32_t val, u_int16_t csmask, int numbits printf("Writing to SPI Register: 0x%08x\n", val); #endif - u_int16_t valw; + u_int32_t valw; // start point - valw = 0xffff; /**todo testwith old board 0xff for adc_spi */ // old board compatibility (not using specific bits) - bus_w16 (addr, valw); + valw = 0xffffffff; // old board compatibility (not using specific bits) + bus_w (addr, valw); // chip sel bar down - valw &= ~csmask; /* todo with test: done a bit different, not with previous value */ - bus_w16 (addr, valw); + valw &= ~csmask; /* todo with test: done a bit different, not with previous value */ + bus_w (addr, valw); { int i = 0; @@ -30,30 +30,30 @@ void serializeToSPI(u_int32_t addr, u_int32_t val, u_int16_t csmask, int numbits // clk down valw &= ~clkmask; - bus_w16 (addr, valw); + bus_w (addr, valw); // write data (i) valw = ((valw & ~digoutmask) + // unset bit (((val >> (numbitstosend - 1 - i)) & 0x1) << digofset)); // each bit from val starting from msb - bus_w16 (addr, valw); + bus_w (addr, valw); // clk up valw |= clkmask ; - bus_w16 (addr, valw); + bus_w (addr, valw); } } // chip sel bar up valw |= csmask; /* todo with test: not done for spi */ - bus_w16 (addr, valw); + bus_w (addr, valw); //clk down valw &= ~clkmask; - bus_w16 (addr, valw); + bus_w (addr, valw); // stop point = start point of course - valw = 0xffff; /**todo testwith old board 0xff for adc_spi */ // old board compatibility (not using specific bits) - bus_w16 (addr, valw); + valw = 0xffffffff; // old board compatibility (not using specific bits) + bus_w (addr, valw); } diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h b/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h index 145af32fa..04f769c5d 100644 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorFunctionList.h @@ -124,7 +124,7 @@ int setThresholdEnergy(int ev, int imod); // parameters - dac, adc, hv #ifdef JUNGFRAUD -void serializeToSPI(u_int32_t addr, u_int32_t val, u_int16_t csmask, int numbitstosend, u_int16_t clkmask, u_int16_t digoutmask, int digofset); +void serializeToSPI(u_int32_t addr, u_int32_t val, u_int32_t csmask, int numbitstosend, u_int32_t clkmask, u_int32_t digoutmask, int digofset); void initDac(int dacnum); extern void setAdc(int addr, int val); // AD9257.h int voltageToDac(int value);