diff --git a/slsDetectorServers/mythen3DetectorServer/mythen3.c b/slsDetectorServers/mythen3DetectorServer/mythen3.c index fba996ad7..bb38bcbac 100644 --- a/slsDetectorServers/mythen3DetectorServer/mythen3.c +++ b/slsDetectorServers/mythen3DetectorServer/mythen3.c @@ -110,6 +110,190 @@ patternParameters *setChipStatusRegister(int csr) { } +patternParameters *setInterpolation(int mask) { + int csr; + if (mask) + csr=chipStatusRegister|(1<< CSR_interp); + else + csr=chipStatusRegister & ~(1<< CSR_interp); + + return setChipStatusRegister(csr); +} + + + +patternParameters *setPumpProbe(int mask) { + int csr; + if (mask) + csr=chipStatusRegister|(1<< CSR_pumprobe); + else + csr=chipStatusRegister & ~(1<< CSR_pumprobe); + + return setChipStatusRegister(csr); + +} +patternParameters *setDigitalPulsing(int mask) { + + int csr; + if (mask) + csr=chipStatusRegister|(1<< CSR_dpulse); + else + csr=chipStatusRegister & ~(1<< CSR_dpulse); + + return setChipStatusRegister(csr); + +} +patternParameters *setAnalogPulsing(int mask){ + + int csr; + if (mask) + csr=chipStatusRegister|(1<< CSR_apulse); + else + csr=chipStatusRegister & ~(1<< CSR_apulse); + + return setChipStatusRegister(csr); + +} +patternParameters *setNegativePolarity(int mask){ + + int csr; + if (mask) + csr=chipStatusRegister|(1<< CSR_invpol); + else + csr=chipStatusRegister & ~(1<< CSR_invpol); + + return setChipStatusRegister(csr); + +} + +int setGainPreamp(int pgain, int *csr) { + + + + switch (pgain) { + case Cp_0: + case Cp_15: + *csr=(*csr)&~(1<