From 8fcec81a67ee295de1d8673f4e4a8927c74e5c1f Mon Sep 17 00:00:00 2001 From: Dhanya Thattil <33750417+thattil@users.noreply.github.com> Date: Thu, 14 Jul 2022 12:00:07 +0200 Subject: [PATCH] Pattern 6 levels (#493) * separating pattern levels from command name: command line done * separated patten level from command in examples and default pattern files in servers * command line and server works * python: patnloop not verified, wip * works except for patloop (set, and get does not list properly) * minor * fixed tests * added 3 more levels for ctb and moench * wip * minor err msg * minor * binaries in * separating pattern levels from command name: command line done * separated patten level from command in examples and default pattern files in servers * command line and server works * python: patnloop not verified, wip * works except for patloop (set, and get does not list properly) * minor * fixed tests * added 3 more levels for ctb and moench * wip * minor err msg * minor * binaries in * python working * import fix * changed fw version for ctb and moench. binaries in Co-authored-by: Erik Frojdh --- examples/jctb_moench03_T1.config | 24 +- examples/virtual_ctb_moench.config | 24 +- python/slsdet/defines.py | 2 + python/slsdet/detector.py | 72 +++- python/slsdet/proxy.py | 134 +++++- python/src/pattern.cpp | 2 +- .../ctbDetectorServer/RegisterDefs.h | 66 +++ .../bin/ctbDetectorServer_developer | Bin 316300 -> 316876 bytes .../slsDetectorServer_defs.h | 2 +- .../bin/eigerDetectorServer_developer | Bin 430762 -> 430762 bytes .../bin/gotthard2DetectorServer_developer | Bin 269308 -> 269308 bytes .../bin/gotthardDetectorServer_developer | Bin 269944 -> 269944 bytes .../bin/jungfrauDetectorServer_developer | Bin 299560 -> 299560 bytes .../DefaultPattern_moench.txt | 37 +- .../moenchDetectorServer/RegisterDefs.h | 67 +++ .../bin/DefaultPattern_moench.txt | 37 +- .../bin/moenchDetectorServer_developer | Bin 304896 -> 305472 bytes .../slsDetectorServer_defs.h | 2 +- .../DefaultPattern_mythen3.txt | 24 +- .../bin/DefaultPattern_mythen3.txt | 24 +- .../bin/mythen3DetectorServer_developer | Bin 287272 -> 287272 bytes .../mythen3DetectorServer/mythen3.c | 16 +- .../slsDetectorServer/src/loadPattern.c | 240 +++++++---- slsDetectorSoftware/include/sls/Pattern.h | 10 +- slsDetectorSoftware/src/CmdProxy.cpp | 210 ++++----- slsDetectorSoftware/src/CmdProxy.h | 5 + slsDetectorSoftware/src/Pattern.cpp | 171 +++++--- .../tests/test-CmdProxy-pattern.cpp | 408 ++++++------------ slsDetectorSoftware/tests/test-Pattern.cpp | 4 +- slsSupportLib/include/sls/sls_detector_defs.h | 3 + slsSupportLib/include/sls/versionAPI.h | 14 +- 31 files changed, 955 insertions(+), 643 deletions(-) diff --git a/examples/jctb_moench03_T1.config b/examples/jctb_moench03_T1.config index 41b95d719..b9d465da7 100644 --- a/examples/jctb_moench03_T1.config +++ b/examples/jctb_moench03_T1.config @@ -409,18 +409,18 @@ patword 018d 0008599f0008503a patioctrl 8f0effff6dbffdbf patclkctrl 0000000000000000 patlimits 0000 018c -patloop0 013a 016b -patnloop0 199 -patloop1 0400 0400 -patnloop1 0 -patloop2 0400 0400 -patnloop2 0 -patwait0 00aa -patwaittime0 10000 -patwait1 0400 -patwaittime1 0 -patwait2 0400 -patwaittime2 0 +patloop 0 013a 016b +patnloop 0 199 +patloop 1 0400 0400 +patnloop 1 0 +patloop 2 0400 0400 +patnloop 2 0 +patwait 0 00aa +patwaittime 0 10000 +patwait 1 0400 +patwaittime 1 0 +patwait 2 0400 +patwaittime 2 0 ############################################# ### edit with hostname or 1Gbs IP address of your server diff --git a/examples/virtual_ctb_moench.config b/examples/virtual_ctb_moench.config index 501ac0622..e5c74c65e 100644 --- a/examples/virtual_ctb_moench.config +++ b/examples/virtual_ctb_moench.config @@ -427,18 +427,18 @@ patword 0x018c 0x0008599f0008503a patword 0x018d 0x0008599f0008503a patioctrl 0x8f0effff6dbffdbf patlimits 0x0000 0x018c -patloop0 0x013a 0x016b -patnloop0 0x199 -patloop1 0x0400 0x0400 -patnloop1 0 -patloop2 0x0400 0x0400 -patnloop2 0 -patwait0 0x00aa -patwaittime0 10000 -patwait1 0x0400 -patwaittime1 0 -patwait2 0x0400 -patwaittime2 0 +patloop 0 0x013a 0x016b +patnloop 0 0x199 +patloop 1 0x0400 0x0400 +patnloop 1 0 +patloop 2 0x0400 0x0400 +patnloop 2 0 +patwait 0 0x00aa +patwaittime 0 10000 +patwait 1 0x0400 +patwaittime 1 0 +patwait 2 0x0400 +patwaittime 2 0 # dacs dac 6 800 diff --git a/python/slsdet/defines.py b/python/slsdet/defines.py index 699a287ee..4ca899196 100644 --- a/python/slsdet/defines.py +++ b/python/slsdet/defines.py @@ -23,6 +23,8 @@ LOCALHOST_IP="127.0.0.1" MAX_STR_LENGTH=1000 SHORT_STR_LENGTH=20 MAX_PATTERN_LENGTH=0x2000 +MAX_PATTERN_LEVELS=6 +M3_MAX_PATTERN_LEVELS=3 DEFAULT_STREAMING_TIMER_IN_MS=500 NUM_RX_THREAD_IDS=9 MAX_NUM_PACKETS=512 diff --git a/python/slsdet/detector.py b/python/slsdet/detector.py index 4f0c51423..ca841825a 100755 --- a/python/slsdet/detector.py +++ b/python/slsdet/detector.py @@ -17,7 +17,7 @@ from .utils import element_if_equal, all_equal, get_set_bits, list_to_bitmask from .utils import Geometry, to_geo, element, reduce_time, is_iterable from _slsdet import xy from . import utils as ut -from .proxy import JsonProxy, SlowAdcProxy, ClkDivProxy, MaxPhaseProxy, ClkFreqProxy +from .proxy import JsonProxy, SlowAdcProxy, ClkDivProxy, MaxPhaseProxy, ClkFreqProxy, PatLoopProxy, PatNLoopProxy, PatWaitProxy, PatWaitTimeProxy from .registers import Register, Adc_register import datetime as dt @@ -3098,6 +3098,24 @@ class Detector(CppDetectorApi): def patmask(self, mask): ut.set_using_dict(self.setPatternMask, mask) + @property + # @element + def patwait(self): + """ + [Ctb][Moench][Mythen3] Wait address of loop level provided. + + Example + ------- + >>> d.patwait[0] = 5 + >>> d.patwait[0] + 5 + >>> d.patwait + 0: 5 + 1: 20 + 2: 30 + """ + return PatWaitProxy(self) + @property @element def patwait0(self): @@ -3158,6 +3176,23 @@ class Detector(CppDetectorApi): addr = ut.merge_args(2, addr) ut.set_using_dict(self.setPatternWaitAddr, *addr) + @property + def patwaittime(self): + """ + [Ctb][Moench][Mythen3] Wait time in clock cycles of loop level provided. + + Example + ------- + >>> d.patwaittime[0] = 5 + >>> d.patwaittime[0] + 5 + >>> d.patwaittime + 0: 5 + 1: 20 + 2: 30 + """ + return PatWaitTimeProxy(self) + @property @element def patwaittime0(self): @@ -3192,6 +3227,23 @@ class Detector(CppDetectorApi): ut.set_using_dict(self.setPatternWaitTime, *nclk) + @property + def patloop(self): + """ + [Ctb][Moench][Mythen3] Limits (start and stop address) of the loop provided. + + Example + ------- + >>> d.patloop[0] = [5, 20] + >>> d.patloop[0] + [5, 20] + >>> d.patloop + 0: [5, 20] + 1: [20, 4] + 2: [30, 5] + """ + return PatLoopProxy(self) + @property @element def patloop0(self): @@ -3254,6 +3306,24 @@ class Detector(CppDetectorApi): addr = ut.merge_args(2, addr) ut.set_using_dict(self.setPatternLoopAddresses, *addr) + + @property + def patnloop(self): + """ + [Ctb][Moench][Mythen3] Number of cycles of the loop provided. + + Example + ------- + >>> d.patnloop[0] = 5 + >>> d.patnloop[0] + 5 + >>> d.patnloop + 0: 5 + 1: 20 + 2: 30 + """ + return PatNLoopProxy(self) + @property @element def patnloop0(self): diff --git a/python/slsdet/proxy.py b/python/slsdet/proxy.py index 440433ccb..a02a3267a 100644 --- a/python/slsdet/proxy.py +++ b/python/slsdet/proxy.py @@ -2,14 +2,24 @@ # Copyright (C) 2021 Contributors to the SLS Detector Package from .utils import element_if_equal from .enums import dacIndex +from .defines import M3_MAX_PATTERN_LEVELS, MAX_PATTERN_LEVELS +from _slsdet import slsDetectorDefs -def set_proxy_using_dict(func, key, value): +def set_proxy_using_dict(func, key, value, unpack = False): if isinstance(value, dict) and all(isinstance(k, int) for k in value.keys()): - for dkey, dvalue in value.items(): - func(key, dvalue, [dkey]) + if unpack: + for dkey, dvalue in value.items(): + func(key, *dvalue, [dkey]) + else: + for dkey, dvalue in value.items(): + func(key, dvalue, [dkey]) else: - func(key, value) + if unpack: + func(key, *value) + else: + func(key, value) + class JsonProxy: """ @@ -127,4 +137,118 @@ class ClkFreqProxy: else: rstr += f'{i}: {r}\n' - return rstr.strip('\n') \ No newline at end of file + return rstr.strip('\n') + +class PatLoopProxy: + """ + Proxy class to allow for more intuitive reading patloop + """ + def __init__(self, det): + self.det = det + + def __getitem__(self, key): + return element_if_equal(self.det.getPatternLoopAddresses(key)) + + def __setitem__(self, key, value): + set_proxy_using_dict(self.det.setPatternLoopAddresses, key, value, unpack = True) + + def __repr__(self): + max_levels = MAX_PATTERN_LEVELS + if self.det.type == slsDetectorDefs.detectorType.MYTHEN3: + max_levels = M3_MAX_PATTERN_LEVELS + rstr = '' + for i in range(max_levels): + r = self.__getitem__(i) + if isinstance(r[0], list): + part = ' '.join(f'{item}' for item in r) + rstr += f'{i}: {part}\n' + else: + rstr += f'{i}: {r}\n' + + return rstr.strip('\n') + + +class PatNLoopProxy: + """ + Proxy class to allow for more intuitive reading patnloop + """ + def __init__(self, det): + self.det = det + + def __getitem__(self, key): + return element_if_equal(self.det.getPatternLoopCycles(key)) + + def __setitem__(self, key, value): + set_proxy_using_dict(self.det.setPatternLoopCycles, key, value) + + def __repr__(self): + max_levels = MAX_PATTERN_LEVELS + if self.det.type == slsDetectorDefs.detectorType.MYTHEN3: + max_levels = M3_MAX_PATTERN_LEVELS + rstr = '' + for i in range(max_levels): + r = element_if_equal(self.__getitem__(i)) + if isinstance(r, list): + part = ', '.join(f'{item}' for item in r) + rstr += f'{i}: {part}\n' + else: + rstr += f'{i}: {r}\n' + + return rstr.strip('\n') + + +class PatWaitProxy: + """ + Proxy class to allow for more intuitive reading patwait + """ + def __init__(self, det): + self.det = det + + def __getitem__(self, key): + return element_if_equal(self.det.getPatternWaitAddr(key)) + + def __setitem__(self, key, value): + set_proxy_using_dict(self.det.setPatternWaitAddr, key, value) + + def __repr__(self): + max_levels = MAX_PATTERN_LEVELS + if self.det.type == slsDetectorDefs.detectorType.MYTHEN3: + max_levels = M3_MAX_PATTERN_LEVELS + rstr = '' + for i in range(max_levels): + r = element_if_equal(self.__getitem__(i)) + if isinstance(r, list): + part = ', '.join(f'{item}' for item in r) + rstr += f'{i}: {part}\n' + else: + rstr += f'{i}: {r}\n' + + return rstr.strip('\n') + +class PatWaitTimeProxy: + """ + Proxy class to allow for more intuitive reading patwaittime + """ + def __init__(self, det): + self.det = det + + def __getitem__(self, key): + return element_if_equal(self.det.getPatternWaitTime(key)) + + def __setitem__(self, key, value): + set_proxy_using_dict(self.det.setPatternWaitTime, key, value) + + def __repr__(self): + max_levels = MAX_PATTERN_LEVELS + if self.det.type == slsDetectorDefs.detectorType.MYTHEN3: + max_levels = M3_MAX_PATTERN_LEVELS + rstr = '' + for i in range(max_levels): + r = element_if_equal(self.__getitem__(i)) + if isinstance(r, list): + part = ', '.join(f'{item}' for item in r) + rstr += f'{i}: {part}\n' + else: + rstr += f'{i}: {r}\n' + + return rstr.strip('\n') diff --git a/python/src/pattern.cpp b/python/src/pattern.cpp index e618f2954..0cec6165b 100644 --- a/python/src/pattern.cpp +++ b/python/src/pattern.cpp @@ -14,7 +14,7 @@ void init_pattern(py::module &m) { using pat = sls::patternParameters; py::class_ patternParameters(m, "patternParameters"); - PYBIND11_NUMPY_DTYPE(pat, word, ioctrl, limits, loop, nloop, wait, + PYBIND11_NUMPY_DTYPE(pat, word, ioctrl, limits, startloop, stoploop, nloop, wait, waittime); patternParameters.def(py::init()); diff --git a/slsDetectorServers/ctbDetectorServer/RegisterDefs.h b/slsDetectorServers/ctbDetectorServer/RegisterDefs.h index 0815d185f..1187e70d2 100644 --- a/slsDetectorServers/ctbDetectorServer/RegisterDefs.h +++ b/slsDetectorServers/ctbDetectorServer/RegisterDefs.h @@ -568,6 +568,72 @@ #define PATTERN_SET_LSB_REG (0x82 << MEM_MAP_SHIFT) #define PATTERN_SET_MSB_REG (0x83 << MEM_MAP_SHIFT) +/* Pattern Loop 3 Address RW regiser */ +#define PATTERN_LOOP_3_ADDR_REG (0x84 << MEM_MAP_SHIFT) + +#define PATTERN_LOOP_3_ADDR_STRT_OFST (0) +#define PATTERN_LOOP_3_ADDR_STRT_MSK \ + (0x00001FFF << PATTERN_LOOP_3_ADDR_STRT_OFST) +#define PATTERN_LOOP_3_ADDR_STP_OFST (16) +#define PATTERN_LOOP_3_ADDR_STP_MSK (0x00001FFF << PATTERN_LOOP_3_ADDR_STP_OFST) + +/* Pattern Loop 3 Iteration RW regiser */ +#define PATTERN_LOOP_3_ITERATION_REG (0x85 << MEM_MAP_SHIFT) + +/* Pattern Loop 4 Address RW regiser */ +#define PATTERN_LOOP_4_ADDR_REG (0x86 << MEM_MAP_SHIFT) + +#define PATTERN_LOOP_4_ADDR_STRT_OFST (0) +#define PATTERN_LOOP_4_ADDR_STRT_MSK \ + (0x00001FFF << PATTERN_LOOP_4_ADDR_STRT_OFST) +#define PATTERN_LOOP_4_ADDR_STP_OFST (16) +#define PATTERN_LOOP_4_ADDR_STP_MSK (0x00001FFF << PATTERN_LOOP_4_ADDR_STP_OFST) + +/* Pattern Loop 4 Iteration RW regiser */ +#define PATTERN_LOOP_4_ITERATION_REG (0x87 << MEM_MAP_SHIFT) + +/* Pattern Loop 5 Address RW regiser */ +#define PATTERN_LOOP_5_ADDR_REG (0x88 << MEM_MAP_SHIFT) + +#define PATTERN_LOOP_5_ADDR_STRT_OFST (0) +#define PATTERN_LOOP_5_ADDR_STRT_MSK \ + (0x00001FFF << PATTERN_LOOP_5_ADDR_STRT_OFST) +#define PATTERN_LOOP_5_ADDR_STP_OFST (16) +#define PATTERN_LOOP_5_ADDR_STP_MSK (0x00001FFF << PATTERN_LOOP_5_ADDR_STP_OFST) + +/* Pattern Loop 5 Iteration RW regiser */ +#define PATTERN_LOOP_5_ITERATION_REG (0x89 << MEM_MAP_SHIFT) + +/* Pattern Wait 3 RW regiser */ +#define PATTERN_WAIT_3_ADDR_REG (0x8A << MEM_MAP_SHIFT) + +#define PATTERN_WAIT_3_ADDR_OFST (0) +#define PATTERN_WAIT_3_ADDR_MSK (0x00001FFF << PATTERN_WAIT_3_ADDR_OFST) + +/* Pattern Wait 4 RW regiser */ +#define PATTERN_WAIT_4_ADDR_REG (0x8B << MEM_MAP_SHIFT) + +#define PATTERN_WAIT_4_ADDR_OFST (0) +#define PATTERN_WAIT_4_ADDR_MSK (0x00001FFF << PATTERN_WAIT_4_ADDR_OFST) + +/* Pattern Wait 5 RW regiser */ +#define PATTERN_WAIT_5_ADDR_REG (0x8C << MEM_MAP_SHIFT) + +#define PATTERN_WAIT_5_ADDR_OFST (0) +#define PATTERN_WAIT_5_ADDR_MSK (0x00001FFF << PATTERN_WAIT_5_ADDR_OFST) + +/* Pattern Wait Timer 3 64 bit RW register. t = PWT1 x T run clock */ +#define PATTERN_WAIT_TIMER_3_LSB_REG (0x8D << MEM_MAP_SHIFT) +#define PATTERN_WAIT_TIMER_3_MSB_REG (0x8E << MEM_MAP_SHIFT) + +/* Pattern Wait Timer 4 64 bit RW register. t = PWT1 x T run clock */ +#define PATTERN_WAIT_TIMER_4_LSB_REG (0x8F << MEM_MAP_SHIFT) +#define PATTERN_WAIT_TIMER_4_MSB_REG (0x90 << MEM_MAP_SHIFT) + +/* Pattern Wait Timer 5 64 bit RW register. t = PWT1 x T run clock */ +#define PATTERN_WAIT_TIMER_5_LSB_REG (0x91 << MEM_MAP_SHIFT) +#define PATTERN_WAIT_TIMER_5_MSB_REG (0x92 << MEM_MAP_SHIFT) + /** I2C Control register */ #define I2C_TRANSFER_COMMAND_FIFO_REG (0x100 << MEM_MAP_SHIFT) #define I2C_RX_DATA_FIFO_REG (0x101 << MEM_MAP_SHIFT) diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index 6b1785ef2e473e8f76b39acc0f5dd0ce4d27946c..705e5b90dda8ad5241f10d8863ad3512027d0a54 100755 GIT binary patch delta 138712 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

kd#P2UO28i{>~;5g$}N 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

U9yq#mWh)F=Jdy-qE+LUUxjTZTiu#}I!kluY94 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 z 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 byXky#oRvc3NxZBQ5-;lz>$2RubNK%UIejT1 diff --git a/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h index 0d8b15aaf..7cc9daece 100644 --- a/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h @@ -5,7 +5,7 @@ #include "sls/sls_detector_defs.h" #define MIN_REQRD_VRSN_T_RD_API 0x181130 -#define REQRD_FRMWR_VRSN 0x201005 +#define REQRD_FRMWR_VRSN 0x220714 #define LINKED_SERVER_NAME "ctbDetectorServer" diff --git a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer index 9a6573442d5b7456434d8ea62f6bd65a487ac090..e866db31c6d62a8214c09e7df6778106e5986d29 100755 GIT binary patch delta 70 zcmZ3rRBF{ysSVaLj3Sc_oTVr0J8(`mkl}{%>}9zozm*YcUM#bHu?%BI8>2`&&tgU( RW&&bnAZFRlvzT?>djJPP7I**v delta 70 zcmZ3rRBF{ysSVaLjI5IloTVr0J8(`mkl}{%>}9zozm*YcUM#bHu?%BI8zXBw&tgU( RW&&bnAZFRlvzT?>djS8V7E1sC diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer index 19496cb62f665a79b441e0820e6ffbeddc13fb0a..bf0d7e2136351276e334e7617e3687767f5dd8fe 100755 GIT binary patch delta 48 ycmeyfUEt4lfekXMOe{wy%c+_{DD};?s_ILC?B-=B+n1eW1Y)M`%T6+f1pxrm7ZbDq delta 48 ycmeyfUEt4lfekXMOfCl}%c+_{DD};?s_ILC?B-=B+n1eW1Y)M`%T6+f1pxr)!xU%$ diff --git a/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer b/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer index 21491e55d06eb07f291ae89eba4462d299cd5797..96599022d5d718df768426a68a555d7775ab9a3e 100755 GIT binary patch delta 53 zcmeydN8raEfeD(-=O0;5Ul_$KvC$=mgHdGiMh*kXjqNa?j&G&8F@7pp0G1K<@ Jw#+jh001N46fFP% diff --git a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer index 22ce36dee7b777a7a9c17eb8486d5c07e05bb937..d5e74d7945fb143535918c74a371b252d492cfaa 100755 GIT binary patch delta 75 zcmZ3nL}~JQUfymP6Q& YQKb1`So^^+Mj&PaV&?4!!&uU-0idxMZvX%Q delta 75 zcmZ3nL}jZBM>tIG4u9=VJzv^0Cc7otpET3 diff --git a/slsDetectorServers/moenchDetectorServer/DefaultPattern_moench.txt b/slsDetectorServers/moenchDetectorServer/DefaultPattern_moench.txt index 0c64c23fa..9631b0bd3 100755 --- a/slsDetectorServers/moenchDetectorServer/DefaultPattern_moench.txt +++ b/slsDetectorServers/moenchDetectorServer/DefaultPattern_moench.txt @@ -274,15 +274,28 @@ patword 0x0110 0x0008599f0008503a patword 0x0111 0x0008599f0008503a patioctrl 0x8f0effff6dbffdbf patlimits 0x0000 0x0110 -patloop0 0x00be 0x00ef -patnloop0 199 -patloop1 0x0400 0x0400 -patnloop1 0 -patloop2 0x0400 0x0400 -patnloop2 0 -patwait0 0x002e -patwaittime0 800 -patwait1 0x0400 -patwaittime1 0 -patwait2 0x0400 -patwaittime2 0 +patloop 0 0x00be 0x00ef +patnloop 0 199 +patloop 1 0x0400 0x0400 +patnloop 1 0 +patloop 2 0x0400 0x0400 +patnloop 2 0 +patwait 0 0x002e +patwaittime 0 800 +patwait 1 0x0400 +patwaittime 1 0 +patwait 2 0x0400 +patwaittime 2 0 + +patloop 3 0x0000 0x0000 +patnloop 3 0 +patloop 4 0x0000 0x0000 +patnloop 4 0 +patloop 5 0x0000 0x0000 +patnloop 5 0 +patwait 3 0x0000 +patwaittime 3 0 +patwait 4 0x0000 +patwaittime 4 0 +patwait 5 0x0000 +patwaittime 5 0 diff --git a/slsDetectorServers/moenchDetectorServer/RegisterDefs.h b/slsDetectorServers/moenchDetectorServer/RegisterDefs.h index 14f8c9c40..048dfdc9a 100644 --- a/slsDetectorServers/moenchDetectorServer/RegisterDefs.h +++ b/slsDetectorServers/moenchDetectorServer/RegisterDefs.h @@ -572,5 +572,72 @@ #define PATTERN_SET_LSB_REG (0x82 << MEM_MAP_SHIFT) #define PATTERN_SET_MSB_REG (0x83 << MEM_MAP_SHIFT) + +/* Pattern Loop 3 Address RW regiser */ +#define PATTERN_LOOP_3_ADDR_REG (0x84 << MEM_MAP_SHIFT) + +#define PATTERN_LOOP_3_ADDR_STRT_OFST (0) +#define PATTERN_LOOP_3_ADDR_STRT_MSK \ + (0x00001FFF << PATTERN_LOOP_3_ADDR_STRT_OFST) +#define PATTERN_LOOP_3_ADDR_STP_OFST (16) +#define PATTERN_LOOP_3_ADDR_STP_MSK (0x00001FFF << PATTERN_LOOP_3_ADDR_STP_OFST) + +/* Pattern Loop 3 Iteration RW regiser */ +#define PATTERN_LOOP_3_ITERATION_REG (0x85 << MEM_MAP_SHIFT) + +/* Pattern Loop 4 Address RW regiser */ +#define PATTERN_LOOP_4_ADDR_REG (0x86 << MEM_MAP_SHIFT) + +#define PATTERN_LOOP_4_ADDR_STRT_OFST (0) +#define PATTERN_LOOP_4_ADDR_STRT_MSK \ + (0x00001FFF << PATTERN_LOOP_4_ADDR_STRT_OFST) +#define PATTERN_LOOP_4_ADDR_STP_OFST (16) +#define PATTERN_LOOP_4_ADDR_STP_MSK (0x00001FFF << PATTERN_LOOP_4_ADDR_STP_OFST) + +/* Pattern Loop 4 Iteration RW regiser */ +#define PATTERN_LOOP_4_ITERATION_REG (0x87 << MEM_MAP_SHIFT) + +/* Pattern Loop 5 Address RW regiser */ +#define PATTERN_LOOP_5_ADDR_REG (0x88 << MEM_MAP_SHIFT) + +#define PATTERN_LOOP_5_ADDR_STRT_OFST (0) +#define PATTERN_LOOP_5_ADDR_STRT_MSK \ + (0x00001FFF << PATTERN_LOOP_5_ADDR_STRT_OFST) +#define PATTERN_LOOP_5_ADDR_STP_OFST (16) +#define PATTERN_LOOP_5_ADDR_STP_MSK (0x00001FFF << PATTERN_LOOP_5_ADDR_STP_OFST) + +/* Pattern Loop 5 Iteration RW regiser */ +#define PATTERN_LOOP_5_ITERATION_REG (0x89 << MEM_MAP_SHIFT) + +/* Pattern Wait 3 RW regiser */ +#define PATTERN_WAIT_3_ADDR_REG (0x8A << MEM_MAP_SHIFT) + +#define PATTERN_WAIT_3_ADDR_OFST (0) +#define PATTERN_WAIT_3_ADDR_MSK (0x00001FFF << PATTERN_WAIT_3_ADDR_OFST) + +/* Pattern Wait 4 RW regiser */ +#define PATTERN_WAIT_4_ADDR_REG (0x8B << MEM_MAP_SHIFT) + +#define PATTERN_WAIT_4_ADDR_OFST (0) +#define PATTERN_WAIT_4_ADDR_MSK (0x00001FFF << PATTERN_WAIT_4_ADDR_OFST) + +/* Pattern Wait 5 RW regiser */ +#define PATTERN_WAIT_5_ADDR_REG (0x8C << MEM_MAP_SHIFT) + +#define PATTERN_WAIT_5_ADDR_OFST (0) +#define PATTERN_WAIT_5_ADDR_MSK (0x00001FFF << PATTERN_WAIT_5_ADDR_OFST) + +/* Pattern Wait Timer 3 64 bit RW register. t = PWT1 x T run clock */ +#define PATTERN_WAIT_TIMER_3_LSB_REG (0x8D << MEM_MAP_SHIFT) +#define PATTERN_WAIT_TIMER_3_MSB_REG (0x8E << MEM_MAP_SHIFT) + +/* Pattern Wait Timer 4 64 bit RW register. t = PWT1 x T run clock */ +#define PATTERN_WAIT_TIMER_4_LSB_REG (0x8F << MEM_MAP_SHIFT) +#define PATTERN_WAIT_TIMER_4_MSB_REG (0x90 << MEM_MAP_SHIFT) + +/* Pattern Wait Timer 5 64 bit RW register. t = PWT1 x T run clock */ +#define PATTERN_WAIT_TIMER_5_LSB_REG (0x91 << MEM_MAP_SHIFT) +#define PATTERN_WAIT_TIMER_5_MSB_REG (0x92 << MEM_MAP_SHIFT) + /* Round Robin */ #define RXR_ENDPOINT_START_REG (0x1000 << MEM_MAP_SHIFT) diff --git a/slsDetectorServers/moenchDetectorServer/bin/DefaultPattern_moench.txt b/slsDetectorServers/moenchDetectorServer/bin/DefaultPattern_moench.txt index 0c64c23fa..9631b0bd3 100755 --- a/slsDetectorServers/moenchDetectorServer/bin/DefaultPattern_moench.txt +++ b/slsDetectorServers/moenchDetectorServer/bin/DefaultPattern_moench.txt @@ -274,15 +274,28 @@ patword 0x0110 0x0008599f0008503a patword 0x0111 0x0008599f0008503a patioctrl 0x8f0effff6dbffdbf patlimits 0x0000 0x0110 -patloop0 0x00be 0x00ef -patnloop0 199 -patloop1 0x0400 0x0400 -patnloop1 0 -patloop2 0x0400 0x0400 -patnloop2 0 -patwait0 0x002e -patwaittime0 800 -patwait1 0x0400 -patwaittime1 0 -patwait2 0x0400 -patwaittime2 0 +patloop 0 0x00be 0x00ef +patnloop 0 199 +patloop 1 0x0400 0x0400 +patnloop 1 0 +patloop 2 0x0400 0x0400 +patnloop 2 0 +patwait 0 0x002e +patwaittime 0 800 +patwait 1 0x0400 +patwaittime 1 0 +patwait 2 0x0400 +patwaittime 2 0 + +patloop 3 0x0000 0x0000 +patnloop 3 0 +patloop 4 0x0000 0x0000 +patnloop 4 0 +patloop 5 0x0000 0x0000 +patnloop 5 0 +patwait 3 0x0000 +patwaittime 3 0 +patwait 4 0x0000 +patwaittime 4 0 +patwait 5 0x0000 +patwaittime 5 0 diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index 657adcbf2d927086b48e0a2326262f183cb84153..86287380836fc8220dd0c3b6a1660d6ababab095 100755 GIT binary patch delta 133548 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%0D1_hiLk5bfh2N~g)#(0j+!rki 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 delta 133299 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�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�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 diff --git a/slsDetectorServers/mythen3DetectorServer/mythen3.c b/slsDetectorServers/mythen3DetectorServer/mythen3.c index 8565701a0..69f6141e2 100644 --- a/slsDetectorServers/mythen3DetectorServer/mythen3.c +++ b/slsDetectorServers/mythen3DetectorServer/mythen3.c @@ -73,13 +73,13 @@ patternParameters *setChipStatusRegisterPattern(int csr) { error = 1; } // set pattern wait address - for (int i = 0; i <= 2; i++) + for (int i = 0; i < M3_MAX_PATTERN_LEVELS; i++) pat->wait[i] = MAX_PATTERN_LENGTH - 1; // pattern loop - for (int i = 0; i <= 2; i++) { + for (int i = 0; i < M3_MAX_PATTERN_LEVELS; i++) { // int stop = MAX_PATTERN_LENGTH - 1, nloop = 0; - pat->loop[i * 2 + 0] = MAX_PATTERN_LENGTH - 1; - pat->loop[i * 2 + 1] = MAX_PATTERN_LENGTH - 1; + pat->startloop[i] = MAX_PATTERN_LENGTH - 1; + pat->stoploop[i] = MAX_PATTERN_LENGTH - 1; pat->nloop[i] = 0; } @@ -349,13 +349,13 @@ patternParameters *setChannelRegisterChip(int ichip, int *mask, int *trimbits) { error = 1; } // set pattern wait address - for (int i = 0; i <= 2; i++) + for (int i = 0; i < M3_MAX_PATTERN_LEVELS; i++) pat->wait[i] = MAX_PATTERN_LENGTH - 1; // pattern loop - for (int i = 0; i <= 2; i++) { + for (int i = 0; i < M3_MAX_PATTERN_LEVELS; i++) { // int stop = MAX_PATTERN_LENGTH - 1, nloop = 0; - pat->loop[i * 2 + 0] = MAX_PATTERN_LENGTH - 1; - pat->loop[i * 2 + 1] = MAX_PATTERN_LENGTH - 1; + pat->startloop[i] = MAX_PATTERN_LENGTH - 1; + pat->stoploop[i] = MAX_PATTERN_LENGTH - 1; pat->nloop[i] = 0; } diff --git a/slsDetectorServers/slsDetectorServer/src/loadPattern.c b/slsDetectorServers/slsDetectorServer/src/loadPattern.c index 6465ac73b..eb9d342ba 100644 --- a/slsDetectorServers/slsDetectorServer/src/loadPattern.c +++ b/slsDetectorServers/slsDetectorServer/src/loadPattern.c @@ -24,6 +24,12 @@ extern u_int32_t bus_r(u_int32_t offset); extern int64_t get64BitReg(int aLSB, int aMSB); extern int64_t set64BitReg(int64_t value, int aLSB, int aMSB); +#ifdef MYTHEN3D +#define MAX_LEVELS M3_MAX_PATTERN_LEVELS +#else +#define MAX_LEVELS MAX_PATTERN_LEVELS +#endif + #if defined(CHIPTESTBOARDD) || defined(MOENCHD) #ifdef VIRTUAL void initializePatternWord() { @@ -157,9 +163,9 @@ void writePatternWord(int addr, uint64_t word) { int validate_getPatternWaitAddresses(char *message, int level, int *addr) { // validate input - if (level < 0 || level > 2) { + if (level < 0 || level >= MAX_LEVELS) { sprintf(message, - "Cannot get patwait address. Level must be between 0 and 2.\n"); + "Cannot get patwait address. Level %d must be between 0 and %d.\n", level, MAX_LEVELS - 1); LOG(logERROR, (message)); return FAIL; } @@ -178,6 +184,17 @@ int getPatternWaitAddress(int level) { case 2: return ((bus_r(PATTERN_WAIT_2_ADDR_REG) & PATTERN_WAIT_2_ADDR_MSK) >> PATTERN_WAIT_2_ADDR_OFST); +#ifndef MYTHEN3D + case 3: + return ((bus_r(PATTERN_WAIT_3_ADDR_REG) & PATTERN_WAIT_3_ADDR_MSK) >> + PATTERN_WAIT_3_ADDR_OFST); + case 4: + return ((bus_r(PATTERN_WAIT_4_ADDR_REG) & PATTERN_WAIT_4_ADDR_MSK) >> + PATTERN_WAIT_4_ADDR_OFST); + case 5: + return ((bus_r(PATTERN_WAIT_5_ADDR_REG) & PATTERN_WAIT_5_ADDR_MSK) >> + PATTERN_WAIT_5_ADDR_OFST); +#endif default: return -1; } @@ -185,9 +202,9 @@ int getPatternWaitAddress(int level) { int validate_setPatternWaitAddresses(char *message, int level, int addr) { // validate input - if (level < 0 || level > 2) { + if (level < 0 || level >= MAX_LEVELS) { sprintf(message, - "Cannot set patwait address. Level must be between 0 and 2.\n"); + "Cannot set patwait address. Level %d must be between 0 and %d.\n", level, MAX_LEVELS - 1); LOG(logERROR, (message)); return FAIL; } @@ -234,6 +251,20 @@ void setPatternWaitAddress(int level, int addr) { bus_w(PATTERN_WAIT_2_ADDR_REG, ((addr << PATTERN_WAIT_2_ADDR_OFST) & PATTERN_WAIT_2_ADDR_MSK)); break; +#ifndef MYTHEN3D + case 3: + bus_w(PATTERN_WAIT_3_ADDR_REG, + ((addr << PATTERN_WAIT_3_ADDR_OFST) & PATTERN_WAIT_3_ADDR_MSK)); + break; + case 4: + bus_w(PATTERN_WAIT_4_ADDR_REG, + ((addr << PATTERN_WAIT_4_ADDR_OFST) & PATTERN_WAIT_4_ADDR_MSK)); + break; + case 5: + bus_w(PATTERN_WAIT_5_ADDR_REG, + ((addr << PATTERN_WAIT_5_ADDR_OFST) & PATTERN_WAIT_5_ADDR_MSK)); + break; +#endif default: return; } @@ -241,9 +272,9 @@ void setPatternWaitAddress(int level, int addr) { int validate_getPatternWaitTime(char *message, int level, uint64_t *waittime) { // validate input - if (level < 0 || level > 2) { + if (level < 0 || level >= MAX_LEVELS) { sprintf(message, - "Cannot get patwaittime. Level must be between 0 and 2.\n"); + "Cannot get patwaittime. Level %d must be between 0 and %d.\n", level, MAX_LEVELS - 1); LOG(logERROR, (message)); return FAIL; } @@ -262,6 +293,17 @@ uint64_t getPatternWaitTime(int level) { case 2: return get64BitReg(PATTERN_WAIT_TIMER_2_LSB_REG, PATTERN_WAIT_TIMER_2_MSB_REG); +#ifndef MYTHEN3D + case 3: + return get64BitReg(PATTERN_WAIT_TIMER_3_LSB_REG, + PATTERN_WAIT_TIMER_3_MSB_REG); + case 4: + return get64BitReg(PATTERN_WAIT_TIMER_4_LSB_REG, + PATTERN_WAIT_TIMER_4_MSB_REG); + case 5: + return get64BitReg(PATTERN_WAIT_TIMER_5_LSB_REG, + PATTERN_WAIT_TIMER_5_MSB_REG); +#endif default: return -1; } @@ -269,9 +311,9 @@ uint64_t getPatternWaitTime(int level) { int validate_setPatternWaitTime(char *message, int level, uint64_t waittime) { // validate input - if (level < 0 || level > 2) { + if (level < 0 || level >= MAX_LEVELS) { sprintf(message, - "Cannot set patwaittime. Level must be between 0 and 2.\n"); + "Cannot set patwaittime. Level %d must be between 0 and %d.\n", level, MAX_LEVELS - 1); LOG(logERROR, (message)); return FAIL; } @@ -311,6 +353,20 @@ void setPatternWaitTime(int level, uint64_t t) { set64BitReg(t, PATTERN_WAIT_TIMER_2_LSB_REG, PATTERN_WAIT_TIMER_2_MSB_REG); break; +#ifndef MYTHEN3D + case 3: + set64BitReg(t, PATTERN_WAIT_TIMER_3_LSB_REG, + PATTERN_WAIT_TIMER_3_MSB_REG); + break; + case 4: + set64BitReg(t, PATTERN_WAIT_TIMER_4_LSB_REG, + PATTERN_WAIT_TIMER_4_MSB_REG); + break; + case 5: + set64BitReg(t, PATTERN_WAIT_TIMER_5_LSB_REG, + PATTERN_WAIT_TIMER_5_MSB_REG); + break; +#endif default: return; } @@ -318,9 +374,9 @@ void setPatternWaitTime(int level, uint64_t t) { int validate_getPatternLoopCycles(char *message, int level, int *numLoops) { // validate input - if (level < 0 || level > 2) { + if (level < 0 || level >= MAX_LEVELS) { sprintf(message, - "Cannot get patnloop. Level must be between 0 and 2.\n"); + "Cannot get patnloop. Level %d must be between 0 and %d.\n", level, MAX_LEVELS - 1); LOG(logERROR, (message)); return FAIL; } @@ -336,6 +392,14 @@ int getPatternLoopCycles(int level) { return bus_r(PATTERN_LOOP_1_ITERATION_REG); case 2: return bus_r(PATTERN_LOOP_2_ITERATION_REG); +#ifndef MYTHEN3D + case 3: + return bus_r(PATTERN_LOOP_3_ITERATION_REG); + case 4: + return bus_r(PATTERN_LOOP_4_ITERATION_REG); + case 5: + return bus_r(PATTERN_LOOP_5_ITERATION_REG); +#endif default: return -1; } @@ -343,9 +407,9 @@ int getPatternLoopCycles(int level) { int validate_setPatternLoopCycles(char *message, int level, int numLoops) { // validate input - if (level < 0 || level > 2) { + if (level < 0 || level >= MAX_LEVELS) { sprintf(message, - "Cannot set patnloop. Level must be between 0 and 2.\n"); + "Cannot set patnloop. Level %d must be between 0 and %d.\n", level, MAX_LEVELS); LOG(logERROR, (message)); return FAIL; } @@ -385,6 +449,17 @@ void setPatternLoopCycles(int level, int nLoop) { case 2: bus_w(PATTERN_LOOP_2_ITERATION_REG, nLoop); break; +#ifndef MYTHEN3D + case 3: + bus_w(PATTERN_LOOP_3_ITERATION_REG, nLoop); + break; + case 4: + bus_w(PATTERN_LOOP_4_ITERATION_REG, nLoop); + break; + case 5: + bus_w(PATTERN_LOOP_5_ITERATION_REG, nLoop); + break; +#endif default: return; } @@ -443,10 +518,10 @@ void setPatternLoopLimits(int startAddr, int stopAddr) { int validate_getPatternLoopAddresses(char *message, int level, int *startAddr, int *stopAddr) { // validate input - if (level < 0 || level > 2) { + if (level < 0 || level >= MAX_LEVELS) { sprintf( message, - "Cannot get patloop addresses. Level must be between 0 and 2.\n"); + "Cannot get patloop addresses. Level %d must be between 0 and %d.\n", level, MAX_LEVELS - 1); LOG(logERROR, (message)); return FAIL; } @@ -481,6 +556,32 @@ void getPatternLoopAddresses(int level, int *startAddr, int *stopAddr) { ((bus_r(PATTERN_LOOP_2_ADDR_REG) & PATTERN_LOOP_2_ADDR_STP_MSK) >> PATTERN_LOOP_2_ADDR_STP_OFST); break; +#ifndef MYTHEN3D + case 3: + *startAddr = + ((bus_r(PATTERN_LOOP_3_ADDR_REG) & PATTERN_LOOP_3_ADDR_STRT_MSK) >> + PATTERN_LOOP_3_ADDR_STRT_OFST); + *stopAddr = + ((bus_r(PATTERN_LOOP_3_ADDR_REG) & PATTERN_LOOP_3_ADDR_STP_MSK) >> + PATTERN_LOOP_3_ADDR_STP_OFST); + break; + case 4: + *startAddr = + ((bus_r(PATTERN_LOOP_4_ADDR_REG) & PATTERN_LOOP_4_ADDR_STRT_MSK) >> + PATTERN_LOOP_4_ADDR_STRT_OFST); + *stopAddr = + ((bus_r(PATTERN_LOOP_4_ADDR_REG) & PATTERN_LOOP_4_ADDR_STP_MSK) >> + PATTERN_LOOP_4_ADDR_STP_OFST); + break; + case 5: + *startAddr = + ((bus_r(PATTERN_LOOP_5_ADDR_REG) & PATTERN_LOOP_5_ADDR_STRT_MSK) >> + PATTERN_LOOP_5_ADDR_STRT_OFST); + *stopAddr = + ((bus_r(PATTERN_LOOP_5_ADDR_REG) & PATTERN_LOOP_5_ADDR_STP_MSK) >> + PATTERN_LOOP_5_ADDR_STP_OFST); + break; +#endif default: return; } @@ -489,10 +590,10 @@ void getPatternLoopAddresses(int level, int *startAddr, int *stopAddr) { int validate_setPatternLoopAddresses(char *message, int level, int startAddr, int stopAddr) { // validate input - if (level < 0 || level > 2) { + if (level < 0 || level >= MAX_LEVELS) { sprintf( message, - "Cannot set patloop addresses. Level must be between 0 and 2.\n"); + "Cannot set patloop addresses. Level %d must be between 0 and %d.\n", level, MAX_LEVELS - 1); LOG(logERROR, (message)); return FAIL; } @@ -559,6 +660,29 @@ void setPatternLoopAddresses(int level, int startAddr, int stopAddr) { ((stopAddr << PATTERN_LOOP_2_ADDR_STP_OFST) & PATTERN_LOOP_2_ADDR_STP_MSK)); break; +#ifndef MYTHEN3D + case 3: + bus_w(PATTERN_LOOP_3_ADDR_REG, + ((startAddr << PATTERN_LOOP_3_ADDR_STRT_OFST) & + PATTERN_LOOP_3_ADDR_STRT_MSK) | + ((stopAddr << PATTERN_LOOP_3_ADDR_STP_OFST) & + PATTERN_LOOP_3_ADDR_STP_MSK)); + break; + case 4: + bus_w(PATTERN_LOOP_4_ADDR_REG, + ((startAddr << PATTERN_LOOP_4_ADDR_STRT_OFST) & + PATTERN_LOOP_4_ADDR_STRT_MSK) | + ((stopAddr << PATTERN_LOOP_4_ADDR_STP_OFST) & + PATTERN_LOOP_4_ADDR_STP_MSK)); + break; + case 5: + bus_w(PATTERN_LOOP_5_ADDR_REG, + ((startAddr << PATTERN_LOOP_5_ADDR_STRT_OFST) & + PATTERN_LOOP_5_ADDR_STRT_MSK) | + ((stopAddr << PATTERN_LOOP_5_ADDR_STP_OFST) & + PATTERN_LOOP_5_ADDR_STP_MSK)); + break; +#endif default: return; } @@ -625,10 +749,10 @@ int loadPattern(char *message, enum TLogLevel printLevel, } if (ret == OK) { - for (int i = 0; i <= 2; ++i) { + for (int i = 0; i < MAX_LEVELS; ++i) { // loop addr ret = validate_setPatternLoopAddresses( - message, i, pat->loop[i * 2 + 0], pat->loop[i * 2 + 1]); + message, i, pat->startloop[i], pat->stoploop[i]); if (ret == FAIL) { break; } @@ -685,15 +809,15 @@ int getPattern(char *message, patternParameters *pat) { pat->limits[1] = retval2; } if (ret == OK) { - for (int i = 0; i <= 2; ++i) { + for (int i = 0; i < MAX_LEVELS; ++i) { // loop addr ret = validate_getPatternLoopAddresses(message, i, &retval1, &retval2); if (ret == FAIL) { break; } - pat->loop[i * 2 + 0] = retval1; - pat->loop[i * 2 + 1] = retval2; + pat->startloop[i] = retval1; + pat->stoploop[i] = retval2; // num loops ret = validate_getPatternLoopCycles(message, i, &retval1); @@ -846,26 +970,14 @@ int loadPatternFile(char *patFname, char *errMessage) { } // patloop - if ((!strncmp(line, "patloop0", strlen("patloop0"))) || - (!strncmp(line, "patloop1", strlen("patloop1"))) || - (!strncmp(line, "patloop2", strlen("patloop2")))) { - - // level + if (!strncmp(line, "patloop", strlen("patloop"))){ int level = -1; - if (!strncmp(line, "patloop0", strlen("patloop0"))) { - level = 0; - } else if (!strncmp(line, "patloop1", strlen("patloop1"))) { - level = 1; - } else { - level = 2; - } - int startAddr = 0; int stopAddr = 0; // cannot scan values - if (sscanf(line, "%s 0x%x 0x%x", command, &startAddr, &stopAddr) != - 3) { - sprintf(temp, "Could not scan patloop%d arguments.\n", level); + if (sscanf(line, "%s %d 0x%x 0x%x", command, &level, &startAddr, &stopAddr) != + 4) { + strcpy(temp, "Could not scan patloop arguments.\n"); break; } @@ -876,24 +988,12 @@ int loadPatternFile(char *patFname, char *errMessage) { } // patnloop - if ((!strncmp(line, "patnloop0", strlen("patnloop0"))) || - (!strncmp(line, "patnloop1", strlen("patnloop1"))) || - (!strncmp(line, "patnloop2", strlen("patnloop2")))) { - - // level + if (!strncmp(line, "patnloop", strlen("patnloop"))) { int level = -1; - if (!strncmp(line, "patnloop0", strlen("patnloop0"))) { - level = 0; - } else if (!strncmp(line, "patnloop1", strlen("patnloop1"))) { - level = 1; - } else { - level = 2; - } - int numLoops = -1; // cannot scan values - if (sscanf(line, "%s %d", command, &numLoops) != 2) { - sprintf(temp, "Could not scan patnloop %d arguments.\n", level); + if (sscanf(line, "%s %d %d", command, &level, &numLoops) != 3) { + strcpy(temp, "Could not scan patnloop arguments.\n"); break; } @@ -903,24 +1003,12 @@ int loadPatternFile(char *patFname, char *errMessage) { } // patwait - if ((!strncmp(line, "patwait0", strlen("patwait0"))) || - (!strncmp(line, "patwait1", strlen("patwait1"))) || - (!strncmp(line, "patwait2", strlen("patwait2")))) { - - // level + if (!strncmp(line, "patwait ", strlen("patwait "))) { int level = -1; - if (!strncmp(line, "patwait0", strlen("patwait0"))) { - level = 0; - } else if (!strncmp(line, "patwait1", strlen("patwait1"))) { - level = 1; - } else { - level = 2; - } - int addr = 0; // cannot scan values - if (sscanf(line, "%s 0x%x", command, &addr) != 2) { - sprintf(temp, "Could not scan patwait%d arguments.\n", level); + if (sscanf(line, "%s %d 0x%x", command, &level, &addr) != 3) { + strcpy(temp, "Could not scan patwait arguments.\n"); break; } @@ -930,27 +1018,15 @@ int loadPatternFile(char *patFname, char *errMessage) { } // patwaittime - if ((!strncmp(line, "patwaittime0", strlen("patwaittime0"))) || - (!strncmp(line, "patwaittime1", strlen("patwaittime1"))) || - (!strncmp(line, "patwaittime2", strlen("patwaittime2")))) { - - // level + if (!strncmp(line, "patwaittime", strlen("patwaittime"))) { int level = -1; - if (!strncmp(line, "patwaittime0", strlen("patwaittime0"))) { - level = 0; - } else if (!strncmp(line, "patwaittime1", strlen("patwaittime1"))) { - level = 1; - } else { - level = 2; - } - uint64_t waittime = 0; // cannot scan values #ifdef VIRTUAL - if (sscanf(line, "%s %ld", command, &waittime) != 2) { + if (sscanf(line, "%s %d %ld", command, &level, &waittime) != 3) { #else - if (sscanf(line, "%s %lld", command, &waittime) != 2) { + if (sscanf(line, "%s %d %lld", command, &level, &waittime) != 3) { #endif sprintf(temp, "Could not scan patwaittime%d arguments.\n", level); diff --git a/slsDetectorSoftware/include/sls/Pattern.h b/slsDetectorSoftware/include/sls/Pattern.h index 7319a3f94..6fa8665dd 100644 --- a/slsDetectorSoftware/include/sls/Pattern.h +++ b/slsDetectorSoftware/include/sls/Pattern.h @@ -13,11 +13,11 @@ typedef struct __attribute__((packed)) { uint64_t word[MAX_PATTERN_LENGTH]; uint64_t ioctrl; uint32_t limits[2]; - // loop0 start, loop0 stop .. loop2 start, loop2 stop - uint32_t loop[6]; - uint32_t nloop[3]; - uint32_t wait[3]; - uint64_t waittime[3]; + uint32_t startloop[MAX_PATTERN_LEVELS]; + uint32_t stoploop[MAX_PATTERN_LEVELS]; + uint32_t nloop[MAX_PATTERN_LEVELS]; + uint32_t wait[MAX_PATTERN_LEVELS]; + uint64_t waittime[MAX_PATTERN_LEVELS]; } patternParameters; #ifdef __cplusplus diff --git a/slsDetectorSoftware/src/CmdProxy.cpp b/slsDetectorSoftware/src/CmdProxy.cpp index d8fbd42ce..6f6a4d094 100644 --- a/slsDetectorSoftware/src/CmdProxy.cpp +++ b/slsDetectorSoftware/src/CmdProxy.cpp @@ -2705,7 +2705,30 @@ std::string CmdProxy::PatternWord(int action) { return os.str(); } +void CmdProxy::GetLevelAndUpdateArgIndex(int action, std::string levelSeparatedCommand, int& level, int& iArg, size_t nGetArgs, size_t nPutArgs) { + if (cmd == levelSeparatedCommand) { + ++nGetArgs; + ++nPutArgs; + } else { + LOG(logWARNING) << "This command is deprecated and will be removed. Please migrate to " << levelSeparatedCommand; + } + if (action == defs::GET_ACTION && args.size() != nGetArgs) { + WrongNumberOfParameters(nGetArgs); + } else if (action == defs::PUT_ACTION && args.size() != nPutArgs) { + WrongNumberOfParameters(nPutArgs); + } + if (cmd == levelSeparatedCommand) { + level = StringTo(args[iArg++]); + } else { + level = cmd[cmd.find_first_of("012")] - '0'; + } +} + std::string CmdProxy::PatternLoopAddresses(int action) { + if (cmd != "patlimits" && cmd != "patloop0" && cmd != "patloop1" && cmd != "patloop2" && cmd != "patloop") { + throw RuntimeError( + "Unknown command, use list to list all commands"); + } std::ostringstream os; os << cmd << ' '; if (action == defs::HELP_ACTION) { @@ -2713,53 +2736,30 @@ std::string CmdProxy::PatternLoopAddresses(int action) { os << "[start addr] [stop addr] \n\t[Ctb][Moench][Mythen3] Limits " "of complete pattern." << '\n'; - } else if (cmd == "patloop0") { - os << "[start addr] [stop addr] \n\t[Ctb][Moench][Mythen3] Limits " - "of loop 0." - << '\n'; - } else if (cmd == "patloop1") { - os << "[start addr] [stop addr] \n\t[Ctb][Moench][Mythen3] Limits " - "of loop 1." - << '\n'; - } else if (cmd == "patloop2") { - os << "[start addr] [stop addr] \n\t[Ctb][Moench][Mythen3] Limits " - "of loop 2." + } else if (cmd == "patloop") { + os << "[0-6] [start addr] [stop addr] \n\t[Ctb][Moench][Mythen3] Limits of the loop level provided." + << "\n\t[Mythen3] Level options: 0-3 only." << '\n'; } else { - throw RuntimeError( - "Unknown command, use list to list all commands"); - } + os << "Depreciated command. Use patloop." + << '\n'; + } } else { - int level = -1; - if (cmd == "patlimits") { - level = -1; - } else if (cmd == "patloop0") { - level = 0; - } else if (cmd == "patloop1") { - level = 1; - } else if (cmd == "patloop2") { - level = 2; - } else { - throw RuntimeError( - "Unknown command, use list to list all commands"); + int level = -1, iArg = 0, nGetArgs = 0, nPutArgs = 2; + if (cmd != "patlimits") { + GetLevelAndUpdateArgIndex(action, "patloop", level, iArg, nGetArgs, nPutArgs); } if (action == defs::GET_ACTION) { - if (!args.empty()) { - WrongNumberOfParameters(0); - } auto t = det->getPatternLoopAddresses(level, std::vector{det_id}); os << OutStringHex(t, 4) << '\n'; } else if (action == defs::PUT_ACTION) { - if (args.size() != 2) { - WrongNumberOfParameters(2); - } - int start = StringTo(args[0]); - int stop = StringTo(args[1]); + int start = StringTo(args[iArg++]); + int stop = StringTo(args[iArg++]); det->setPatternLoopAddresses(level, start, stop, - std::vector{det_id}); + std::vector{det_id}); os << '[' << ToStringHex(start, 4) << ", " << ToStringHex(stop, 4) - << "]\n"; + << "]\n"; } else { throw RuntimeError("Unknown action"); } @@ -2768,50 +2768,32 @@ std::string CmdProxy::PatternLoopAddresses(int action) { } std::string CmdProxy::PatternLoopCycles(int action) { + if (cmd != "patnloop0" && cmd != "patnloop1" && cmd != "patnloop2" && cmd != "patnloop") { + throw RuntimeError( + "Unknown command, use list to list all commands"); + } std::ostringstream os; os << cmd << ' '; if (action == defs::HELP_ACTION) { - if (cmd == "patnloop0") { - os << "[n_cycles] \n\t[Ctb][Moench][Mythen3] Number of cycles of " - "loop 0." - << '\n'; - } else if (cmd == "patnloop1") { - os << "[n_cycles] \n\t[Ctb][Moench][Mythen3] Number of cycles of " - "loop 1." - << '\n'; - } else if (cmd == "patnloop2") { - os << "[n_cycles] \n\t[Ctb][Moench][Mythen3] Number of cycles of " - "loop 2." + if (cmd == "patnloop") { + os << "[0-6] [n_cycles] \n\t[Ctb][Moench][Mythen3] Number of cycles of " + "the loop level provided." + << "\n\t[Mythen3] Level options: 0-3 only." << '\n'; } else { - throw RuntimeError( - "Unknown command, use list to list all commands"); - } + os << "Depreciated command. Use patnloop." + << '\n'; + } } else { - int level = -1; - if (cmd == "patnloop0") { - level = 0; - } else if (cmd == "patnloop1") { - level = 1; - } else if (cmd == "patnloop2") { - level = 2; - } else { - throw RuntimeError( - "Unknown command, use list to list all commands"); - } + int level = -1, iArg = 0, nGetArgs = 0, nPutArgs = 1; + GetLevelAndUpdateArgIndex(action, "patnloop", level, iArg, nGetArgs, nPutArgs); if (action == defs::GET_ACTION) { - if (!args.empty()) { - WrongNumberOfParameters(0); - } auto t = det->getPatternLoopCycles(level, std::vector{det_id}); os << OutString(t) << '\n'; } else if (action == defs::PUT_ACTION) { - if (args.size() != 1) { - WrongNumberOfParameters(1); - } - det->setPatternLoopCycles(level, StringTo(args[0]), - std::vector{det_id}); - os << args.front() << '\n'; + int nloops = StringTo(args[iArg++]); + det->setPatternLoopCycles(level, nloops, std::vector{det_id}); + os << nloops << '\n'; } else { throw RuntimeError("Unknown action"); } @@ -2820,42 +2802,28 @@ std::string CmdProxy::PatternLoopCycles(int action) { } std::string CmdProxy::PatternWaitAddress(int action) { + if (cmd != "patwait0" && cmd != "patwait1" && cmd != "patwait2" && cmd != "patwait") { + throw RuntimeError( + "Unknown command, use list to list all commands"); + } std::ostringstream os; os << cmd << ' '; if (action == defs::HELP_ACTION) { - if (cmd == "patwait0") { - os << "[addr] \n\t[Ctb][Moench][Mythen3] Wait 0 address." << '\n'; - } else if (cmd == "patwait1") { - os << "[addr] \n\t[Ctb][Moench][Mythen3] Wait 1 address." << '\n'; - } else if (cmd == "patwait2") { - os << "[addr] \n\t[Ctb][Moench][Mythen3] Wait 2 address." << '\n'; + if (cmd == "patwait") { + os << "[0-6] [addr] \n\t[Ctb][Moench][Mythen3] Wait address for loop level provided." + << "\n\t[Mythen3] Level options: 0-3 only."; } else { - throw RuntimeError( - "Unknown command, use list to list all commands"); + os << "Depreciated command. Use patwait."; } + os << '\n'; } else { - int level = -1; - if (cmd == "patwait0") { - level = 0; - } else if (cmd == "patwait1") { - level = 1; - } else if (cmd == "patwait2") { - level = 2; - } else { - throw RuntimeError( - "Unknown command, use list to list all commands"); - } + int level = -1, iArg = 0, nGetArgs = 0, nPutArgs = 1; + GetLevelAndUpdateArgIndex(action, "patwait", level, iArg, nGetArgs, nPutArgs); if (action == defs::GET_ACTION) { - if (!args.empty()) { - WrongNumberOfParameters(0); - } auto t = det->getPatternWaitAddr(level, std::vector{det_id}); os << OutStringHex(t, 4) << '\n'; } else if (action == defs::PUT_ACTION) { - if (args.size() != 1) { - WrongNumberOfParameters(1); - } - int addr = StringTo(args[0]); + int addr = StringTo(args[iArg++]); det->setPatternWaitAddr(level, addr, std::vector{det_id}); os << ToStringHex(addr, 4) << '\n'; } else { @@ -2866,50 +2834,32 @@ std::string CmdProxy::PatternWaitAddress(int action) { } std::string CmdProxy::PatternWaitTime(int action) { + if (cmd != "patwaittime0" && cmd != "patwaittime1" && cmd != "patwaittime2" && cmd != "patwaittime") { + throw RuntimeError( + "Unknown command, use list to list all commands"); + } std::ostringstream os; os << cmd << ' '; if (action == defs::HELP_ACTION) { - if (cmd == "patwaittime0") { - os << "[n_clk] \n\t[Ctb][Moench][Mythen3] Wait 0 time in clock " - "cycles." - << '\n'; - } else if (cmd == "patwaittime1") { - os << "[n_clk] \n\t[Ctb][Moench][Mythen3] Wait 1 time in clock " - "cycles." - << '\n'; - } else if (cmd == "patwaittime2") { - os << "[n_clk] \n\t[Ctb][Moench][Mythen3] Wait 2 time in clock " - "cycles." + if (cmd == "patwaittime") { + os << "[0-6] [n_clk] \n\t[Ctb][Moench][Mythen3] Wait time in clock " + "cycles for the loop provided." + << "\n\t[Mythen3] Level options: 0-3 only." << '\n'; } else { - throw RuntimeError( - "Unknown command, use list to list all commands"); - } + os << "Depreciated command. Use patwaittime." + << '\n'; + } } else { - int level = -1; - if (cmd == "patwaittime0") { - level = 0; - } else if (cmd == "patwaittime1") { - level = 1; - } else if (cmd == "patwaittime2") { - level = 2; - } else { - throw RuntimeError( - "Unknown command, use list to list all commands"); - } + int level = -1, iArg = 0, nGetArgs = 0, nPutArgs = 1; + GetLevelAndUpdateArgIndex(action, "patwaittime", level, iArg, nGetArgs, nPutArgs); if (action == defs::GET_ACTION) { - if (!args.empty()) { - WrongNumberOfParameters(0); - } auto t = det->getPatternWaitTime(level, std::vector{det_id}); os << OutString(t) << '\n'; } else if (action == defs::PUT_ACTION) { - if (args.size() != 1) { - WrongNumberOfParameters(1); - } - det->setPatternWaitTime(level, StringTo(args[0]), - {det_id}); - os << args.front() << '\n'; + uint64_t waittime = StringTo(args[iArg++]); + det->setPatternWaitTime(level, waittime, {det_id}); + os << waittime << '\n'; } else { throw RuntimeError("Unknown action"); } diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 5a9f99553..dcfa3d4b5 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -1049,15 +1049,19 @@ class CmdProxy { {"patioctrl", &CmdProxy::patioctrl}, {"patword", &CmdProxy::PatternWord}, {"patlimits", &CmdProxy::PatternLoopAddresses}, + {"patloop", &CmdProxy::PatternLoopAddresses}, {"patloop0", &CmdProxy::PatternLoopAddresses}, {"patloop1", &CmdProxy::PatternLoopAddresses}, {"patloop2", &CmdProxy::PatternLoopAddresses}, + {"patnloop", &CmdProxy::PatternLoopCycles}, {"patnloop0", &CmdProxy::PatternLoopCycles}, {"patnloop1", &CmdProxy::PatternLoopCycles}, {"patnloop2", &CmdProxy::PatternLoopCycles}, + {"patwait", &CmdProxy::PatternWaitAddress}, {"patwait0", &CmdProxy::PatternWaitAddress}, {"patwait1", &CmdProxy::PatternWaitAddress}, {"patwait2", &CmdProxy::PatternWaitAddress}, + {"patwaittime", &CmdProxy::PatternWaitTime}, {"patwaittime0", &CmdProxy::PatternWaitTime}, {"patwaittime1", &CmdProxy::PatternWaitTime}, {"patwaittime2", &CmdProxy::PatternWaitTime}, @@ -1192,6 +1196,7 @@ class CmdProxy { /* Pattern */ std::string Pattern(int action); std::string PatternWord(int action); + void GetLevelAndUpdateArgIndex(int action, std::string levelSeparatedCommand, int& level, int& iArg, size_t nGetArgs, size_t nPutArgs); std::string PatternLoopAddresses(int action); std::string PatternLoopCycles(int action); std::string PatternWaitAddress(int action); diff --git a/slsDetectorSoftware/src/Pattern.cpp b/slsDetectorSoftware/src/Pattern.cpp index a804f0d71..3797340f1 100644 --- a/slsDetectorSoftware/src/Pattern.cpp +++ b/slsDetectorSoftware/src/Pattern.cpp @@ -29,8 +29,12 @@ bool Pattern::operator==(const Pattern &other) const { if (pat->limits[i] != other.pat->limits[i]) return false; } - for (size_t i = 0; i < (sizeof(pat->loop) / sizeof(pat->loop[0])); ++i) { - if (pat->loop[i] != other.pat->loop[i]) + for (size_t i = 0; i < (sizeof(pat->startloop) / sizeof(pat->startloop[0])); ++i) { + if (pat->startloop[i] != other.pat->startloop[i]) + return false; + } + for (size_t i = 0; i < (sizeof(pat->stoploop) / sizeof(pat->stoploop[0])); ++i) { + if (pat->stoploop[i] != other.pat->stoploop[i]) return false; } for (size_t i = 0; i < (sizeof(pat->nloop) / sizeof(pat->nloop[0])); ++i) { @@ -63,13 +67,13 @@ void Pattern::validate() const { ToString(pat->limits[0]) + std::string(", ") + ToString(pat->limits[1]) + std::string("]")); } - for (int i = 0; i != 3; ++i) { - if (pat->loop[i * 2 + 0] >= MAX_PATTERN_LENGTH || - pat->loop[i * 2 + 1] >= MAX_PATTERN_LENGTH) { + for (int i = 0; i != MAX_PATTERN_LEVELS; ++i) { + if (pat->startloop[i] >= MAX_PATTERN_LENGTH || + pat->stoploop[i] >= MAX_PATTERN_LENGTH) { throw RuntimeError( "Invalid Pattern loop address for level " + ToString(i) + - std::string(" [") + ToString(pat->loop[i * 2 + 0]) + - std::string(", ") + ToString(pat->loop[i * 2 + 1]) + + std::string(" [") + ToString(pat->startloop[i]) + + std::string(", ") + ToString(pat->stoploop[i]) + std::string("]")); } if (pat->wait[i] >= MAX_PATTERN_LENGTH) { @@ -125,41 +129,94 @@ void Pattern::load(const std::string &fname) { } pat->limits[0] = StringTo(args[1]); pat->limits[1] = StringTo(args[2]); - } else if (cmd == "patloop0" || cmd == "patloop1" || - cmd == "patloop2") { - if (nargs != 2) { - throw RuntimeError("Invalid arguments for " + - ToString(args)); + } + else if (cmd == "patloop0" || cmd == "patloop1" || + cmd == "patloop2" || cmd == "patloop") { + int level = -1, iArg = 1; + if (cmd == "patloop") { + if (nargs != 3) { + throw RuntimeError("Invalid arguments for " + + ToString(args)); + } + level = StringTo(args[iArg++]); + } else { + LOG(logWARNING) << "Depreciated command. Please use patloop next time."; + if (nargs != 2) { + throw RuntimeError("Invalid arguments for " + + ToString(args)); + } + level = cmd[cmd.find_first_of("012")] - '0'; } - int level = cmd[cmd.find_first_of("012")] - '0'; - int loop1 = StringTo(args[1]); - int loop2 = StringTo(args[2]); - pat->loop[level * 2 + 0] = loop1; - pat->loop[level * 2 + 1] = loop2; + if (level < 0 || level >= MAX_PATTERN_LEVELS) { + throw RuntimeError("Invalid Pattern level. Options 0-" + std::to_string(MAX_PATTERN_LEVELS - 1)); + } + int loop1 = StringTo(args[iArg++]); + int loop2 = StringTo(args[iArg++]); + pat->startloop[level] = loop1; + pat->stoploop[level] = loop2; } else if (cmd == "patnloop0" || cmd == "patnloop1" || - cmd == "patnloop2") { - if (nargs != 1) { - throw RuntimeError("Invalid arguments for " + - ToString(args)); + cmd == "patnloop2" || cmd == "patnloop") { + int level = -1, iArg = 1; + if (cmd == "patnloop") { + if (nargs != 2) { + throw RuntimeError("Invalid arguments for " + + ToString(args)); + } + level = StringTo(args[iArg++]); + } else { + LOG(logWARNING) << "Depreciated command. Please use patnloop next time."; + if (nargs != 1) { + throw RuntimeError("Invalid arguments for " + + ToString(args)); + } + level = cmd[cmd.find_first_of("012")] - '0'; } - int level = cmd[cmd.find_first_of("012")] - '0'; - pat->nloop[level] = StringTo(args[1]); + if (level < 0 || level >= MAX_PATTERN_LEVELS) { + throw RuntimeError("Invalid Pattern level. Options 0-" + std::to_string(MAX_PATTERN_LEVELS - 1)); + } + pat->nloop[level] = StringTo(args[iArg++]); } else if (cmd == "patwait0" || cmd == "patwait1" || - cmd == "patwait2") { - if (nargs != 1) { - throw RuntimeError("Invalid arguments for " + - ToString(args)); + cmd == "patwait2" || cmd == "patwait") { + int level = -1, iArg = 1; + if (cmd == "patwait") { + if (nargs != 2) { + throw RuntimeError("Invalid arguments for " + + ToString(args)); + } + level = StringTo(args[iArg++]); + } else { + LOG(logWARNING) << "Depreciated command. Please use patwait next time."; + if (nargs != 1) { + throw RuntimeError("Invalid arguments for " + + ToString(args)); + } + level = cmd[cmd.find_first_of("012")] - '0'; } - int level = cmd[cmd.find_first_of("012")] - '0'; - pat->wait[level] = StringTo(args[1]); + if (level < 0 || level >= MAX_PATTERN_LEVELS) { + throw RuntimeError("Invalid Pattern level. Options 0-" + std::to_string(MAX_PATTERN_LEVELS - 1)); + } + pat->wait[level] = StringTo(args[iArg++]); } else if (cmd == "patwaittime0" || cmd == "patwaittime1" || - cmd == "patwaittime2") { - if (nargs != 1) { - throw RuntimeError("Invalid arguments for " + - ToString(args)); + cmd == "patwaittime2" || cmd == "patwaittime") { + int level = -1, iArg = 1; + if (cmd == "patwaittime") { + if (nargs != 2) { + throw RuntimeError("Invalid arguments for " + + ToString(args)); + } + level = StringTo(args[iArg++]); + } else { + LOG(logWARNING) << "Depreciated command. Please use patwaittime next time."; + if (nargs != 1) { + throw RuntimeError("Invalid arguments for " + + ToString(args)); + } + level = cmd[cmd.find_first_of("012")] - '0'; } - int level = cmd[cmd.find_first_of("012")] - '0'; - pat->waittime[level] = StringTo(args[1]); + if (level < 0 || level >= MAX_PATTERN_LEVELS) { + throw RuntimeError("Invalid Pattern level. Options 0-" + std::to_string(MAX_PATTERN_LEVELS - 1)); + } + pat->waittime[level] = StringTo(args[iArg++]); } else { throw RuntimeError("Unknown command in pattern file " + cmd); } @@ -187,21 +244,21 @@ void Pattern::save(const std::string &fname) { output_file << "patlimits " << ToStringHex(pat->limits[0], 4) << " " << ToStringHex(pat->limits[1], 4) << std::endl; - for (size_t i = 0; i < 3; ++i) { + for (size_t i = 0; i < MAX_PATTERN_LEVELS; ++i) { // patloop - output_file << "patloop" << i << " " - << ToStringHex(pat->loop[i * 2 + 0], 4) << " " - << ToStringHex(pat->loop[i * 2 + 1], 4) << std::endl; + output_file << "patloop " << i << " " + << ToStringHex(pat->startloop[i], 4) << " " + << ToStringHex(pat->stoploop[i], 4) << std::endl; // patnloop - output_file << "patnloop" << i << " " << pat->nloop[i] << std::endl; + output_file << "patnloop " << i << " " << pat->nloop[i] << std::endl; } - for (size_t i = 0; i < 3; ++i) { + for (size_t i = 0; i < MAX_PATTERN_LEVELS; ++i) { // patwait - output_file << "patwait" << i << " " << ToStringHex(pat->wait[i], 4) + output_file << "patwait " << i << " " << ToStringHex(pat->wait[i], 4) << std::endl; // patwaittime - output_file << "patwaittime" << i << " " << pat->waittime[i] + output_file << "patwaittime " << i << " " << pat->waittime[i] << std::endl; } } @@ -219,23 +276,17 @@ std::string Pattern::str() const { } oss << "patioctrl " << ToStringHex(pat->ioctrl, word_width) << std::endl << "patlimits " << ToStringHex(pat->limits[0], addr_width) << " " - << ToStringHex(pat->limits[1], addr_width) << std::endl - << "patloop0 " << ToStringHex(pat->loop[0], addr_width) << " " - << ToStringHex(pat->loop[1], addr_width) << std::endl - << "patnloop0 " << pat->nloop[0] << std::endl - << "patloop1 " << ToStringHex(pat->loop[2], addr_width) << " " - << ToStringHex(pat->loop[3], addr_width) << std::endl - << "patnloop1 " << pat->nloop[1] << std::endl - << "patloop2 " << ToStringHex(pat->loop[4], addr_width) << " " - << ToStringHex(pat->loop[5], addr_width) << std::endl - << "patnloop2 " << pat->nloop[2] << std::endl - << "patwait0 " << ToStringHex(pat->wait[0], addr_width) << std::endl - << "patwaittime0 " << pat->waittime[0] << std::endl - << "patwait1 " << ToStringHex(pat->wait[1], addr_width) << std::endl - << "patwaittime1 " << pat->waittime[1] << std::endl - << "patwait2 " << ToStringHex(pat->wait[2], addr_width) << std::endl - << "patwaittime2 " << pat->waittime[2] << std::endl - << ']'; + << ToStringHex(pat->limits[1], addr_width) << std::endl; + + for (int i = 0; i != MAX_PATTERN_LEVELS; ++i) { + oss << "patloop " << i << ' ' << ToStringHex(pat->startloop[i], addr_width) << " " + << ToStringHex(pat->stoploop[i], addr_width) << std::endl + << "patnloop " << pat->nloop[i] << std::endl + << "patwait " << i << ' ' << ToStringHex(pat->wait[i], addr_width) << std::endl + << "patwaittime " << i << ' ' << pat->waittime[i] << std::endl; + } + + oss << ']'; return oss.str(); } diff --git a/slsDetectorSoftware/tests/test-CmdProxy-pattern.cpp b/slsDetectorSoftware/tests/test-CmdProxy-pattern.cpp index 661bab5d5..b06aadb6a 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-pattern.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-pattern.cpp @@ -154,315 +154,187 @@ TEST_CASE("patlimits", "[.cmd]") { } } -TEST_CASE("patloop0", "[.cmd]") { +TEST_CASE("patloop", "[.cmd]") { Detector det; CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternLoopAddresses(0); - { - std::ostringstream oss; - proxy.Call("patloop0", {"0x20", "0x5c"}, -1, PUT, oss); - REQUIRE(oss.str() == "patloop0 [0x0020, 0x005c]\n"); - } - { - std::ostringstream oss; - proxy.Call("patloop0", {}, -1, GET, oss); - REQUIRE(oss.str() == "patloop0 [0x0020, 0x005c]\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternLoopAddresses(0, prev_val[i][0], prev_val[i][1], {i}); + for (int iLoop = 0; iLoop != MAX_PATTERN_LEVELS; ++iLoop) { + // m3 only has 3 levels + if (det_type == defs::MYTHEN3 && iLoop >= 3) { + continue; + } + auto prev_val = det.getPatternLoopAddresses(iLoop); + std::string sLoop = ToString(iLoop); + if (iLoop < 3) { + std::string deprecatedCmd = "patloop" + sLoop; + {// depreciated + std::ostringstream oss; + proxy.Call(deprecatedCmd, {"0x20", "0x5c"}, -1, PUT, oss); + REQUIRE(oss.str() == deprecatedCmd + " [0x0020, 0x005c]\n"); + } + {// depreciated + std::ostringstream oss; + proxy.Call(deprecatedCmd, {}, -1, GET, oss); + REQUIRE(oss.str() == deprecatedCmd + " [0x0020, 0x005c]\n"); + } + } + { + std::ostringstream oss; + proxy.Call("patloop", {sLoop, "0x20", "0x5c"}, -1, PUT, oss); + REQUIRE(oss.str() == "patloop [0x0020, 0x005c]\n"); + } + { + std::ostringstream oss; + proxy.Call("patloop", {sLoop}, -1, GET, oss); + REQUIRE(oss.str() == "patloop [0x0020, 0x005c]\n"); + } + for (int iDet = 0; iDet != det.size(); ++iDet) { + det.setPatternLoopAddresses(iLoop, prev_val[iDet][0], prev_val[iDet][1], {iDet}); + } } } else { - REQUIRE_THROWS(proxy.Call("patloop0", {}, -1, GET)); + REQUIRE_THROWS(proxy.Call("patloop", {"0"}, -1, GET)); } } -TEST_CASE("patloop1", "[.cmd]") { +TEST_CASE("patnloop", "[.cmd]") { Detector det; CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternLoopAddresses(1); - { - std::ostringstream oss; - proxy.Call("patloop1", {"0x20", "0x5c"}, -1, PUT, oss); - REQUIRE(oss.str() == "patloop1 [0x0020, 0x005c]\n"); - } - { - std::ostringstream oss; - proxy.Call("patloop1", {}, -1, GET, oss); - REQUIRE(oss.str() == "patloop1 [0x0020, 0x005c]\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternLoopAddresses(1, prev_val[i][0], prev_val[i][1], {i}); + for (int iLoop = 0; iLoop != MAX_PATTERN_LEVELS; ++iLoop) { + // m3 only has 3 levels + if (det_type == defs::MYTHEN3 && iLoop >= 3) { + continue; + } + auto prev_val = det.getPatternLoopCycles(iLoop); + std::string sLoop = ToString(iLoop); + if (iLoop < 3) { + std::string deprecatedCmd = "patnloop" + sLoop; + {// depreciated + std::ostringstream oss; + proxy.Call(deprecatedCmd, {"5"}, -1, PUT, oss); + REQUIRE(oss.str() == deprecatedCmd + " 5\n"); + } + {// depreciated + std::ostringstream oss; + proxy.Call(deprecatedCmd, {}, -1, GET, oss); + REQUIRE(oss.str() == deprecatedCmd + " 5\n"); + } + } + { + std::ostringstream oss; + proxy.Call("patnloop", {sLoop, "5"}, -1, PUT, oss); + REQUIRE(oss.str() == "patnloop 5\n"); + } + { + std::ostringstream oss; + proxy.Call("patnloop", {sLoop}, -1, GET, oss); + REQUIRE(oss.str() == "patnloop 5\n"); + } + for (int iDet = 0; iDet != det.size(); ++iDet) { + det.setPatternLoopCycles(iLoop, prev_val[iDet], {iDet}); + } } } else { - REQUIRE_THROWS(proxy.Call("patloop1", {}, -1, GET)); + REQUIRE_THROWS(proxy.Call("patnloop", {"0"}, -1, GET)); } } -TEST_CASE("patloop2", "[.cmd]") { +TEST_CASE("patwait", "[.cmd]") { Detector det; CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternLoopAddresses(2); - { - std::ostringstream oss; - proxy.Call("patloop2", {"0x20", "0x5c"}, -1, PUT, oss); - REQUIRE(oss.str() == "patloop2 [0x0020, 0x005c]\n"); - } - { - std::ostringstream oss; - proxy.Call("patloop2", {}, -1, GET, oss); - REQUIRE(oss.str() == "patloop2 [0x0020, 0x005c]\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternLoopAddresses(2, prev_val[i][0], prev_val[i][1], {i}); + for (int iLoop = 0; iLoop != MAX_PATTERN_LEVELS; ++iLoop) { + // m3 only has 3 levels + if (det_type == defs::MYTHEN3 && iLoop >= 3) { + continue; + } + auto prev_val = det.getPatternWaitAddr(iLoop); + std::string sLoop = ToString(iLoop); + if (iLoop < 3) { + std::string deprecatedCmd = "patwait" + sLoop; + {// depreciated + std::ostringstream oss; + proxy.Call(deprecatedCmd, {"0x5c"}, -1, PUT, oss); + REQUIRE(oss.str() == deprecatedCmd + " 0x005c\n"); + } + {// depreciated + std::ostringstream oss; + proxy.Call(deprecatedCmd, {}, -1, GET, oss); + REQUIRE(oss.str() == deprecatedCmd + " 0x005c\n"); + } + } + { + std::ostringstream oss; + proxy.Call("patwait", {sLoop, "0x5c"}, -1, PUT, oss); + REQUIRE(oss.str() == "patwait 0x005c\n"); + } + { + std::ostringstream oss; + proxy.Call("patwait", {sLoop}, -1, GET, oss); + REQUIRE(oss.str() == "patwait 0x005c\n"); + } + for (int iDet = 0; iDet != det.size(); ++iDet) { + det.setPatternWaitAddr(iLoop, prev_val[iDet], {iDet}); + } } } else { - REQUIRE_THROWS(proxy.Call("patloop2", {}, -1, GET)); + REQUIRE_THROWS(proxy.Call("patwait", {"0"}, -1, GET)); } } -TEST_CASE("patnloop0", "[.cmd]") { +TEST_CASE("patwaittime", "[.cmd]") { Detector det; CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternLoopCycles(0); - { - std::ostringstream oss; - proxy.Call("patnloop0", {"5"}, -1, PUT, oss); - REQUIRE(oss.str() == "patnloop0 5\n"); - } - { - std::ostringstream oss; - proxy.Call("patnloop0", {}, -1, GET, oss); - REQUIRE(oss.str() == "patnloop0 5\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternLoopCycles(0, prev_val[i], {i}); + for (int iLoop = 0; iLoop != MAX_PATTERN_LEVELS; ++iLoop) { + // m3 only has 3 levels + if (det_type == defs::MYTHEN3 && iLoop >= 3) { + continue; + } + auto prev_val = det.getPatternWaitTime(iLoop); + std::string sLoop = ToString(iLoop); + if (iLoop < 3) { + std::string deprecatedCmd = "patwaittime" + sLoop; + {// depreciated + std::ostringstream oss; + proxy.Call(deprecatedCmd, {"8589936640"}, -1, PUT, oss); + REQUIRE(oss.str() == deprecatedCmd + " 8589936640\n"); + } + {// depreciated + std::ostringstream oss; + proxy.Call(deprecatedCmd, {}, -1, GET, oss); + REQUIRE(oss.str() == deprecatedCmd + " 8589936640\n"); + } + } + { + std::ostringstream oss; + proxy.Call("patwaittime", {sLoop, "8589936640"}, -1, PUT, oss); + REQUIRE(oss.str() == "patwaittime 8589936640\n"); + } + { + std::ostringstream oss; + proxy.Call("patwaittime", {sLoop}, -1, GET, oss); + REQUIRE(oss.str() == "patwaittime 8589936640\n"); + } + for (int iDet = 0; iDet != det.size(); ++iDet) { + det.setPatternWaitTime(iLoop, prev_val[iDet], {iDet}); + } } } else { - REQUIRE_THROWS(proxy.Call("patnloop0", {}, -1, GET)); - } -} - -TEST_CASE("patnloop1", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - - if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || - det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternLoopCycles(1); - { - std::ostringstream oss; - proxy.Call("patnloop1", {"5"}, -1, PUT, oss); - REQUIRE(oss.str() == "patnloop1 5\n"); - } - { - std::ostringstream oss; - proxy.Call("patnloop1", {}, -1, GET, oss); - REQUIRE(oss.str() == "patnloop1 5\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternLoopCycles(1, prev_val[i], {i}); - } - } else { - REQUIRE_THROWS(proxy.Call("patnloop1", {}, -1, GET)); - } -} - -TEST_CASE("patnloop2", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - - if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || - det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternLoopCycles(2); - { - std::ostringstream oss; - proxy.Call("patnloop2", {"5"}, -1, PUT, oss); - REQUIRE(oss.str() == "patnloop2 5\n"); - } - { - std::ostringstream oss; - proxy.Call("patnloop2", {}, -1, GET, oss); - REQUIRE(oss.str() == "patnloop2 5\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternLoopCycles(2, prev_val[i], {i}); - } - } else { - REQUIRE_THROWS(proxy.Call("patnloop2", {}, -1, GET)); - } -} - -TEST_CASE("patwait0", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - - if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || - det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternWaitAddr(0); - { - std::ostringstream oss; - proxy.Call("patwait0", {"0x5c"}, -1, PUT, oss); - REQUIRE(oss.str() == "patwait0 0x005c\n"); - } - { - std::ostringstream oss; - proxy.Call("patwait0", {}, -1, GET, oss); - REQUIRE(oss.str() == "patwait0 0x005c\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternWaitAddr(0, prev_val[i], {i}); - } - } else { - REQUIRE_THROWS(proxy.Call("patwait0", {}, -1, GET)); - } -} - -TEST_CASE("patwait1", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - - if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || - det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternWaitAddr(1); - { - std::ostringstream oss; - proxy.Call("patwait1", {"0x5c"}, -1, PUT, oss); - REQUIRE(oss.str() == "patwait1 0x005c\n"); - } - { - std::ostringstream oss; - proxy.Call("patwait1", {}, -1, GET, oss); - REQUIRE(oss.str() == "patwait1 0x005c\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternWaitAddr(1, prev_val[i], {i}); - } - } else { - REQUIRE_THROWS(proxy.Call("patwait1", {}, -1, GET)); - } -} - -TEST_CASE("patwait2", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - - if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || - det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternWaitAddr(2); - { - std::ostringstream oss; - proxy.Call("patwait2", {"0x5c"}, -1, PUT, oss); - REQUIRE(oss.str() == "patwait2 0x005c\n"); - } - { - std::ostringstream oss; - proxy.Call("patwait2", {}, -1, GET, oss); - REQUIRE(oss.str() == "patwait2 0x005c\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternWaitAddr(2, prev_val[i], {i}); - } - } else { - REQUIRE_THROWS(proxy.Call("patwait2", {}, -1, GET)); - } -} - -TEST_CASE("patwaittime0", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - - if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || - det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternWaitTime(0); - { - std::ostringstream oss; - proxy.Call("patwaittime0", {"8589936640"}, -1, PUT, oss); - REQUIRE(oss.str() == "patwaittime0 8589936640\n"); - } - { - std::ostringstream oss; - proxy.Call("patwaittime0", {}, -1, GET, oss); - REQUIRE(oss.str() == "patwaittime0 8589936640\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternWaitTime(0, prev_val[i], {i}); - } - } else { - REQUIRE_THROWS(proxy.Call("patwaittime0", {}, -1, GET)); - } -} - -TEST_CASE("patwaittime1", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - - if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || - det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternWaitTime(1); - { - std::ostringstream oss; - proxy.Call("patwaittime1", {"8589936640"}, -1, PUT, oss); - REQUIRE(oss.str() == "patwaittime1 8589936640\n"); - } - { - std::ostringstream oss; - proxy.Call("patwaittime1", {}, -1, GET, oss); - REQUIRE(oss.str() == "patwaittime1 8589936640\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternWaitTime(1, prev_val[i], {i}); - } - } else { - REQUIRE_THROWS(proxy.Call("patwaittime1", {}, -1, GET)); - } -} - -TEST_CASE("patwaittime2", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - - if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH || - det_type == defs::MYTHEN3) { - auto prev_val = det.getPatternWaitTime(2); - { - std::ostringstream oss; - proxy.Call("patwaittime2", {"8589936640"}, -1, PUT, oss); - REQUIRE(oss.str() == "patwaittime2 8589936640\n"); - } - { - std::ostringstream oss; - proxy.Call("patwaittime2", {}, -1, GET, oss); - REQUIRE(oss.str() == "patwaittime2 8589936640\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setPatternWaitTime(2, prev_val[i], {i}); - } - } else { - REQUIRE_THROWS(proxy.Call("patwaittime2", {}, -1, GET)); + REQUIRE_THROWS(proxy.Call("patwaittime", {"0"}, -1, GET)); } } diff --git a/slsDetectorSoftware/tests/test-Pattern.cpp b/slsDetectorSoftware/tests/test-Pattern.cpp index 3c7c6abd5..5d74d530f 100644 --- a/slsDetectorSoftware/tests/test-Pattern.cpp +++ b/slsDetectorSoftware/tests/test-Pattern.cpp @@ -14,9 +14,9 @@ TEST_CASE("Pattern is default constructable and has zeroed fields") { TEST_CASE("Copy construct pattern") { Pattern p; - p.data()->loop[0] = 7; + p.data()->startloop[0] = 7; Pattern p1(p); - REQUIRE(p1.data()->loop[0] == 7); + REQUIRE(p1.data()->startloop[0] == 7); } TEST_CASE("Compare patterns") { diff --git a/slsSupportLib/include/sls/sls_detector_defs.h b/slsSupportLib/include/sls/sls_detector_defs.h index 7e2c77078..677075ee4 100644 --- a/slsSupportLib/include/sls/sls_detector_defs.h +++ b/slsSupportLib/include/sls/sls_detector_defs.h @@ -20,6 +20,7 @@ // C++ includes #include "sls/sls_detector_exceptions.h" #include +#include #include #include #include @@ -69,6 +70,8 @@ #define SHORT_STR_LENGTH 20 #define MAX_PATTERN_LENGTH 0x2000 +#define MAX_PATTERN_LEVELS 6 +#define M3_MAX_PATTERN_LEVELS 3 #define DEFAULT_STREAMING_TIMER_IN_MS 500 diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 009c47fcb..fbd1dab47 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -5,10 +5,10 @@ #define APILIB 0x220609 #define APIRECEIVER 0x220609 #define APIGUI 0x220609 -#define APICTB 0x220705 -#define APIGOTTHARD 0x220705 -#define APIGOTTHARD2 0x220705 -#define APIJUNGFRAU 0x220705 -#define APIMYTHEN3 0x220705 -#define APIMOENCH 0x220602 -#define APIEIGER 0x220705 +#define APICTB 0x220714 +#define APIGOTTHARD 0x220714 +#define APIGOTTHARD2 0x220714 +#define APIJUNGFRAU 0x220714 +#define APIMYTHEN3 0x220714 +#define APIMOENCH 0x220714 +#define APIEIGER 0x220714