diff --git a/CMakeLists.txt b/CMakeLists.txt index 9891715fc..1313c48bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.14) project(slsDetectorPackage) # Read VERSION file into project version -set(VERSION_FILE "${CMAKE_SOURCE_DIR}/VERSION") +set(VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/VERSION") file(READ "${VERSION_FILE}" VERSION_CONTENT) string(STRIP "${VERSION_CONTENT}" PROJECT_VERSION_STRING) set(PROJECT_VERSION ${PROJECT_VERSION_STRING}) @@ -304,19 +304,20 @@ if (SLS_USE_INTEGRATION_TESTS) endif (SLS_USE_INTEGRATION_TESTS) if (SLS_USE_PYTHON) - find_package (Python 3.6 COMPONENTS Interpreter Development) + find_package (Python 3.8 COMPONENTS Interpreter Development) if(SLS_FETCH_PYBIND11_FROM_GITHUB) FetchContent_Declare( pybind11 GIT_REPOSITORY https://github.com/pybind/pybind11 - GIT_TAG v2.11.0 + GIT_TAG v2.13.6 ) else() + # https://github.com/pybind/pybind11/releases FetchContent_Declare( pybind11 - URL ${CMAKE_SOURCE_DIR}/libs/pybind11/v2.11.0.tar.gz - URL_HASH MD5=90c4946e87c64d8d8fc0ae4edf35d780 + URL ${CMAKE_CURRENT_SOURCE_DIR}/libs/pybind11/v2.13.6.tar.gz + URL_HASH MD5=a04dead9c83edae6d84e2e343da7feeb ) endif() FetchContent_MakeAvailable(pybind11) @@ -354,6 +355,4 @@ if(SLS_MASTER_PROJECT) set(CMAKE_INSTALL_DIR "share/cmake/${PROJECT_NAME}") set(PROJECT_LIBRARIES slsSupportShared slsDetectorShared slsReceiverShared) include(cmake/package_config.cmake) -endif() - -install(FILES ${CMAKE_SOURCE_DIR}/VERSION DESTINATION ${CMAKE_INSTALL_PREFIX}) \ No newline at end of file +endif() \ No newline at end of file diff --git a/README.md b/README.md index abee0e773..ebd84e4d0 100755 --- a/README.md +++ b/README.md @@ -2,7 +2,11 @@ Before building from source make sure that you have the [software wiki](https://slsdetectorgroup.github.io/devdoc/dependencies.html) installed. If installing using conda, conda will manage the dependencies. Avoid also installing packages with pip. ## Documentaion -Detailed documentation can be found in the [software wiki](https://slsdetectorgroup.github.io/devdoc/index.html) and on the [official site](https://www.psi.ch/en/detectors/software). +Detailed documentation including installation can be found in the [software wiki](https://slsdetectorgroup.github.io/devdoc/index.html). + +Different releases can be found on the [official site](https://www.psi.ch/en/lxn/software-releases). + +Firmware compatiblity can be found in [firmware page](https://github.com/slsdetectorgroup/slsDetectorFirmware) ## Installation @@ -42,33 +46,20 @@ conda search slsdet conda search slsdetgui ``` -### 2. Build from source +## 2. Build from source -##### 2.1 Download Source Code from github +### 2.1 Download Source Code from github ``` git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git --branch 7.0.0 ``` -**Pybind for Python**
-* **v7.0.0+**: -pybind11 packaged into 'libs/pybind'. No longer a submodule. No need for "recursive" or "submodule update". - -* **Older versions**: - pybind11 is a submodule. Must be cloned using "recursive" and updated when switching between versions using the following commands. - -``` -# clone using recursive to get pybind11 submodule -git clone --recursive https://github.com/slsdetectorgroup/slsDetectorPackage.git - -# update submodule when switching between releases -cd slsDetectorPackage -git submodule update --init -``` - -##### 2.2 Build from source +> **Note:** For v6.x.x of slsDetectorPackage and older, refer [pybind11 notes on cloning](#Pybind-and-Zeromq). -###### Build using CMake +### 2.2 Build from source + + +### Build using CMake ``` # outside slsDetecorPackage folder @@ -94,26 +85,28 @@ Instead of the cmake command, one can use ccmake to get a list of options to con ccmake .. # choose the options -# first press [c] - configure +# first press [c] - configure (unil you see [g]) # then press [g] - generate ``` |Example cmake options|Comment| |---|---| | -DSLS_USE_PYTHON=ON | Python | -| -DPython_FIND_VIRTUALENV=ONLY | Python from only the conda environment | -| -DZeroMQ_HINT=/usr/lib64 | Use system zmq instead | +| -DPython_FIND_VIRTUALENV=ONLY | Python from only the conda env | | -DSLS_USE_GUI=ON | GUI | +| -DSLS_USE_HDF5=ON | HDF5 | +| -DSLS_USE_SIMULATOR=ON | Simulator | +> **Note:** For v7.x.x of slsDetectorPackage and older, refer [zeromq notes for cmake option to hint library location](#Pybind-and-Zeromq). -###### Build using in-built cmk.sh script +### Build using in-built cmk.sh script ``` The binaries are generated in slsDetectorPackage/build/bin directory. -Usage: ./cmk.sh [-b] [-c] [-d ] [e] [g] [-h] [i] [-j ] -[-k ] [-l ] [m] [n] [-p] [-q ] -[r] [s] [t] [u] [z] +Usage: $0 [-b] [-c] [-d ] [-e] [-g] [-h] [-i] +[-j ] [-k ] [-l ] +[-m] [-n] [-p] [-r] [-s] [-t] [-u] [-z] -[no option]: only make -b: Builds/Rebuilds CMake files normal mode -c: Clean @@ -128,14 +121,13 @@ Usage: ./cmk.sh [-b] [-c] [-d ] [e] [g] [-h] [i] [-j ] [e] [g] [-h] [i] [-j **Note:** For v7.x.x of slsDetectorPackage and older, refer [zeromq notes for cmk script option to hint library location](#Pybind-and-Zeromq). + +### Build on old distributions If your linux distribution doesn't come with a C++11 compiler (gcc>4.8) then it's possible to install a newer gcc using conda and build the slsDetectorPackage @@ -166,7 +161,10 @@ cmake ../slsDetectorPackage -DCMAKE_PREFIX_PATH=$CONDA_PREFIX make -j12 ``` -###### Build slsDetectorGui (Qt5) +> **Note:** For v7.x.x of slsDetectorPackage and older, refer [zeromq notes for dependencies for conda](#Pybind-and-Zeromq). + + +### Build slsDetectorGui (Qt5) 1. Using pre-built binary on conda ``` @@ -180,7 +178,14 @@ yum install qt5-qtbase-devel.x86_64 yum install qt5-qtsvg-devel.x86_64 ``` -3. Using conda +3. Using system installation on RHEL8 +``` +yum install qt5-qtbase-devel.x86_64 +yum install qt5-qtsvg-devel.x86_64 +yum install expat-devel.x86_64 +``` + +4. Using conda ``` #Add channels for dependencies and our library conda config --add channels conda-forge @@ -208,13 +213,15 @@ cd slsDetectorPackage ./cmk.sh -cbgj9 ``` -###### Build documentation from package +> **Note:** For v7.x.x of slsDetectorPackage and older, refer [zeromq notes for dependencies for conda](#Pybind-and-Zeromq). + +### Build documentation from package The documentation for the slsDetectorPackage is build using a combination of Doxygen, Sphinx and Breathe. The easiest way to install the dependencies is to use conda ``` -conda create -n myenv python sphinx_rtd_theme breathe +conda create -n myenv python=3.12 sphinx sphinx_rtd_theme breathe doxygen numpy ``` ``` @@ -228,6 +235,47 @@ make rst # rst only, saves time in case the API did not change ``` + +## Pybind and Zeromq + +### Pybind11 for Python +**v8.0.0+**: +pybind11 is built +* by default from tar file in repo (libs/pybind/v2.1x.0.tar.gz) +* or use advanced option SLS_FETCH_PYBIND11_FROM_GITHUB [link]. + * v9.0.0+: pybind11 (v2.13.6) + * v8.x.x : pybind11 (v2.11.0) + +**v7.x.x**: +pybind11 packaged into ‘libs/pybind’. No longer a submodule. No need for “recursive” or “submodule update”. + +**Older versions**: +pybind11 is a submodule. Must be cloned using “recursive” and updated when switching between versions using the following commands. + +``` +# Note: Only for v6.x.x versions and older + +# clone using recursive to get pybind11 submodule +git clone --recursive https://github.com/slsdetectorgroup/slsDetectorPackage.git + +# update submodule when switching between releases +cd slsDetectorPackage +git submodule update --init +``` + +### Zeromq +**v8.0.0+**: +zeromq (v4.3.4) is built +* by default from tar file in repo (libs/libzmq/libzmq-4.3.4.tar.gz) +* or use advanced option SLS_FETCH_ZMQ_FROM_GITHUB [link]. + +**v7.x.x and older**: +zeromq-devel must be installed and one can hint its location using +* cmake option:’-DZeroMQ_HINT=/usr/lib64’ or +* option ‘-q’ in cmk.sh script: : ./cmk.sh -cbj5 -q /usr/lib64 +* ‘zeromq’ dependency added when installing using conda + + ## Support dhanya.thattil@psi.ch - erik.frojdh@psi.ch + erik.frojdh@psi.ch \ No newline at end of file diff --git a/conda-recipe/build_pylib.sh b/conda-recipe/build_pylib.sh index b2a2fb05f..18b0615ab 100755 --- a/conda-recipe/build_pylib.sh +++ b/conda-recipe/build_pylib.sh @@ -8,7 +8,4 @@ cd python # copy VERSION into slsdet for installation cp ../VERSION slsdet/VERSION -# to be used to get project version in meta.yaml -export SLS_DET_VERSION=$(cat python/slsdet/VERSION) - ${PYTHON} setup.py install diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 854fac56b..076e37ebc 100755 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -1,10 +1,6 @@ - -{% set version = environ.get('SLS_DET_VERSION', '0.0.0') %} - - package: name: sls_detector_software - version: "{{ version }}" + version: {{ environ.get('GIT_DESCRIBE_TAG', '') }} source: @@ -79,12 +75,13 @@ outputs: - {{compiler('cxx')}} - {{ pin_subpackage('slsdetlib', exact=True) }} - setuptools - - pybind11=2.11 + - pybind11=2.13 host: - python - {{ pin_subpackage('slsdetlib', exact=True) }} - - pybind11=2.11 + - setuptools + - pybind11=2.13 run: diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index 284ba0801..3a50020d6 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -64,7 +64,6 @@ set(SPHINX_SOURCE_FILES src/binaryfileformat.rst src/hdf5fileformat.rst src/zmqjsonheaderformat.rst - src/ctbframeformat.rst ) foreach(filename ${SPHINX_SOURCE_FILES}) diff --git a/docs/src/ctbframeformat.rst b/docs/src/ctbframeformat.rst deleted file mode 100644 index b782583d3..000000000 --- a/docs/src/ctbframeformat.rst +++ /dev/null @@ -1,81 +0,0 @@ -Chip Test Board Frame Format -================================ - -Contents of a frame --------------------- - -Each frame consists of 3 types of data in the following order: - - .. code-block:: text - - # only data from enabled modes are included - [ Analog Data ] - [ Digital Data ] - [ Transceiver Data ] - - -Each Data type is further divided into: - - .. code-block:: text - - [ Sample 0 for all enabled Channels ] - [ Sample 1 for all enabled Channels ] - ... - [ Sample N for all enabled Channels ] - - -Digital data -------------------- - -The chip test board sends out all digital data. - -Only the receiver can filter them using the command `rx_dbitlist `_. - - .. code-block:: text - - # filtered and reordered digital data from receiver - # Any signal that is not a byte is filled with 0's to make up a byte - - [all samples of list signal 0] - [all samples of list signal 1] - ... - [all samples of list signal N] - - - - -Parameters of readout modes ---------------------------------- - -.. list-table:: - :widths: 25 40 20 30 - :header-rows: 1 - - * - Readout mode - - Enable Channels - - Number of samples - - Number of bytes - * - Analog - - 1G: `adcenable `_ - - 10G: `adcenable10g `_ - - `asamples `_ - - 2 bytes per channel, - - max 32 channels - * - Digital - - `rx_dbitlist `_ - - [filtered only by receiver, module sends out all digital data] - - `dsamples `_ - - 1 bit per signal, - - max 64 signals - * - Transceiver - - `transceiverenable `_ - - `tsamples `_ - - 8 bytes per channel, - - max 4 channels - - diff --git a/docs/src/dependencies.rst b/docs/src/dependencies.rst index 846fc0ff1..344c41b24 100644 --- a/docs/src/dependencies.rst +++ b/docs/src/dependencies.rst @@ -20,8 +20,8 @@ the shared libraries these are needed: Python bindings ----------------------- - * Python > 3.6 - * pybind11 2.11.0 (packaged in libs) + * Python >= 3.8 + * pybind11 2.13.6 (packaged in libs) .. note :: diff --git a/docs/src/index.rst b/docs/src/index.rst index 25503e70d..2a333c03e 100644 --- a/docs/src/index.rst +++ b/docs/src/index.rst @@ -12,7 +12,7 @@ Welcome to slsDetectorPackage's documentation! For further documentation, visit the official page: https://www.psi.ch/en/detectors/documentation .. toctree:: - :maxdepth: 1 + :maxdepth: 3 :caption: Installation: installation @@ -88,7 +88,6 @@ Welcome to slsDetectorPackage's documentation! fileformat slsreceiverheaderformat - ctbframeformat masterfileattributes binaryfileformat hdf5fileformat diff --git a/docs/src/installation.rst b/docs/src/installation.rst index 30c7376fd..c63098425 100644 --- a/docs/src/installation.rst +++ b/docs/src/installation.rst @@ -1,9 +1,4 @@ -.. warning :: - - Before building from source make sure that you have the - :doc:`dependencies <../dependencies>` installed. If installing using conda, conda will - manage the dependencies. Avoid also installing packages with pip. - + .. _Installation: @@ -11,8 +6,18 @@ Installation =============== +One can either install pre-built binaries using conda or build from source. + +.. warning :: + + Before building from source make sure that you have the + :doc:`dependencies <../dependencies>` installed. If installing using conda, conda will + manage the dependencies. Avoid also installing packages with pip. + + + Install binaries using conda -------------------------------- +---------------------------------- Conda is not only useful to manage python environments but can also be used as a user space package manager. Dates in the tag (for eg. 2020.07.23.dev0) @@ -55,7 +60,7 @@ We have three different packages available: Build from source -------------------- +---------------------- 1. Download Source Code from github ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -75,8 +80,10 @@ Build from source 2. Build from Source ^^^^^^^^^^^^^^^^^^^^^^^^^^ +One can either build using cmake or use the in-built cmk.sh script. + Build using CMake -^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: bash @@ -103,7 +110,7 @@ Instead of the cmake command, one can use ccmake to get a list of options to con ccmake .. # choose the options - # first press [c] - configure (maybe multiple times till you see [g]) + # first press [c] - configure (until you see [g]) # then press [g] - generate @@ -123,7 +130,7 @@ Example cmake options Comment Build using in-built cmk.sh script -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: bash @@ -173,7 +180,7 @@ Build using in-built cmk.sh script Build on old distributions -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If your linux distribution doesn't come with a C++11 compiler (gcc>4.8) then it's possible to install a newer gcc using conda and build the slsDetectorPackage @@ -198,7 +205,7 @@ using this compiler Build slsDetectorGui (Qt5) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. Using pre-built binary on conda @@ -259,7 +266,7 @@ Build slsDetectorGui (Qt5) Build this documentation -^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The documentation for the slsDetectorPackage is build using a combination of Doxygen, Sphinx and Breathe. The easiest way to install the dependencies @@ -282,16 +289,18 @@ is to use conda Pybind and Zeromq -^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _pybind for different slsDetectorPackage versions: -| **Pybind for Python** -| v8.0.0+: -| pybind11 (v2.11.0) is built -| * by default from tar file in repo (libs/pybind/v2.11.0.tar.gz) +| **Pybind11 for Python** +| v8.0.0+: +| pybind11 is built +| * by default from tar file in repo (libs/pybind/v2.1x.0.tar.gz) | * or use advanced option SLS_FETCH_PYBIND11_FROM_GITHUB [`link `__]. +| * v9.0.0+: pybind11 (v2.13.6) +| * v8.x.x : pybind11 (v2.11.0) | | v7.x.x: | pybind11 packaged into 'libs/pybind'. No longer a submodule. No need for "recursive" or "submodule update". diff --git a/docs/src/pygettingstarted.rst b/docs/src/pygettingstarted.rst index 5caf8723e..547d597e0 100644 --- a/docs/src/pygettingstarted.rst +++ b/docs/src/pygettingstarted.rst @@ -6,7 +6,7 @@ Getting Started Which Python? -------------------- -We require at least Python 3.6 and strongly recommended that you don't use the system +We require at least Python 3.8 and strongly recommended that you don't use the system Python installation. The examples in this documentation uses `conda `_ since it provides good support also for non Python packages but there are also other alternatives like, pyenv. diff --git a/docs/src/troubleshooting.rst b/docs/src/troubleshooting.rst index 65214846b..041f34b02 100644 --- a/docs/src/troubleshooting.rst +++ b/docs/src/troubleshooting.rst @@ -394,6 +394,14 @@ Missing first frame or next frame after a delay Connect the data link from the Module directly to receiver pc or to a private network. +Mythen3 +-------- + +Detector status is waiting even in auto timing mode +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Check if the control board or the flat band cable is connected properly. If not, connect them properly and try again. + + Jungfrau --------- diff --git a/libs/pybind11/v2.11.0.tar.gz b/libs/pybind11/v2.11.0.tar.gz deleted file mode 100644 index ef7cf6f55..000000000 Binary files a/libs/pybind11/v2.11.0.tar.gz and /dev/null differ diff --git a/libs/pybind11/v2.13.6.tar.gz b/libs/pybind11/v2.13.6.tar.gz new file mode 100644 index 000000000..7dcec1d75 Binary files /dev/null and b/libs/pybind11/v2.13.6.tar.gz differ diff --git a/psi-pmodules/DetectorSoftware/slsDetectorPackage/files/variants b/psi-pmodules/DetectorSoftware/slsDetectorPackage/files/variants index 5a33d75dc..9a01f5487 100644 --- a/psi-pmodules/DetectorSoftware/slsDetectorPackage/files/variants +++ b/psi-pmodules/DetectorSoftware/slsDetectorPackage/files/variants @@ -11,4 +11,6 @@ slsDetectorPackage/8.0.1_rh7 stable cmake/3.15.5 Qt/5.12.10 slsDetectorPackage/8.0.1_rh8 stable cmake/3.15.5 Qt/5.12.10 slsDetectorPackage/8.0.2_rh7 stable cmake/3.15.5 Qt/5.12.10 slsDetectorPackage/8.0.2_rh8 stable cmake/3.15.5 Qt/5.12.10 +slsDetectorPackage/9.0.0_rh8 stable cmake/3.15.5 Qt/5.12.10 + diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index e47777e4b..1bd44d267 100755 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -64,7 +64,7 @@ configure_file( scripts/test_virtual.py ${CMAKE_BINARY_DIR}/test_virtual.py ) -configure_file( ${CMAKE_SOURCE_DIR}/VERSION +configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../VERSION ${CMAKE_BINARY_DIR}/bin/slsdet/VERSION ) diff --git a/slsDetectorSoftware/generator/autocomplete/bash_autocomplete.sh b/slsDetectorSoftware/generator/autocomplete/bash_autocomplete.sh index 2da4347ed..f4ac7c107 100644 --- a/slsDetectorSoftware/generator/autocomplete/bash_autocomplete.sh +++ b/slsDetectorSoftware/generator/autocomplete/bash_autocomplete.sh @@ -1505,6 +1505,7 @@ fi if [[ ${IS_GET} -eq 0 ]]; then if [[ "${cword}" == "2" ]]; then FCN_RETURN="" +IS_PATH=1 fi fi return 0 @@ -1514,6 +1515,7 @@ FCN_RETURN="" if [[ ${IS_GET} -eq 1 ]]; then if [[ "${cword}" == "2" ]]; then FCN_RETURN="" +IS_PATH=1 fi fi return 0 diff --git a/slsDetectorSoftware/generator/autocomplete/zsh_autocomplete.sh b/slsDetectorSoftware/generator/autocomplete/zsh_autocomplete.sh index c4c36afe7..313108167 100644 --- a/slsDetectorSoftware/generator/autocomplete/zsh_autocomplete.sh +++ b/slsDetectorSoftware/generator/autocomplete/zsh_autocomplete.sh @@ -1429,6 +1429,7 @@ fi if [[ ${IS_GET} -eq 0 ]]; then if [[ "${cword}" == "2" ]]; then FCN_RETURN="" +IS_PATH=1 fi fi return 0 @@ -1438,6 +1439,7 @@ FCN_RETURN="" if [[ ${IS_GET} -eq 1 ]]; then if [[ "${cword}" == "2" ]]; then FCN_RETURN="" +IS_PATH=1 fi fi return 0 diff --git a/slsDetectorSoftware/generator/commands.yaml b/slsDetectorSoftware/generator/commands.yaml index 4d8ac3586..a31d5ac73 100644 --- a/slsDetectorSoftware/generator/commands.yaml +++ b/slsDetectorSoftware/generator/commands.yaml @@ -3884,8 +3884,8 @@ patternX: require_det_id: true function: setPattern input: [ 'args[0]' ] + arg_types: [special::path] input_types: [ std::string ] - cast_input: [ false ] output: [ 'args.front()' ] patword: diff --git a/slsDetectorSoftware/generator/extended_commands.yaml b/slsDetectorSoftware/generator/extended_commands.yaml index 6702c6a12..65499d2f9 100644 --- a/slsDetectorSoftware/generator/extended_commands.yaml +++ b/slsDetectorSoftware/generator/extended_commands.yaml @@ -6539,7 +6539,7 @@ patternX: PUT: args: - arg_types: - - std::string + - special::path argc: 1 cast_input: - false diff --git a/slsDetectorSoftware/tests/Caller/test-Caller.cpp b/slsDetectorSoftware/tests/Caller/test-Caller.cpp index b9aa56e36..2ef8699f6 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller.cpp @@ -3319,6 +3319,12 @@ TEST_CASE("reg", "[.cmdcall]") { auto det_type = det.getDetectorType().squash(); if (det_type != defs::EIGER) { uint32_t addr = 0x64; + if (det_type == defs::MYTHEN3) { + addr = 0x80; + } + if (det_type == defs::GOTTHARD2) { + addr = 0x20; + } std::string saddr = ToStringHex(addr); auto prev_val = det.readRegister(addr); { @@ -3369,6 +3375,12 @@ TEST_CASE("setbit", "[.cmdcall]") { auto det_type = det.getDetectorType().squash(); if (det_type != defs::EIGER) { uint32_t addr = 0x64; + if (det_type == defs::MYTHEN3) { + addr = 0x80; + } + if (det_type == defs::GOTTHARD2) { + addr = 0x20; + } std::string saddr = ToStringHex(addr); auto prev_val = det.readRegister(addr); { @@ -3393,6 +3405,12 @@ TEST_CASE("clearbit", "[.cmdcall]") { auto det_type = det.getDetectorType().squash(); if (det_type != defs::EIGER) { uint32_t addr = 0x64; + if (det_type == defs::MYTHEN3) { + addr = 0x80; + } + if (det_type == defs::GOTTHARD2) { + addr = 0x20; + } std::string saddr = ToStringHex(addr); auto prev_val = det.readRegister(addr); { @@ -3417,6 +3435,12 @@ TEST_CASE("getbit", "[.cmdcall]") { auto det_type = det.getDetectorType().squash(); if (det_type != defs::EIGER) { uint32_t addr = 0x64; + if (det_type == defs::MYTHEN3) { + addr = 0x80; + } + if (det_type == defs::GOTTHARD2) { + addr = 0x20; + } std::string saddr = ToStringHex(addr); auto prev_val = det.readRegister(addr); { diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 4d1b02caa..dde27f97d 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -1,8 +1,6 @@ // SPDX-License-Identifier: LGPL-3.0-or-other // Copyright (C) 2021 Contributors to the SLS Detector Package /** API versions */ -#define APIRECEIVER "developer 0x241014" -#define APILIB "developer 0x241021" #define APICTB "developer 0x241107" #define APIGOTTHARD "developer 0x241107" #define APIGOTTHARD2 "developer 0x241107" @@ -10,4 +8,6 @@ #define APIXILINXCTB "developer 0x241107" #define APIEIGER "developer 0x241107" #define APIJUNGFRAU "developer 0x241120" -#define APIMYTHEN3 "developer 0x241121" +#define APIMYTHEN3 "developer 0x241121" +#define APILIB "developer 0x241122" +#define APIRECEIVER "developer 0x241122"