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"