mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-15 22:37:14 +02:00
Compare commits
110 Commits
Author | SHA1 | Date | |
---|---|---|---|
d5a712ab42 | |||
fa931b8fca | |||
37bf3600ad | |||
96f6561080 | |||
9ca831d954 | |||
274ec27934 | |||
1454cc8434 | |||
76c86cb5ac | |||
ec4aca0dd4 | |||
9f27478f95 | |||
ec1bdffa1a | |||
258a0f794c | |||
6caafaea00 | |||
727e52b9e8 | |||
fdd3ab2a60 | |||
a84bd1f881 | |||
1f8823a3b7 | |||
1f4d94b3cc | |||
effbc6f571 | |||
8c8aa175a6 | |||
42b1f9a623 | |||
9e23648801 | |||
6dc4634495 | |||
4b7d73a4ee | |||
0358749b3b | |||
333a23c7e2 | |||
802bd27e50 | |||
0909eabfaf | |||
2f7a0898d6 | |||
e89dd393e2 | |||
76dc6db5c0 | |||
9b321d2ee1 | |||
f7a6160e67 | |||
156ce6a2e5 | |||
9dc217aaa3 | |||
ae736cd0e5 | |||
c5962f40eb | |||
aab5418166 | |||
f61d14a2f1 | |||
836e4c51f3 | |||
b39c64032d | |||
3726ae3fd1 | |||
98c2d52200 | |||
54097ba21c | |||
b8b7966d79 | |||
a1c9947821 | |||
469d4e5c7c | |||
bd0eb22392 | |||
3a543daf55 | |||
c061baaaee | |||
b9fab9bc1f | |||
6cf5072293 | |||
8db1dfb2ce | |||
a54a570a78 | |||
3cfdc063fc | |||
9b521ade27 | |||
313216443a | |||
318a5fd9d5 | |||
dd2e9ff7f3 | |||
27c4d8652e | |||
927f30e55e | |||
51c2e78a31 | |||
a0004dc775 | |||
db4f345b47 | |||
195d28d091 | |||
d7bbcb24c9 | |||
6b94f266bf | |||
203d6465a1 | |||
43bbf66e85 | |||
b665ed87b4 | |||
29fbef7ced | |||
f3ca25d104 | |||
e4b141dda5 | |||
843a35d2f9 | |||
1e2395bd44 | |||
ed81ce2877 | |||
12945916b7 | |||
4367a39b98 | |||
519b09fcad | |||
84f56ff314 | |||
3e70f0cbfb | |||
96f7bf05c8 | |||
7eb05a3637 | |||
ca08cd9ec1 | |||
a0ecf056d8 | |||
479fa23acb | |||
fada085f0e | |||
b913c0059a | |||
dac60ad76d | |||
4de7bb51ed | |||
0801957203 | |||
2d7ffdd603 | |||
576157351e | |||
86a9aa9e38 | |||
928ed201f6 | |||
ae4473d631 | |||
cbe2956ee4 | |||
aff3a6ed20 | |||
e6b18f6a95 | |||
93550ebed7 | |||
8fb4393981 | |||
2bfe0a939d | |||
cfbc4c699f | |||
c0edbc8631 | |||
34bc596ea6 | |||
e172156829 | |||
1c13dd95a0 | |||
c836371b7c | |||
7426110e8a | |||
e84f5bec0b |
102
CMakeLists.txt
Executable file → Normal file
102
CMakeLists.txt
Executable file → Normal file
@ -1,12 +1,17 @@
|
|||||||
cmake_minimum_required(VERSION 3.12)
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
cmake_minimum_required(VERSION 3.9)
|
||||||
project(slsDetectorPackage)
|
project(slsDetectorPackage)
|
||||||
set(PROJECT_VERSION 5.1.0)
|
set(PROJECT_VERSION 6.0.0)
|
||||||
include(CheckIPOSupported)
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||||
|
|
||||||
cmake_policy(SET CMP0074 NEW)
|
# cmake_policy(SET CMP0074 NEW)
|
||||||
include(cmake/project_version.cmake)
|
include(cmake/project_version.cmake)
|
||||||
|
|
||||||
|
#functions to add compiler flags
|
||||||
|
include(cmake/SlsAddFlag.cmake)
|
||||||
|
|
||||||
# Include additional modules that are used unconditionally
|
# Include additional modules that are used unconditionally
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
@ -51,7 +56,7 @@ option(SLS_TUNE_LOCAL "tune to local machine" OFF)
|
|||||||
option(SLS_DEVEL_HEADERS "install headers for devel" OFF)
|
option(SLS_DEVEL_HEADERS "install headers for devel" OFF)
|
||||||
option(SLS_USE_MOENCH "compile zmq and post processing for Moench" OFF)
|
option(SLS_USE_MOENCH "compile zmq and post processing for Moench" OFF)
|
||||||
|
|
||||||
# set(ClangFormat_BIN_NAME clang-format)
|
|
||||||
set(ClangFormat_EXCLUDE_PATTERNS "build/"
|
set(ClangFormat_EXCLUDE_PATTERNS "build/"
|
||||||
"libs/"
|
"libs/"
|
||||||
"slsDetectorCalibration/"
|
"slsDetectorCalibration/"
|
||||||
@ -63,6 +68,7 @@ set(ClangFormat_EXCLUDE_PATTERNS "build/"
|
|||||||
find_package(ClangFormat)
|
find_package(ClangFormat)
|
||||||
|
|
||||||
#Enable LTO if available
|
#Enable LTO if available
|
||||||
|
include(CheckIPOSupported)
|
||||||
check_ipo_supported(RESULT SLS_LTO_AVAILABLE)
|
check_ipo_supported(RESULT SLS_LTO_AVAILABLE)
|
||||||
message(STATUS "SLS_LTO_AVAILABLE:" ${SLS_LTO_AVAILABLE})
|
message(STATUS "SLS_LTO_AVAILABLE:" ${SLS_LTO_AVAILABLE})
|
||||||
|
|
||||||
@ -82,7 +88,7 @@ target_compile_features(slsProjectOptions INTERFACE cxx_std_11)
|
|||||||
target_compile_options(slsProjectWarnings INTERFACE
|
target_compile_options(slsProjectWarnings INTERFACE
|
||||||
-Wall
|
-Wall
|
||||||
-Wextra
|
-Wextra
|
||||||
-Wno-unused-parameter #Needs to be slowly mitigated
|
-Wno-unused-parameter
|
||||||
# -Wold-style-cast
|
# -Wold-style-cast
|
||||||
-Wnon-virtual-dtor
|
-Wnon-virtual-dtor
|
||||||
-Woverloaded-virtual
|
-Woverloaded-virtual
|
||||||
@ -93,13 +99,12 @@ target_compile_options(slsProjectWarnings INTERFACE
|
|||||||
-Wvla
|
-Wvla
|
||||||
-Wdouble-promotion
|
-Wdouble-promotion
|
||||||
-Werror=return-type
|
-Werror=return-type
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#Settings for C code
|
#Settings for C code
|
||||||
add_library(slsProjectCSettings INTERFACE)
|
add_library(slsProjectCSettings INTERFACE)
|
||||||
target_compile_features(slsProjectCSettings INTERFACE c_std_99)
|
|
||||||
target_compile_options(slsProjectCSettings INTERFACE
|
target_compile_options(slsProjectCSettings INTERFACE
|
||||||
|
-std=gnu99 #fixed
|
||||||
-Wall
|
-Wall
|
||||||
-Wextra
|
-Wextra
|
||||||
-Wno-unused-parameter
|
-Wno-unused-parameter
|
||||||
@ -116,30 +121,23 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
|||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.2)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.2)
|
||||||
message(FATAL_ERROR "Clang version must be at least 3.2!")
|
message(FATAL_ERROR "Clang version must be at least 3.2!")
|
||||||
endif()
|
endif()
|
||||||
target_compile_options(slsProjectWarnings INTERFACE -Wshadow) #Clag does not warn on constructor
|
|
||||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
|
||||||
message(FATAL_ERROR "GCC version must be at least 4.8!")
|
message(FATAL_ERROR "GCC version must be at least 4.8!")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5)
|
||||||
target_compile_options(slsProjectWarnings INTERFACE
|
target_compile_options(slsProjectWarnings INTERFACE
|
||||||
-Wno-missing-field-initializers)
|
-Wno-missing-field-initializers)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
|
||||||
target_compile_options(slsProjectWarnings INTERFACE
|
|
||||||
-Wno-misleading-indentation # mostly in rapidjson remove using clang format
|
|
||||||
-Wduplicated-cond
|
|
||||||
-Wnull-dereference )
|
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0)
|
|
||||||
target_compile_options(slsProjectWarnings INTERFACE
|
|
||||||
-Wno-class-memaccess )
|
|
||||||
|
|
||||||
endif()
|
# Add or disable warnings depending on if the compiler supports them
|
||||||
endif()
|
# The function checks internally and sets HAS_warning-name
|
||||||
|
# sls_enable_cxx_warning("-Wnull-dereference")
|
||||||
|
# sls_enable_cxx_warning("-Wduplicated-cond")
|
||||||
|
# sls_disable_cxx_warning("-Wclass-memaccess")
|
||||||
|
# sls_disable_c_warning("-Wstringop-truncation")
|
||||||
|
# sls_disable_c_warning("-Wformat-nonliteral")
|
||||||
|
|
||||||
|
|
||||||
if(SLS_USE_SANITIZER)
|
if(SLS_USE_SANITIZER)
|
||||||
@ -174,37 +172,35 @@ set(CMAKE_INSTALL_RPATH $ORIGIN)
|
|||||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
|
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
|
||||||
|
|
||||||
|
|
||||||
set(ZeroMQ_HINT "" CACHE STRING "Hint where ZeroMQ could be found")
|
# set(ZeroMQ_HINT "" CACHE STRING "Hint where ZeroMQ could be found")
|
||||||
#Adapted from: https://github.com/zeromq/cppzmq/
|
# #Adapted from: https://github.com/zeromq/cppzmq/
|
||||||
if (NOT TARGET libzmq)
|
# if (NOT TARGET libzmq)
|
||||||
if(ZeroMQ_HINT)
|
# if(ZeroMQ_HINT)
|
||||||
message(STATUS "Looking for ZeroMQ in: ${ZeroMQ_HINT}")
|
# message(STATUS "Looking for ZeroMQ in: ${ZeroMQ_HINT}")
|
||||||
find_package(ZeroMQ 4
|
# find_package(ZeroMQ 4
|
||||||
NO_DEFAULT_PATH
|
# NO_DEFAULT_PATH
|
||||||
HINTS ${ZeroMQ_DIR}
|
# HINTS ${ZeroMQ_DIR}
|
||||||
)
|
# )
|
||||||
else()
|
# else()
|
||||||
find_package(ZeroMQ 4 QUIET)
|
# find_package(ZeroMQ 4 QUIET)
|
||||||
endif()
|
# endif()
|
||||||
|
|
||||||
|
# # libzmq autotools install: fallback to pkg-config
|
||||||
|
# if(NOT ZeroMQ_FOUND)
|
||||||
|
# message(STATUS "CMake libzmq package not found, trying again with pkg-config (normal install of zeromq)")
|
||||||
|
# list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/libzmq-pkg-config)
|
||||||
|
# find_package(ZeroMQ 4 REQUIRED)
|
||||||
|
# endif()
|
||||||
|
|
||||||
|
# # TODO "REQUIRED" above should already cause a fatal failure if not found, but this doesn't seem to work
|
||||||
|
# if(NOT ZeroMQ_FOUND)
|
||||||
|
# message(FATAL_ERROR "ZeroMQ was not found, neither as a CMake package nor via pkg-config")
|
||||||
|
# endif()
|
||||||
|
|
||||||
# libzmq autotools install: fallback to pkg-config
|
# if (ZeroMQ_FOUND AND NOT TARGET libzmq)
|
||||||
if(NOT ZeroMQ_FOUND)
|
# message(FATAL_ERROR "ZeroMQ version not supported!")
|
||||||
message(STATUS "CMake libzmq package not found, trying again with pkg-config (normal install of zeromq)")
|
# endif()
|
||||||
list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/libzmq-pkg-config)
|
# endif()
|
||||||
find_package(ZeroMQ 4 REQUIRED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# TODO "REQUIRED" above should already cause a fatal failure if not found, but this doesn't seem to work
|
|
||||||
if(NOT ZeroMQ_FOUND)
|
|
||||||
message(FATAL_ERROR "ZeroMQ was not found, neither as a CMake package nor via pkg-config")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (ZeroMQ_FOUND AND NOT TARGET libzmq)
|
|
||||||
message(FATAL_ERROR "ZeroMQ version not supported!")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (SLS_USE_TESTS)
|
if (SLS_USE_TESTS)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
@ -212,8 +208,6 @@ if (SLS_USE_TESTS)
|
|||||||
endif(SLS_USE_TESTS)
|
endif(SLS_USE_TESTS)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Common functionallity to detector and receiver
|
# Common functionallity to detector and receiver
|
||||||
add_subdirectory(slsSupportLib)
|
add_subdirectory(slsSupportLib)
|
||||||
|
|
||||||
@ -259,16 +253,12 @@ if(SLS_BUILD_DOCS)
|
|||||||
add_subdirectory(docs)
|
add_subdirectory(docs)
|
||||||
endif(SLS_BUILD_DOCS)
|
endif(SLS_BUILD_DOCS)
|
||||||
|
|
||||||
|
|
||||||
if(SLS_USE_MOENCH)
|
if(SLS_USE_MOENCH)
|
||||||
add_subdirectory(slsDetectorCalibration/moenchExecutables)
|
add_subdirectory(slsDetectorCalibration/moenchExecutables)
|
||||||
endif(SLS_USE_MOENCH)
|
endif(SLS_USE_MOENCH)
|
||||||
|
|
||||||
if(SLS_MASTER_PROJECT)
|
if(SLS_MASTER_PROJECT)
|
||||||
# Set install dir CMake packages
|
|
||||||
set(CMAKE_INSTALL_DIR "share/cmake/${PROJECT_NAME}")
|
set(CMAKE_INSTALL_DIR "share/cmake/${PROJECT_NAME}")
|
||||||
# Set the list of exported targets
|
|
||||||
set(PROJECT_LIBRARIES slsSupportShared slsDetectorShared slsReceiverShared)
|
set(PROJECT_LIBRARIES slsSupportShared slsDetectorShared slsReceiverShared)
|
||||||
# Generate and install package config file and version
|
|
||||||
include(cmake/package_config.cmake)
|
include(cmake/package_config.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
17
COPYING
Normal file
17
COPYING
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
The SLS Detector Package is provided under:
|
||||||
|
|
||||||
|
SPDX-License-Identifier: LGPL-3.0-or-later
|
||||||
|
|
||||||
|
Being under the terms of the GNU Lesser General Public License version 3 or later,
|
||||||
|
according with:
|
||||||
|
|
||||||
|
LICENSES/LGPL-3.0
|
||||||
|
|
||||||
|
Source code under the Apache 2.0 License have the SPDX Identifier and are
|
||||||
|
according with:
|
||||||
|
|
||||||
|
LICENSES/ThirdParty/Apache-2.0
|
||||||
|
|
||||||
|
All contributions to the SLS Detector Package are subject to this COPYING file.
|
||||||
|
|
||||||
|
|
@ -1,3 +1,17 @@
|
|||||||
|
Valid-License-Identifier: GPL-3.0
|
||||||
|
Valid-License-Identifier: GPL-3.0+
|
||||||
|
SPDX-URL: https://spdx.org/licenses/GPL-3.0-or-later.html
|
||||||
|
Usage-Guide:
|
||||||
|
To use this license in source code, put one of the following SPDX
|
||||||
|
tag/value pairs into a comment according to the placement
|
||||||
|
guidelines in the licensing rules documentation.
|
||||||
|
For 'GNU Library General Public License (LGPL) version 3.0 only' use:
|
||||||
|
SPDX-License-Identifier: GPL-3.0
|
||||||
|
For 'GNU Library General Public License (LGPL) version 3.0 or any later
|
||||||
|
version' use:
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
License-Text:
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 3, 29 June 2007
|
Version 3, 29 June 2007
|
||||||
|
|
@ -1,3 +1,17 @@
|
|||||||
|
Valid-License-Identifier: LGPL-3.0
|
||||||
|
Valid-License-Identifier: LGPL-3.0+
|
||||||
|
SPDX-URL: https://spdx.org/licenses/LGPL-3.0-or-later.html
|
||||||
|
Usage-Guide:
|
||||||
|
To use this license in source code, put one of the following SPDX
|
||||||
|
tag/value pairs into a comment according to the placement
|
||||||
|
guidelines in the licensing rules documentation.
|
||||||
|
For 'GNU Library General Public License (LGPL) version 3.0 only' use:
|
||||||
|
SPDX-License-Identifier: LGPL-3.0
|
||||||
|
For 'GNU Library General Public License (LGPL) version 3.0 or any later
|
||||||
|
version' use:
|
||||||
|
SPDX-License-Identifier: LGPL-3.0-or-later
|
||||||
|
License-Text:
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
Version 3, 29 June 2007
|
Version 3, 29 June 2007
|
||||||
|
|
210
LICENSES/Third Party/Apache-2.0
Normal file
210
LICENSES/Third Party/Apache-2.0
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
Valid-License-Identifier: Apache-2.0
|
||||||
|
SPDX-URL: https://spdx.org/licenses/Apache-2.0.html
|
||||||
|
Usage-Guide:
|
||||||
|
To use this license in source code, put one of the following SPDX
|
||||||
|
tag/value pairs into a comment according to the placement
|
||||||
|
guidelines in the licensing rules documentation.
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
License-Text:
|
||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
116
RELEASE.txt
116
RELEASE.txt
@ -1,7 +1,7 @@
|
|||||||
SLS Detector Package 6.0.0-rc1 released on 08.10.2021 (Release Candidate 1)
|
SLS Detector Package 6.0.0 released on 21.10.2021
|
||||||
===========================================================================
|
==================================================
|
||||||
|
|
||||||
This document describes the differences between v6.0.0-rc1 and v5.1.0.
|
This document describes the differences between v6.0.0 and v5.1.0.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -10,8 +10,9 @@ This document describes the differences between v6.0.0-rc1 and v5.1.0.
|
|||||||
1. New or Changed Features
|
1. New or Changed Features
|
||||||
2. Resolved Issues
|
2. Resolved Issues
|
||||||
3. Known Issues
|
3. Known Issues
|
||||||
4. Firmware Requirements
|
4. Changes in Next Major Release
|
||||||
5. Download, Documentation & Support
|
5. Firmware Requirements
|
||||||
|
6. Download, Documentation & Support
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -19,54 +20,53 @@ This document describes the differences between v6.0.0-rc1 and v5.1.0.
|
|||||||
1. New or Changed Features
|
1. New or Changed Features
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
Added License. Read COPYING for more details.
|
||||||
|
|
||||||
Client
|
Client
|
||||||
------
|
------
|
||||||
|
1. Shared libraries
|
||||||
|
They are versioned from this release on (6.0.0).
|
||||||
|
|
||||||
1. [Jungfrau] Chip version
|
2. [Jungfrau] Chip version
|
||||||
Features for chipv1.1 incorporated
|
Features for chipv1.1 incorporated
|
||||||
Command line: chipversion, API: getchipVersion
|
Command line: chipversion, API: getchipVersion
|
||||||
gets chip version (1.0 or 1.1)
|
gets chip version (1.0 or 1.1)
|
||||||
chipv1.1 requires config_jungfrau.txt on detector server.
|
chipv1.1 requires config_jungfrau.txt on detector server and HW 2.0.
|
||||||
|
|
||||||
2. [Jungfrau] Chip configuration (only chipv1.1)
|
3. [Jungfrau] Chip configuration (only chipv1.1)
|
||||||
powering on the chip and changing settings will configure the chip.
|
powering on the chip and changing settings will configure the chip.
|
||||||
Hence, required before acquisition.
|
Hence, required before acquisition.
|
||||||
|
|
||||||
3. [Jungfrau] Settings and Gain mode
|
4. [Jungfrau] Settings and Gain mode
|
||||||
Settings can be gain0 and highgain0. Gain mode can be dynamicgain,
|
Settings can be gain0 and highgain0. Gain mode can be dynamicgain,
|
||||||
forceswitchg1, forceswitchg2, fixg1, fixg2, fixg0. fixg0 must be
|
forceswitchg1, forceswitchg2, fixg1, fixg2, fixg0. fixg0 must be
|
||||||
used with EXTRA caution as you can damage the detector.
|
used with EXTRA caution as you can damage the detector.
|
||||||
Changing settings also changes dac values of 3 dacs () and reconfigures
|
Changing settings also changes dac values of 3 dacs
|
||||||
chip (only v1.1)
|
(vref_prech, vref_ds and vref_comp) and reconfigures chip (only v1.1)
|
||||||
|
|
||||||
4. [Jungfrau] Storage cells (only chipv1.1)
|
5. [Jungfrau] Storage cells (only chipv1.1)
|
||||||
Additional number of storage cells not applicable for chipv1.1.
|
Additional number of storage cells not applicable for chipv1.1.
|
||||||
Storage cell start is only allowed from 0 - 3 for chipv1.1
|
Storage cell start is only allowed from 0 - 3 for chipv1.1
|
||||||
(0 - 15 for chipv1.0).
|
(0 - 15 for chipv1.0).
|
||||||
|
Command line: extrastoragecells, Previous Command line: storagecells
|
||||||
|
API: remains the same.
|
||||||
|
|
||||||
5. [Gotthard2][Jungfrau] Filter Resistor
|
6. [Gotthard2][Jungfrau] Filter Resistor
|
||||||
Command line: filterresistor, API: getFilterResistor/ setFilterResistor
|
Command line: filterresistor, API: getFilterResistor/ setFilterResistor
|
||||||
Previous Command: filter, setFilter/ getFilter
|
Previous Command: filter, setFilter/ getFilter
|
||||||
Set Filter resistor. Increasing values for increasing resistance.
|
Set Filter resistor. Increasing values for increasing resistance.
|
||||||
[Jungfrau] only for chipv1.1. Options: [0|1]. Default is 1.
|
[Jungfrau] only for chipv1.1. Options: [0|1]. Default is 1.
|
||||||
[Gotthard2] Options: [0|1|2|3]. Default is 0.
|
[Gotthard2] Options: [0|1|2|3]. Default is 0.
|
||||||
|
|
||||||
6. [Jungfrau] Filter cell (only chipv1.1)
|
7. [Jungfrau] Filter cell (only chipv1.1)
|
||||||
Command line: filtercell, API: getFilterCell/ setFilterCell
|
Command line: filtercells, API: getNumberOfFilterCells/ setNumberOfFilterCells
|
||||||
Set filter cell. Options: [0-12]. Advanced user command.
|
Set filter cell. Options: [0-12]. Advanced user command.
|
||||||
|
|
||||||
7. [Jungfrau] Comparator disable time (only chipv1.1)
|
8. [Jungfrau] Comparator disable time (only chipv1.1)
|
||||||
Command line: comp_disable_time, API: getComparatorDisableTime/
|
Command line: compdisabletime, API: getComparatorDisableTime/
|
||||||
setComparatorDisableTime
|
setComparatorDisableTime
|
||||||
One can customize the period to disable comparator.
|
One can customize the period to disable comparator.
|
||||||
|
|
||||||
8. [Eiger][Jungfrau] Flip rows
|
|
||||||
Command line: fliprows, API: getFlipRows/ setFlipRows
|
|
||||||
Previous command: flippeddatax, setBottom/ getBottom
|
|
||||||
[Jungfrau] Flips rows in detector only for HW v2.0.
|
|
||||||
slsReceiver and slsDetectorGui will not flip them again.
|
|
||||||
[Eiger] same as before.
|
|
||||||
|
|
||||||
9. [Eiger][Jungfrau] Read n rows
|
9. [Eiger][Jungfrau] Read n rows
|
||||||
Command line: readnrows, API: getReadNRows/ setReadNRows
|
Command line: readnrows, API: getReadNRows/ setReadNRows
|
||||||
Previous Command: readnlines, getPartialReadout/ setPartialReadout
|
Previous Command: readnlines, getPartialReadout/ setPartialReadout
|
||||||
@ -171,6 +171,16 @@ This document describes the differences between v6.0.0-rc1 and v5.1.0.
|
|||||||
[Eiger][Jungfrau] same as before.
|
[Eiger][Jungfrau] same as before.
|
||||||
[Gotthard2] New command to set readout speed. Options: 108, 144 (in MHz)
|
[Gotthard2] New command to set readout speed. Options: 108, 144 (in MHz)
|
||||||
|
|
||||||
|
27. [Eiger][Jungfrau] Flip rows
|
||||||
|
Command line: fliprows, API: getFlipRows/ setFlipRows
|
||||||
|
Previous command: flippeddatax, setBottom/ getBottom
|
||||||
|
[Jungfrau] Flips rows in detector only for HW v2.0.
|
||||||
|
slsReceiver and slsDetectorGui will not flip them again.
|
||||||
|
[Eiger] same as before.
|
||||||
|
|
||||||
|
28. [Jungfrau]
|
||||||
|
Command line changes: autocompdisable, Previous command line: auto_comp_disable
|
||||||
|
|
||||||
|
|
||||||
Detector servers
|
Detector servers
|
||||||
----------------
|
----------------
|
||||||
@ -208,6 +218,8 @@ This document describes the differences between v6.0.0-rc1 and v5.1.0.
|
|||||||
1. [Mythen3] counters added in settings tab
|
1. [Mythen3] counters added in settings tab
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2. Resolved Issues
|
2. Resolved Issues
|
||||||
==================
|
==================
|
||||||
|
|
||||||
@ -239,17 +251,46 @@ This document describes the differences between v6.0.0-rc1 and v5.1.0.
|
|||||||
|
|
||||||
7. [Eiger] fast quad fix for loading trimbits
|
7. [Eiger] fast quad fix for loading trimbits
|
||||||
|
|
||||||
|
8. [Eiger] Can also use copydetectorserver command.
|
||||||
|
[All] copydetectorserver command also creates a link to the binary copied
|
||||||
|
with a shorter name ([detector]DetectorServer only)
|
||||||
|
|
||||||
Receiver
|
Receiver
|
||||||
--------
|
--------
|
||||||
|
|
||||||
1. Disabled port or deactivated (half) modules will not create files.
|
1. Disabled port or deactivated (half) modules will not create files.
|
||||||
|
|
||||||
|
|
||||||
- better control of what is built (PR)?
|
|
||||||
- cmake package has hardcoded path to zeromq library
|
|
||||||
|
|
||||||
|
|
||||||
3. Firmware Requirements
|
3. Known Issues
|
||||||
|
===============
|
||||||
|
|
||||||
|
Receiver
|
||||||
|
--------
|
||||||
|
1. It does not handle readnrows or partial readout. Only the summary
|
||||||
|
is adjusted to print in red. However, it will still write complete
|
||||||
|
images with missing data padded. Roi will be implemented in future
|
||||||
|
that can be complemented with this feature to remove the additional
|
||||||
|
data in files.
|
||||||
|
|
||||||
|
2. Round robin is not implemented in receiver side, ie. one cannot configure
|
||||||
|
more than 1 receiver at a time. This will/might be done in the future.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4. Changes in Next Major Release
|
||||||
|
================================
|
||||||
|
|
||||||
|
1. Naming of Package
|
||||||
|
The package might be renamed and so might the binaries, libraries,
|
||||||
|
namespace,include paths in the next major release (which is breaking API).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
5. Firmware Requirements
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Eiger
|
Eiger
|
||||||
@ -268,11 +309,11 @@ This document describes the differences between v6.0.0-rc1 and v5.1.0.
|
|||||||
|
|
||||||
Mythen3
|
Mythen3
|
||||||
=======
|
=======
|
||||||
Compatible version : 10.09.2021 (development)
|
Compatible version : 10.09.2021 (v1.1)
|
||||||
|
|
||||||
Gotthard2
|
Gotthard2
|
||||||
=========
|
=========
|
||||||
Compatible version : 27.05.2021 (v1.0)
|
Compatible version : 27.05.2021 (v0.1)
|
||||||
|
|
||||||
Moench
|
Moench
|
||||||
======
|
======
|
||||||
@ -304,23 +345,6 @@ This document describes the differences between v6.0.0-rc1 and v5.1.0.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
5. Known Issues
|
|
||||||
===============
|
|
||||||
|
|
||||||
Receiver
|
|
||||||
--------
|
|
||||||
1. It does not handle readnrows or partial readout. Only the summary
|
|
||||||
is adjusted to print in red. However, it will still write complete
|
|
||||||
images with missing data padded. Roi will be implemented in future
|
|
||||||
that can be complimented with this feature to remove the additional
|
|
||||||
data in files.
|
|
||||||
|
|
||||||
2. Round robin is not implemented in receiver side, ie. one cannot configure
|
|
||||||
more than 1 receiver at a time. This will/might be done in the future.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
6. Download, Documentation & Support
|
6. Download, Documentation & Support
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
|
64
cmake/SlsAddFlag.cmake
Normal file
64
cmake/SlsAddFlag.cmake
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
include(CheckCXXCompilerFlag)
|
||||||
|
include(CheckCCompilerFlag)
|
||||||
|
|
||||||
|
|
||||||
|
function(enable_cxx_warning flag target)
|
||||||
|
string(REPLACE "-W" "HAS_" flag_name ${flag})
|
||||||
|
check_cxx_compiler_flag(${flag} ${flag_name})
|
||||||
|
if(${flag_name})
|
||||||
|
target_compile_options(${target} INTERFACE ${flag})
|
||||||
|
message("Adding: ${flag} to ${target}")
|
||||||
|
else()
|
||||||
|
message("Flag: ${flag} not supported")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(enable_c_warning flag target)
|
||||||
|
string(REPLACE "-W" "HAS_" flag_name ${flag})
|
||||||
|
check_c_compiler_flag(${flag} ${flag_name})
|
||||||
|
if(${flag_name})
|
||||||
|
target_compile_options(${target} INTERFACE ${flag})
|
||||||
|
message("Adding: ${flag} to ${target}")
|
||||||
|
else()
|
||||||
|
message("Flag: ${flag} not supported")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
|
function(disable_cxx_warning flag target)
|
||||||
|
string(REPLACE "-W" "HAS_" flag_name ${flag})
|
||||||
|
check_cxx_compiler_flag(${flag} ${flag_name})
|
||||||
|
|
||||||
|
if(${flag_name})
|
||||||
|
string(REPLACE "-W" "-Wno-" neg_flag ${flag})
|
||||||
|
message("Adding: ${neg_flag} to ${target}")
|
||||||
|
target_compile_options(${target} INTERFACE ${neg_flag})
|
||||||
|
else()
|
||||||
|
message("Warning: ${flag} not supported no need to disable")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(disable_c_warning flag target)
|
||||||
|
string(REPLACE "-W" "HAS_" flag_name ${flag})
|
||||||
|
check_c_compiler_flag(${flag} ${flag_name})
|
||||||
|
if(${flag_name})
|
||||||
|
string(REPLACE "-W" "-Wno-" neg_flag ${flag})
|
||||||
|
message("Adding: ${neg_flag} to ${target}")
|
||||||
|
target_compile_options(${target} INTERFACE ${neg_flag})
|
||||||
|
else()
|
||||||
|
message("Warning: ${flag} not supported no need to disable")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
|
function(sls_disable_c_warning flag)
|
||||||
|
disable_c_warning(${flag} slsProjectCSettings)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(sls_enable_cxx_warning flag)
|
||||||
|
enable_cxx_warning(${flag} slsProjectWarnings)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(sls_disable_cxx_warning flag)
|
||||||
|
disable_cxx_warning(${flag} slsProjectWarnings)
|
||||||
|
endfunction()
|
2
cmk.sh
2
cmk.sh
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
CMAKE="cmake3"
|
CMAKE="cmake3"
|
||||||
BUILDDIR="build"
|
BUILDDIR="build"
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
mkdir build
|
mkdir build
|
||||||
mkdir install
|
mkdir install
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
echo "|<-------- starting python build"
|
echo "|<-------- starting python build"
|
||||||
cd python
|
cd python
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
mkdir $PREFIX/lib
|
mkdir $PREFIX/lib
|
||||||
mkdir $PREFIX/bin
|
mkdir $PREFIX/bin
|
||||||
mkdir $PREFIX/include
|
mkdir $PREFIX/include
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#Copy the GUI
|
#Copy the GUI
|
||||||
mkdir -p $PREFIX/bin
|
mkdir -p $PREFIX/bin
|
||||||
cp build/install/bin/slsDetectorGui $PREFIX/bin/.
|
cp build/install/bin/slsDetectorGui $PREFIX/bin/.
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
mkdir -p $PREFIX/lib
|
mkdir -p $PREFIX/lib
|
||||||
mkdir -p $PREFIX/bin
|
mkdir -p $PREFIX/bin
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#Copy the Moench executables
|
#Copy the Moench executables
|
||||||
mkdir -p $PREFIX/bin
|
mkdir -p $PREFIX/bin
|
||||||
cp build/install/bin/moench04ZmqProcess $PREFIX/bin/.
|
cp build/install/bin/moench04ZmqProcess $PREFIX/bin/.
|
||||||
|
@ -1 +1,3 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
ctest -j2
|
ctest -j2
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
|
|
||||||
find_package(ROOT CONFIG REQUIRED COMPONENTS Core Gui)
|
find_package(ROOT CONFIG REQUIRED COMPONENTS Core Gui)
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
|
|
||||||
INCS=ctbMain.h ctbDacs.h ctbPattern.h ctbSignals.h ctbAdcs.h ctbAcquisition.h ctbPowers.h ctbSlowAdcs.h
|
INCS=ctbMain.h ctbDacs.h ctbPattern.h ctbSignals.h ctbAdcs.h ctbAcquisition.h ctbPowers.h ctbSlowAdcs.h
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
|
|
||||||
INCS=ctbMain.h ctbDacs.h ctbPattern.h ctbSignals.h ctbAdcs.h ctbAcquisition.h ctbPowers.h ctbSlowAdcs.h
|
INCS=ctbMain.h ctbDacs.h ctbPattern.h ctbSignals.h ctbAdcs.h ctbAcquisition.h ctbPowers.h ctbSlowAdcs.h
|
||||||
|
2
ctbGui/ctbAcquisition.cpp
Executable file → Normal file
2
ctbGui/ctbAcquisition.cpp
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
//#define TESTADC
|
//#define TESTADC
|
||||||
|
|
||||||
|
|
||||||
|
2
ctbGui/ctbAcquisition.h
Executable file → Normal file
2
ctbGui/ctbAcquisition.h
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#ifndef CTBACQUISITION_H
|
#ifndef CTBACQUISITION_H
|
||||||
#define CTBACQUISITION_H
|
#define CTBACQUISITION_H
|
||||||
#include <TGFrame.h>
|
#include <TGFrame.h>
|
||||||
|
2
ctbGui/ctbAdcs.cpp
Executable file → Normal file
2
ctbGui/ctbAdcs.cpp
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include <TApplication.h>
|
#include <TApplication.h>
|
||||||
#include <TGClient.h>
|
#include <TGClient.h>
|
||||||
#include <TCanvas.h>
|
#include <TCanvas.h>
|
||||||
|
2
ctbGui/ctbAdcs.h
Executable file → Normal file
2
ctbGui/ctbAdcs.h
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2
ctbGui/ctbDacs.cpp
Executable file → Normal file
2
ctbGui/ctbDacs.cpp
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
2
ctbGui/ctbDacs.h
Executable file → Normal file
2
ctbGui/ctbDacs.h
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
|
|
||||||
#ifndef CTBDACS_H
|
#ifndef CTBDACS_H
|
||||||
|
2
ctbGui/ctbDefs.h
Executable file → Normal file
2
ctbGui/ctbDefs.h
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
2
ctbGui/ctbGui.cpp
Executable file → Normal file
2
ctbGui/ctbGui.cpp
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include <TApplication.h>
|
#include <TApplication.h>
|
||||||
#include <TColor.h>
|
#include <TColor.h>
|
||||||
|
|
||||||
|
2
ctbGui/ctbLinkDef.h
Executable file → Normal file
2
ctbGui/ctbLinkDef.h
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#pragma link C++ class ctbMain;
|
#pragma link C++ class ctbMain;
|
||||||
#pragma link C++ class ctbDacs;
|
#pragma link C++ class ctbDacs;
|
||||||
#pragma link C++ class ctbDac;
|
#pragma link C++ class ctbDac;
|
||||||
|
2
ctbGui/ctbMain.cpp
Executable file → Normal file
2
ctbGui/ctbMain.cpp
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include <TApplication.h>
|
#include <TApplication.h>
|
||||||
#include <TGClient.h>
|
#include <TGClient.h>
|
||||||
#include <TCanvas.h>
|
#include <TCanvas.h>
|
||||||
|
2
ctbGui/ctbMain.h
Executable file → Normal file
2
ctbGui/ctbMain.h
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#ifndef CTBMAIN_H
|
#ifndef CTBMAIN_H
|
||||||
#define CTBMAIN_H
|
#define CTBMAIN_H
|
||||||
#include <TGFrame.h>
|
#include <TGFrame.h>
|
||||||
|
2
ctbGui/ctbPattern.cpp
Executable file → Normal file
2
ctbGui/ctbPattern.cpp
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include <TApplication.h>
|
#include <TApplication.h>
|
||||||
#include <TGClient.h>
|
#include <TGClient.h>
|
||||||
#include <TCanvas.h>
|
#include <TCanvas.h>
|
||||||
|
2
ctbGui/ctbPattern.h
Executable file → Normal file
2
ctbGui/ctbPattern.h
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#ifndef CTBPATTERN_H
|
#ifndef CTBPATTERN_H
|
||||||
#define CTBPATTERN_H
|
#define CTBPATTERN_H
|
||||||
#include <TGFrame.h>
|
#include <TGFrame.h>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include <TGFrame.h>
|
#include <TGFrame.h>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#ifndef CTBPOWERS_H
|
#ifndef CTBPOWERS_H
|
||||||
#define CTBPOWERS_H
|
#define CTBPOWERS_H
|
||||||
|
|
||||||
|
2
ctbGui/ctbSignals.cpp
Executable file → Normal file
2
ctbGui/ctbSignals.cpp
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include <TApplication.h>
|
#include <TApplication.h>
|
||||||
#include <TGClient.h>
|
#include <TGClient.h>
|
||||||
#include <TCanvas.h>
|
#include <TCanvas.h>
|
||||||
|
2
ctbGui/ctbSignals.h
Executable file → Normal file
2
ctbGui/ctbSignals.h
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#ifndef CTBSIGNALS_H
|
#ifndef CTBSIGNALS_H
|
||||||
#define CTBSIGNALS_H
|
#define CTBSIGNALS_H
|
||||||
#include <TGFrame.h>
|
#include <TGFrame.h>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
|
|
||||||
#ifndef CTBSLOWADCS_H
|
#ifndef CTBSLOWADCS_H
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
if [ "$#" -eq 0 ]; then
|
if [ "$#" -eq 0 ]; then
|
||||||
echo "Wrong number of arguments: usage should be $0 patname"
|
echo "Wrong number of arguments: usage should be $0 patname"
|
||||||
exit 1
|
exit 1
|
||||||
|
2
ctbGui/patternGenerator/generator.c
Executable file → Normal file
2
ctbGui/patternGenerator/generator.c
Executable file → Normal file
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
usage to generate a patter test.pat from test.p
|
usage to generate a patter test.pat from test.p
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
find_package(Doxygen REQUIRED)
|
find_package(Doxygen REQUIRED)
|
||||||
find_package(Sphinx REQUIRED)
|
find_package(Sphinx REQUIRED)
|
||||||
|
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
Firmware Upgrade
|
Firmware Upgrade
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Eiger
|
Eiger
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
@ -18,30 +16,9 @@ Upgrade
|
|||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
#. Tftp must be already installed on your pc to use the bcp script.
|
#. Tftp must be already installed on your pc to use the bcp script.
|
||||||
|
|
||||||
#. Kill the on-board servers and copy new servers to the board.
|
#. Copy new servers to the board. See :ref:`how to upgrade detector servers<Detector Server Upgrade>` for more detals. A reboot should have started the new linked servers automatically. For Eiger, do not reboot yet as we need to program the firmware via bit files.
|
||||||
|
|
||||||
.. code-block:: bash
|
* This step is crucial when registers between firmwares change. Failure to do so will result in linux on boards to crash and boards can't be pinged anymore.
|
||||||
|
|
||||||
# Option 1: from detector console
|
|
||||||
# kill old server
|
|
||||||
ssh root@bebxxx
|
|
||||||
killall eigerDetectorServer
|
|
||||||
|
|
||||||
# copy new server
|
|
||||||
cd executables
|
|
||||||
scp user@pc:/path/eigerDetectorServerxxx .
|
|
||||||
chmod 777 eigerDetectorServerxxx
|
|
||||||
ln -sf eigerDetectorServerxxx eigerDetectorServer
|
|
||||||
sync
|
|
||||||
|
|
||||||
# Options 2: from client console for multiple modules
|
|
||||||
for i in bebxxx bebyyy;
|
|
||||||
do ssh root@$i killall eigerDetectorServer;
|
|
||||||
scp eigerDetectorServerxxx root@$i:~/executables/eigerDetectorServer;
|
|
||||||
ssh root@$i sync; done
|
|
||||||
|
|
||||||
|
|
||||||
* This is crucial when registers between firmwares change. Failure to do so will result in linux on boards to crash and boards can't be pinged anymore.
|
|
||||||
|
|
||||||
#. Bring the board into programmable mode using either of the 2 ways. Both methods result in only the central LED blinking.
|
#. Bring the board into programmable mode using either of the 2 ways. Both methods result in only the central LED blinking.
|
||||||
|
|
||||||
@ -50,8 +27,13 @@ Upgrade
|
|||||||
Do a hard reset for each half module on back panel boards, between the LEDs, closer to each of the 1G ethernet connectors. Push until all LEDs start to blink.
|
Do a hard reset for each half module on back panel boards, between the LEDs, closer to each of the 1G ethernet connectors. Push until all LEDs start to blink.
|
||||||
|
|
||||||
* Software:
|
* Software:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# Option 1: if the old server is still running:
|
||||||
|
sls_detector_put execcommand "./boot_recovery"
|
||||||
|
|
||||||
|
# Option 2:
|
||||||
ssh root@bebxxx
|
ssh root@bebxxx
|
||||||
cd executables
|
cd executables
|
||||||
./boot_recovery
|
./boot_recovery
|
||||||
@ -79,11 +61,24 @@ Upgrade
|
|||||||
#update front right fpga
|
#update front right fpga
|
||||||
bcp download.bit bebxxx:/febr
|
bcp download.bit bebxxx:/febr
|
||||||
|
|
||||||
#update kernel (only if required by the SLS Detector Group)
|
#update kernel (only if required by us)
|
||||||
bcp download.bit bebxxx:/kernel
|
bcp download.bit bebxxx:/kernel
|
||||||
|
|
||||||
#. Reboot the detector.
|
#. Reboot the detector.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# In the first terminal where we saw "Succeess"
|
||||||
|
# reconfig febX is necessary only if you have flashed a new feb firmware
|
||||||
|
reconfig febl
|
||||||
|
reconfig febr
|
||||||
|
# will reboot controller
|
||||||
|
reconfig fw0
|
||||||
|
|
||||||
|
.. note ::
|
||||||
|
|
||||||
|
If the detector servers did not start up automatically after reboot, you need to add scripts to do that. See :ref:`Automatic start<Automatic start servers>` for more details.
|
||||||
|
|
||||||
Jungfrau
|
Jungfrau
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
@ -94,75 +89,26 @@ Download
|
|||||||
- `pof files <https://github.com/slsdetectorgroup/slsDetectorFirmware>`__
|
- `pof files <https://github.com/slsdetectorgroup/slsDetectorFirmware>`__
|
||||||
|
|
||||||
|
|
||||||
Upgrade (from v4.x.x)
|
Upgrade
|
||||||
^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^
|
||||||
|
|
||||||
Check :ref:`firmware troubleshooting <blackfin firmware troubleshooting>` if you run into issues while programming firmware.
|
.. note ::
|
||||||
|
|
||||||
#. Tftp must be installed on pc.
|
These instructions are for upgrades from v5.0.0. For earlier versions, contact us.
|
||||||
|
|
||||||
#. Update client package to the latest (5.x.x).
|
|
||||||
|
|
||||||
#. Disable server respawning or kill old server
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# Option 1: if respawning enabled
|
|
||||||
telnet bchipxxx
|
|
||||||
# edit /etc/inittab
|
|
||||||
# comment out line #ttyS0::respawn:/jungfrauDetectorServervxxx
|
|
||||||
reboot
|
|
||||||
# ensure servers did not start up after reboot
|
|
||||||
telnet bchipxxx
|
|
||||||
ps
|
|
||||||
|
|
||||||
# Option 2: if respawning already disabled
|
|
||||||
telnet bchipxxx
|
|
||||||
killall jungfrauDetectorServerv*
|
|
||||||
|
|
||||||
#. Copy new server and start in update mode
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
tftp pcxxx -r jungfrauDetectorServervxxx -g
|
|
||||||
chmod 777 jungfrauDetectorServervxxx
|
|
||||||
./jungfrauDetectorServervxxx -u
|
|
||||||
|
|
||||||
#. Program fpga from the client console
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
sls_detector_get free
|
|
||||||
# Crucial that the next command executes without any errors
|
|
||||||
sls_detector_put hostname bchipxxx
|
|
||||||
sls_detector_put programfpga xxx.pof
|
|
||||||
|
|
||||||
#. After programming, kill 'update server' using Ctrl + C in server console.
|
|
||||||
|
|
||||||
#. Enable server respawning if needed
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
telnet bchipxxx
|
|
||||||
# edit /etc/inittab
|
|
||||||
# uncomment out line #ttyS0::respawn:/jungfrauDetectorServervxxx
|
|
||||||
# ensure the line has the new server name
|
|
||||||
reboot
|
|
||||||
# ensure both servers are running using ps
|
|
||||||
jungfrauDetectorServervxxx
|
|
||||||
jungfrauDetectorServervxxx --stop-server 1953
|
|
||||||
|
|
||||||
|
|
||||||
Upgrade (from v5.0.0)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
Check :ref:`firmware troubleshooting <blackfin firmware troubleshooting>` if you run into issues while programming firmware.
|
Check :ref:`firmware troubleshooting <blackfin firmware troubleshooting>` if you run into issues while programming firmware.
|
||||||
|
|
||||||
Always ensure that the client and server software are of the same release.
|
Always ensure that the client and server software are of the same release.
|
||||||
|
|
||||||
|
|
||||||
#. Program from console
|
Program from console
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# copies server from tftp folder of pc, programs fpga,
|
# copies server from tftp folder of pc, links new server to jungfrauDetectorServer,
|
||||||
# removes old server from respawn, sets up new server to respawn
|
# removes old server from respawn, sets up new lnked server to respawn
|
||||||
# and reboots
|
# programs fpga,
|
||||||
|
# reboots
|
||||||
sls_detector_put update jungfrauDetectorServervxxx pcxxx xx.pof
|
sls_detector_put update jungfrauDetectorServervxxx pcxxx xx.pof
|
||||||
|
|
||||||
# Or only program firmware
|
# Or only program firmware
|
||||||
@ -170,8 +116,8 @@ Always ensure that the client and server software are of the same release.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gotthard
|
Gotthard I
|
||||||
---------
|
-----------
|
||||||
|
|
||||||
Download
|
Download
|
||||||
^^^^^^^^^^^^^
|
^^^^^^^^^^^^^
|
||||||
@ -186,7 +132,7 @@ Upgrade
|
|||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
.. warning ::
|
.. warning ::
|
||||||
| Gotthard firmware cannot be upgraded remotely and requires the use of USB-Blaster.
|
| Gotthard firmware cannot be upgraded remotely and requires the use of USB-Blaster.
|
||||||
| It is generally updated by the SLS Detector group.
|
| It is generally updated by us.
|
||||||
|
|
||||||
#. Download `Altera Quartus software or Quartus programmer <https://fpgasoftware.intel.com/20.1/?edition=standard&platform=linux&product=qprogrammer#tabs-4>`__.
|
#. Download `Altera Quartus software or Quartus programmer <https://fpgasoftware.intel.com/20.1/?edition=standard&platform=linux&product=qprogrammer#tabs-4>`__.
|
||||||
|
|
||||||
@ -197,7 +143,7 @@ Upgrade
|
|||||||
|
|
||||||
#. Plug the end of your USB-Blaster with the adaptor provided to the connector 'AS config' on the Gotthard board.
|
#. Plug the end of your USB-Blaster with the adaptor provided to the connector 'AS config' on the Gotthard board.
|
||||||
|
|
||||||
#. Click on 'Add file'. Select programming (pof) file provided by the SLS Detector group.
|
#. Click on 'Add file'. Select programming (pof) file provided by us.
|
||||||
|
|
||||||
#. Check "Program/Configure" and "Verify". Push the start button. Wait until the programming process is finished.
|
#. Check "Program/Configure" and "Verify". Push the start button. Wait until the programming process is finished.
|
||||||
|
|
||||||
@ -206,68 +152,69 @@ Upgrade
|
|||||||
#. Reboot the detector.
|
#. Reboot the detector.
|
||||||
|
|
||||||
|
|
||||||
Mythen3
|
Mythen III
|
||||||
-------
|
-----------
|
||||||
|
|
||||||
.. note ::
|
.. note ::
|
||||||
|
|
||||||
As it is still in developement, the rbf files must be picked up from the SLS Detector Group.
|
As it is still in development, the rbf files must be picked up from us.
|
||||||
|
|
||||||
Download
|
Download
|
||||||
^^^^^^^^^^^^^
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
- detector server corresponding to package in slsDetectorPackage/serverBin
|
- detector server corresponding to package in slsDetectorPackage/serverBin
|
||||||
|
|
||||||
- rbf files (in developement)
|
- `rbf files <https://github.com/slsdetectorgroup/slsDetectorFirmware>`__
|
||||||
|
|
||||||
|
|
||||||
Upgrade (from v5.0.0)
|
Upgrade
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^
|
||||||
|
|
||||||
Always ensure that the client and server software are of the same release.
|
Always ensure that the client and server software are of the same release.
|
||||||
|
|
||||||
#. Program from console
|
Program from console
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# copies server from tftp folder of pc, programs fpga,
|
# copies server from tftp folder of pc, links new server to mythen3DetectorServer,
|
||||||
# and reboots (new server not respawned currently)
|
# programs fpga,
|
||||||
|
# reboots
|
||||||
sls_detector_put update mythen3DetectorServervxxx pcxxx xxx.rbf
|
sls_detector_put update mythen3DetectorServervxxx pcxxx xxx.rbf
|
||||||
|
|
||||||
# Or only program firmware
|
# Or only program firmware
|
||||||
sls_detector_put programfpga xxx.rbf
|
sls_detector_put programfpga xxx.rbf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gotthard2
|
|
||||||
-------------
|
|
||||||
|
|
||||||
.. note ::
|
.. note ::
|
||||||
|
|
||||||
As it is still in developement, the rbf files must be picked up from the SLS Detector Group.
|
If the detector servers did not start up automatically after reboot, you need to add scripts to do that. See :ref:`Automatic start<Automatic start servers>` for more details.
|
||||||
|
|
||||||
|
Gotthard II
|
||||||
|
-------------
|
||||||
|
|
||||||
Download
|
Download
|
||||||
^^^^^^^^^^^^^
|
^^^^^^^^^^^^^
|
||||||
- detector server corresponding to package in slsDetectorPackage/serverBin
|
- detector server corresponding to package in slsDetectorPackage/serverBin
|
||||||
|
|
||||||
- rbf files (in development)
|
- `rbf files <https://github.com/slsdetectorgroup/slsDetectorFirmware>`__
|
||||||
|
|
||||||
|
Upgrade
|
||||||
Upgrade (from v5.0.0)
|
^^^^^^^^
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
Always ensure that the client and server software are of the same release.
|
Always ensure that the client and server software are of the same release.
|
||||||
|
|
||||||
#. Program from console
|
Program from console
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# copies server from tftp folder of pc, programs fpga,
|
# copies server from tftp folder of pc, links new server to gotthard2DetectorServer,
|
||||||
# and reboots (new server not respawned currently)
|
# programs fpga,
|
||||||
|
# reboots
|
||||||
sls_detector_put update gotthard2DetectorServervxxx pcxxx xxx.rbf
|
sls_detector_put update gotthard2DetectorServervxxx pcxxx xxx.rbf
|
||||||
|
|
||||||
# Or only program firmware
|
# Or only program firmware
|
||||||
sls_detector_put programfpga xxx.rbf
|
sls_detector_put programfpga xxx.rbf
|
||||||
|
|
||||||
|
.. note ::
|
||||||
|
|
||||||
|
If the detector servers did not start up automatically after reboot, you need to add scripts to do that. See :ref:`Automatic start<Automatic start servers>` for more details.
|
||||||
|
|
||||||
Moench
|
Moench
|
||||||
-------
|
-------
|
||||||
@ -279,19 +226,21 @@ Download
|
|||||||
- `pof files <https://github.com/slsdetectorgroup/slsDetectorFirmware>`__
|
- `pof files <https://github.com/slsdetectorgroup/slsDetectorFirmware>`__
|
||||||
|
|
||||||
|
|
||||||
Upgrade (from v5.0.0)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Upgrade
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
Check :ref:`firmware troubleshooting <blackfin firmware troubleshooting>` if you run into issues while programming firmware.
|
Check :ref:`firmware troubleshooting <blackfin firmware troubleshooting>` if you run into issues while programming firmware.
|
||||||
|
|
||||||
Always ensure that the client and server software are of the same release.
|
Always ensure that the client and server software are of the same release.
|
||||||
|
|
||||||
#. Program from console
|
Program from console
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# copies server from tftp folder of pc, programs fpga,
|
# copies server from tftp folder of pc, links new server to moenchDetectorServer,
|
||||||
# removes old server from respawn, sets up new server to respawn
|
# removes old server from respawn, sets up new lnked server to respawn
|
||||||
# and reboots
|
# programs fpga,
|
||||||
|
# reboots
|
||||||
sls_detector_put update moenchDetectorServervxxx pcxxx xx.pof
|
sls_detector_put update moenchDetectorServervxxx pcxxx xx.pof
|
||||||
|
|
||||||
# Or only program firmware
|
# Or only program firmware
|
||||||
@ -307,19 +256,21 @@ Download
|
|||||||
- `pof files <https://github.com/slsdetectorgroup/slsDetectorFirmware>`__
|
- `pof files <https://github.com/slsdetectorgroup/slsDetectorFirmware>`__
|
||||||
|
|
||||||
|
|
||||||
Upgrade (from v5.0.0)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Upgrade
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
Check :ref:`firmware troubleshooting <blackfin firmware troubleshooting>` if you run into issues while programming firmware.
|
Check :ref:`firmware troubleshooting <blackfin firmware troubleshooting>` if you run into issues while programming firmware.
|
||||||
|
|
||||||
Always ensure that the client and server software are of the same release.
|
Always ensure that the client and server software are of the same release.
|
||||||
|
|
||||||
#. Program from console
|
Program from console
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# copies server from tftp folder of pc, programs fpga,
|
# copies server from tftp folder of pc, links new server to ctbDetectorServer,
|
||||||
# removes old server from respawn, sets up new server to respawn
|
# removes old server from respawn, sets up new lnked server to respawn
|
||||||
# and reboots
|
# programs fpga,
|
||||||
|
# reboots
|
||||||
sls_detector_put update ctbDetectorServervxxx pcxxx xx.pof
|
sls_detector_put update ctbDetectorServervxxx pcxxx xx.pof
|
||||||
|
|
||||||
# Or only program firmware
|
# Or only program firmware
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
/**
|
/**
|
||||||
* Utility program to generate input files for the command line
|
* Utility program to generate input files for the command line
|
||||||
* documentation. Uses the string returned from sls_detector_help cmd
|
* documentation. Uses the string returned from sls_detector_help cmd
|
||||||
|
@ -72,3 +72,18 @@ exposed to Python through pybind11.
|
|||||||
|
|
||||||
.. autoclass:: timingSourceType
|
.. autoclass:: timingSourceType
|
||||||
:undoc-members:
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: M3_GainCaps
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: portPosition
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: streamingInterface
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: vetoAlgorithm
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: gainMode
|
||||||
|
:undoc-members:
|
@ -36,6 +36,7 @@ Detector Servers include:
|
|||||||
When using a blocking acquire command (sls_detector_acquire or Detector::acquire), the control server is blocked until end of acquisition. However, stop server commands could be used in parallel.
|
When using a blocking acquire command (sls_detector_acquire or Detector::acquire), the control server is blocked until end of acquisition. However, stop server commands could be used in parallel.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Automatic start servers:
|
||||||
Automatic start
|
Automatic start
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
@ -1,114 +1,44 @@
|
|||||||
|
.. _Detector Server Upgrade:
|
||||||
Detector Server Upgrade
|
Detector Server Upgrade
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Eiger
|
|
||||||
-------------
|
|
||||||
|
|
||||||
|
|
||||||
**Location:** slsDetectorPackage/serverBin/ folder for every release.
|
**Location:** slsDetectorPackage/serverBin/ folder for every release.
|
||||||
|
|
||||||
|
|
||||||
#. Kill old server and copy new server
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# Option 1: from detector console
|
|
||||||
# kill old server
|
|
||||||
ssh root@bebxxx
|
|
||||||
killall eigerDetectorServer
|
|
||||||
|
|
||||||
# copy new server
|
|
||||||
cd executables
|
|
||||||
scp user@pc:/path/eigerDetectorServerxxx .
|
|
||||||
chmod 777 eigerDetectorServerxxx
|
|
||||||
ln -sf eigerDetectorServerxxx eigerDetectorServer
|
|
||||||
sync
|
|
||||||
|
|
||||||
# Options 2: from client console for multiple modules
|
|
||||||
for i in bebxxx bebyyy;
|
|
||||||
do ssh root@$i killall eigerDetectorServer;
|
|
||||||
scp eigerDetectorServerxxx root@$i:~/executables/eigerDetectorServer;
|
|
||||||
ssh root@$i sync; done
|
|
||||||
|
|
||||||
|
|
||||||
#. Reboot the detector.
|
|
||||||
|
|
||||||
|
|
||||||
Jungfrau
|
|
||||||
-------------
|
|
||||||
|
|
||||||
**Location:** slsDetectorPackage/serverBin/ folder for every release.
|
|
||||||
|
|
||||||
#. Install tftp and copy detector server binary to tftp folder
|
#. Install tftp and copy detector server binary to tftp folder
|
||||||
#. Program from console (only from 5.0.0-rcx)
|
#. Program from console
|
||||||
|
|
||||||
|
.. note ::
|
||||||
|
|
||||||
|
These instructions are for upgrades from v5.0.0. For earlier versions, contact us.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# copies new server from pc tftp folder, respawns and reboots
|
# copies new server from pc tftp folder, creates a soft link to xxxDetectorServerxxx
|
||||||
sls_detector_put copydetectorserver jungfrauDetectorServerxxx pcxxx
|
# [Jungfrau][CTB][Moench] also edits initttab to respawn server on reboot
|
||||||
|
# Then, the detector controller will reboot (except Eiger)
|
||||||
|
sls_detector_put copydetectorserver xxxDetectorServerxxx pcxxx
|
||||||
|
|
||||||
|
#. Copy the detector server specific config files or any others required to the detector:
|
||||||
|
|
||||||
Gotthard
|
|
||||||
---------
|
|
||||||
|
|
||||||
**Location:** slsDetectorPackage/serverBin/ folder for every release.
|
|
||||||
|
|
||||||
#. Install tftp and copy detector server binary to tftp folder
|
|
||||||
#. Program from console (only from 5.0.0-rcx)
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# copies new server from pc tftp folder, respawns and reboots
|
sls_detector_put execcommand "tftp pcxxx -r configxxx -g"
|
||||||
sls_detector_put copydetectorserver gotthardDetectorServerxxx pcxxx
|
|
||||||
|
|
||||||
|
|
||||||
|
.. note ::
|
||||||
|
|
||||||
Mythen3
|
For Mythen3, Gotthard2 and Eiger, you need to add scripts to automatically start detector server upon power on. See :ref:`Automatic start<Automatic start servers>` for more details.
|
||||||
-------
|
|
||||||
|
|
||||||
**Location:** slsDetectorPackage/serverBin/ folder for every release.
|
.. note ::
|
||||||
|
|
||||||
#. Install tftp and copy detector server binary to tftp folder
|
Eiger requires a manual reboot. Or killall the servers and restart the new linked one. If you are in the process of updating firmware, then don't reboot yet.
|
||||||
#. Program from console (only from 5.0.0-rcx)
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# copies new server from pc tftp folder and reboots (does not respawn)
|
|
||||||
sls_detector_put copydetectorserver mythen3DetectorServerxxx pcxxx
|
|
||||||
|
|
||||||
|
|
||||||
Gotthard2
|
Errors
|
||||||
----------
|
|
||||||
|
|
||||||
**Location:** slsDetectorPackage/serverBin/ folder for every release.
|
|
||||||
|
|
||||||
#. Install tftp and copy detector server binary to tftp folder
|
|
||||||
#. Program from console (only from 5.0.0-rcx)
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# copies new server from pc tftp folder and reboots (does not respawn)
|
|
||||||
sls_detector_put copydetectorserver gotthard2DetectorServerxxx pcxxx
|
|
||||||
|
|
||||||
|
|
||||||
Moench
|
|
||||||
------
|
------
|
||||||
|
|
||||||
**Location:** slsDetectorPackage/serverBin/ folder for every release.
|
#. tftp write error: There is no space left. Please delete some old binaries and try again.
|
||||||
|
|
||||||
#. Install tftp and copy detector server binary to tftp folder
|
#. text file busy: You are trying to copy the same server.
|
||||||
#. Program from console (only from 5.0.0-rcx)
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# copies new server from pc tftp folder, respawns and reboots
|
|
||||||
sls_detector_put copydetectorserver moenchDetectorServerxxx pcxxx
|
|
||||||
|
|
||||||
|
|
||||||
Ctb
|
|
||||||
---
|
|
||||||
|
|
||||||
**Location:** slsDetectorPackage/serverBin/ folder for every release.
|
|
||||||
|
|
||||||
#. Install tftp and copy detector server binary to tftp folder
|
|
||||||
#. Program from console (only from 5.0.0-rcx)
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# copies new server from pc tftp folder, respawns and reboots
|
|
||||||
sls_detector_put copydetectorserver ctbDetectorServerxxx pcxxx
|
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
GITREPO1='git remote -v'
|
GITREPO1='git remote -v'
|
||||||
GITREPO2=" | grep \"fetch\" | cut -d' ' -f1"
|
GITREPO2=" | grep \"fetch\" | cut -d' ' -f1"
|
||||||
BRANCH1='git branch -v'
|
BRANCH1='git branch -v'
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#####! /bin/awk -f
|
#####! /bin/awk -f
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
# MESSAGE( STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR} )
|
# MESSAGE( STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||||
# MESSAGE( STATUS "PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR} )
|
# MESSAGE( STATUS "PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR} )
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include "DetectorImpl.h"
|
#include "DetectorImpl.h"
|
||||||
#include "catch.hpp"
|
#include "catch.hpp"
|
||||||
#include "sls/string_utils.h"
|
#include "sls/string_utils.h"
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
#include "catch.hpp"
|
#include "catch.hpp"
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include "DetectorImpl.h"
|
#include "DetectorImpl.h"
|
||||||
#include "catch.hpp"
|
#include "catch.hpp"
|
||||||
#include "sls/string_utils.h"
|
#include "sls/string_utils.h"
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
// tests-main.cpp
|
// tests-main.cpp
|
||||||
#define CATCH_CONFIG_MAIN
|
#define CATCH_CONFIG_MAIN
|
||||||
#include "catch.hpp"
|
#include "catch.hpp"
|
@ -1,16 +0,0 @@
|
|||||||
Copyright (C) 2021 Contributors to the SLS Detector Package
|
|
||||||
|
|
||||||
This file is part of the SLS Detecotor Package.
|
|
||||||
|
|
||||||
SLS Detecotor Package is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU Lesser General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
SLS Detecotor Package is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
|
||||||
along with SLS Detecotor Package. If not, see <https://www.gnu.org/licenses/>.
|
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
pybind11_add_module(_slsdet
|
pybind11_add_module(_slsdet
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
# sls_detector: Python interface to slsDetectorPackage
|
|
||||||
Python interface to the Sls Detector Software.
|
|
||||||
|
|
||||||
### Documentation ###
|
|
||||||
Sphinx built documentation is available here:
|
|
||||||
[https://slsdetectorgroup.github.io/sls_detector/](https://slsdetectorgroup.github.io/sls_detector/)
|
|
||||||
|
|
||||||
|
|
||||||
### Install using conda ###
|
|
||||||
|
|
||||||
Binaries are available using conda. This installs both the detector software and the Python
|
|
||||||
interface.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
#Add conda channels
|
|
||||||
conda config --add channels conda-forge
|
|
||||||
conda config --add channels slsdetectorgroup
|
|
||||||
|
|
||||||
#Install latest version
|
|
||||||
conda install sls_detector
|
|
||||||
|
|
||||||
#Install specific version
|
|
||||||
conda install sls_detector=3.0.1
|
|
||||||
|
|
||||||
#Scientific Linux 6 version (GLIBC2.12)
|
|
||||||
conda install sls_detector=SL6_3.0.1
|
|
||||||
```
|
|
||||||
|
|
||||||
### Building using conda-build ###
|
|
||||||
|
|
||||||
Needs [sls_detector_software](https://github.com/slsdetectorgroup/sls_detector_software) installed.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
#Clone source code
|
|
||||||
git clone https://github.com/slsdetectorgroup/sls_detector.git
|
|
||||||
|
|
||||||
#Checkout the branch needed
|
|
||||||
git checkout 3.0.1
|
|
||||||
|
|
||||||
#Build and install the local version
|
|
||||||
conda-build sls_detector
|
|
||||||
conda install --use-local sls_detector
|
|
||||||
|
|
||||||
|
|
||||||
```
|
|
||||||
### Developer build ###
|
|
||||||
|
|
||||||
IF you if you are developing and are making constant changes to the code it's a bit cumbersome
|
|
||||||
to build with conda and install. Then an easier way is to build the C/C++ parts in the package
|
|
||||||
directory and temporary add this to the path
|
|
||||||
|
|
||||||
```bash
|
|
||||||
#in path/to/sls_detector
|
|
||||||
python setup.py build_ext --inplace
|
|
||||||
```
|
|
||||||
Then in your Python script
|
|
||||||
```python
|
|
||||||
|
|
||||||
import sys
|
|
||||||
sys.path.append('/path/to/sls_detector')
|
|
||||||
from sls_detector import Detector
|
|
||||||
```
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
"""
|
"""
|
||||||
Example showing how to set and get exposure times
|
Example showing how to set and get exposure times
|
||||||
"""
|
"""
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
|
|
||||||
from slsdet import Detector, patternParameters
|
from slsdet import Detector, patternParameters
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
import time
|
import time
|
||||||
from multiprocessing import Process
|
from multiprocessing import Process
|
||||||
from slsdet import Detector, runStatus
|
from slsdet import Detector, runStatus
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
import time
|
import time
|
||||||
from slsdet import Detector, runStatus
|
from slsdet import Detector, runStatus
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from slsdet import Detector, Eiger, dacIndex
|
from slsdet import Detector, Eiger, dacIndex
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from slsdet import Detector, Eiger, dacIndex
|
from slsdet import Detector, Eiger, dacIndex
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from slsdet import Eiger
|
from slsdet import Eiger
|
||||||
|
|
||||||
d = Eiger()
|
d = Eiger()
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from slsdet import Detector, currentSrcParameters
|
from slsdet import Detector, currentSrcParameters
|
||||||
|
|
||||||
s = currentSrcParameters()
|
s = currentSrcParameters()
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
# Most settings are represented as enums that can be
|
# Most settings are represented as enums that can be
|
||||||
# explicitly imported
|
# explicitly imported
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
|
|
||||||
from slsdet import Mythen3, scanParameters, dacIndex
|
from slsdet import Mythen3, scanParameters, dacIndex
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
import subprocess
|
import subprocess
|
||||||
import locale
|
import locale
|
||||||
out = subprocess.run(['g', 'list'], stdout = subprocess.PIPE, encoding=locale.getpreferredencoding())
|
out = subprocess.run(['g', 'list'], stdout = subprocess.PIPE, encoding=locale.getpreferredencoding())
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
import subprocess
|
import subprocess
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
"""
|
"""
|
||||||
Code generator for enum bindings in the Python extension.
|
Code generator for enum bindings in the Python extension.
|
||||||
Reads the sls_detector_defs.h and enums_in.cpp then outputs
|
Reads the sls_detector_defs.h and enums_in.cpp then outputs
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
"""
|
"""
|
||||||
This file is used to auto generate Python bindings for the
|
This file is used to auto generate Python bindings for the
|
||||||
sls::Detector class. The tool needs the libclang bindings
|
sls::Detector class. The tool needs the libclang bindings
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
"""
|
"""
|
||||||
Utility to find and list which command line functions have tests and
|
Utility to find and list which command line functions have tests and
|
||||||
where the tests are located
|
where the tests are located
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
from subprocess import PIPE
|
from subprocess import PIPE
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
import pytest
|
import pytest
|
||||||
import subprocess
|
import subprocess
|
||||||
import os
|
import os
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
"""
|
"""
|
||||||
Setup file for slsdet
|
Setup file for slsdet
|
||||||
Build upon the pybind11 example found here: https://github.com/pybind/python_example
|
Build upon the pybind11 example found here: https://github.com/pybind/python_example
|
||||||
@ -25,6 +27,7 @@ ext_modules = [
|
|||||||
Pybind11Extension(
|
Pybind11Extension(
|
||||||
'_slsdet',
|
'_slsdet',
|
||||||
['src/main.cpp',
|
['src/main.cpp',
|
||||||
|
'src/current.cpp',
|
||||||
'src/enums.cpp',
|
'src/enums.cpp',
|
||||||
'src/detector.cpp',
|
'src/detector.cpp',
|
||||||
'src/network.cpp',
|
'src/network.cpp',
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
# from .detector import Detector, DetectorError, free_shared_memory
|
# from .detector import Detector, DetectorError, free_shared_memory
|
||||||
from .eiger import Eiger
|
from .eiger import Eiger
|
||||||
from .ctb import Ctb
|
from .ctb import Ctb
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from functools import partial
|
from functools import partial
|
||||||
class Adc:
|
class Adc:
|
||||||
def __init__(self, name, enum, detector):
|
def __init__(self, name, enum, detector):
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from .detector import Detector
|
from .detector import Detector
|
||||||
from .utils import element_if_equal
|
from .utils import element_if_equal
|
||||||
from .dacs import DetectorDacs
|
from .dacs import DetectorDacs
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from .detector_property import DetectorProperty
|
from .detector_property import DetectorProperty
|
||||||
from functools import partial
|
from functools import partial
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from collections.abc import Iterable
|
from collections.abc import Iterable
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
"""
|
"""
|
||||||
Automatically improt all enums from slsDetectorDefs and give an
|
Automatically improt all enums from slsDetectorDefs and give an
|
||||||
alias with their name in the enum module. All names from the enum
|
alias with their name in the enum module. All names from the enum
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from .detector import Detector
|
from .detector import Detector
|
||||||
|
|
||||||
def view(name, det = Detector):
|
def view(name, det = Detector):
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
import _slsdet
|
import _slsdet
|
||||||
|
|
||||||
from _slsdet import Pattern
|
from _slsdet import Pattern
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from .utils import element_if_equal
|
from .utils import element_if_equal
|
||||||
from .enums import dacIndex
|
from .enums import dacIndex
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
class Register:
|
class Register:
|
||||||
def __init__(self, detector):
|
def __init__(self, detector):
|
||||||
self._detector = detector
|
self._detector = detector
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from collections.abc import Iterable
|
from collections.abc import Iterable
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
"""
|
"""
|
||||||
Utility functions that are useful for testing and troubleshooting
|
Utility functions that are useful for testing and troubleshooting
|
||||||
but not directly used in controlling the detector
|
but not directly used in controlling the detector
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include <pybind11/chrono.h>
|
#include <pybind11/chrono.h>
|
||||||
#include <pybind11/numpy.h>
|
#include <pybind11/numpy.h>
|
||||||
#include <pybind11/operators.h>
|
#include <pybind11/operators.h>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
/* WARINING This file is auto generated any edits might be overwritten without
|
/* WARINING This file is auto generated any edits might be overwritten without
|
||||||
* warning */
|
* warning */
|
||||||
|
|
||||||
@ -1070,13 +1072,13 @@ void init_det(py::module &m) {
|
|||||||
(void (Detector::*)(const defs::gainMode, sls::Positions)) &
|
(void (Detector::*)(const defs::gainMode, sls::Positions)) &
|
||||||
Detector::setGainMode,
|
Detector::setGainMode,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("getFilterCell",
|
.def("getNumberOfFilterCells",
|
||||||
(Result<int>(Detector::*)(sls::Positions) const) &
|
(Result<int>(Detector::*)(sls::Positions) const) &
|
||||||
Detector::getFilterCell,
|
Detector::getNumberOfFilterCells,
|
||||||
py::arg() = Positions{})
|
py::arg() = Positions{})
|
||||||
.def("setFilterCell",
|
.def("setNumberOfFilterCells",
|
||||||
(void (Detector::*)(int, sls::Positions)) &
|
(void (Detector::*)(int, sls::Positions)) &
|
||||||
Detector::setFilterCell,
|
Detector::setNumberOfFilterCells,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("getROI",
|
.def("getROI",
|
||||||
(Result<defs::ROI>(Detector::*)(sls::Positions) const) &
|
(Result<defs::ROI>(Detector::*)(sls::Positions) const) &
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include <pybind11/chrono.h>
|
#include <pybind11/chrono.h>
|
||||||
#include <pybind11/operators.h>
|
#include <pybind11/operators.h>
|
||||||
#include <pybind11/pybind11.h>
|
#include <pybind11/pybind11.h>
|
||||||
@ -14,15 +16,14 @@
|
|||||||
#include <chrono>
|
#include <chrono>
|
||||||
namespace py = pybind11;
|
namespace py = pybind11;
|
||||||
void init_det(py::module &m) {
|
void init_det(py::module &m) {
|
||||||
|
using sls::defs;
|
||||||
using sls::Detector;
|
using sls::Detector;
|
||||||
|
using sls::ns;
|
||||||
using sls::Positions;
|
using sls::Positions;
|
||||||
using sls::Result;
|
using sls::Result;
|
||||||
using sls::defs;
|
|
||||||
using sls::ns;
|
|
||||||
|
|
||||||
py::class_<Detector> CppDetectorApi(m, "CppDetectorApi");
|
py::class_<Detector> CppDetectorApi(m, "CppDetectorApi");
|
||||||
CppDetectorApi
|
CppDetectorApi.def(py::init<int>())
|
||||||
.def(py::init<int>())
|
|
||||||
|
|
||||||
[[FUNCTIONS]]
|
[[FUNCTIONS]]
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* WARINING This file is auto generated any edits might be overwritten without
|
/* WARINING This file is auto generated any edits might be overwritten without warning */
|
||||||
* warning */
|
|
||||||
|
|
||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
#include <pybind11/chrono.h>
|
#include <pybind11/chrono.h>
|
||||||
#include <pybind11/numpy.h>
|
#include <pybind11/numpy.h>
|
||||||
#include <pybind11/operators.h>
|
#include <pybind11/operators.h>
|
||||||
@ -41,19 +42,15 @@ void init_enums(py::module &m) {
|
|||||||
|
|
||||||
py::enum_<slsDetectorDefs::frameDiscardPolicy>(Defs, "frameDiscardPolicy")
|
py::enum_<slsDetectorDefs::frameDiscardPolicy>(Defs, "frameDiscardPolicy")
|
||||||
.value("NO_DISCARD", slsDetectorDefs::frameDiscardPolicy::NO_DISCARD)
|
.value("NO_DISCARD", slsDetectorDefs::frameDiscardPolicy::NO_DISCARD)
|
||||||
.value("DISCARD_EMPTY_FRAMES",
|
.value("DISCARD_EMPTY_FRAMES", slsDetectorDefs::frameDiscardPolicy::DISCARD_EMPTY_FRAMES)
|
||||||
slsDetectorDefs::frameDiscardPolicy::DISCARD_EMPTY_FRAMES)
|
.value("DISCARD_PARTIAL_FRAMES", slsDetectorDefs::frameDiscardPolicy::DISCARD_PARTIAL_FRAMES)
|
||||||
.value("DISCARD_PARTIAL_FRAMES",
|
.value("NUM_DISCARD_POLICIES", slsDetectorDefs::frameDiscardPolicy::NUM_DISCARD_POLICIES)
|
||||||
slsDetectorDefs::frameDiscardPolicy::DISCARD_PARTIAL_FRAMES)
|
|
||||||
.value("NUM_DISCARD_POLICIES",
|
|
||||||
slsDetectorDefs::frameDiscardPolicy::NUM_DISCARD_POLICIES)
|
|
||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::fileFormat>(Defs, "fileFormat")
|
py::enum_<slsDetectorDefs::fileFormat>(Defs, "fileFormat")
|
||||||
.value("BINARY", slsDetectorDefs::fileFormat::BINARY)
|
.value("BINARY", slsDetectorDefs::fileFormat::BINARY)
|
||||||
.value("HDF5", slsDetectorDefs::fileFormat::HDF5)
|
.value("HDF5", slsDetectorDefs::fileFormat::HDF5)
|
||||||
.value("NUM_FILE_FORMATS",
|
.value("NUM_FILE_FORMATS", slsDetectorDefs::fileFormat::NUM_FILE_FORMATS)
|
||||||
slsDetectorDefs::fileFormat::NUM_FILE_FORMATS)
|
|
||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::dimension>(Defs, "dimension")
|
py::enum_<slsDetectorDefs::dimension>(Defs, "dimension")
|
||||||
@ -62,25 +59,19 @@ void init_enums(py::module &m) {
|
|||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::externalSignalFlag>(Defs, "externalSignalFlag")
|
py::enum_<slsDetectorDefs::externalSignalFlag>(Defs, "externalSignalFlag")
|
||||||
.value("TRIGGER_IN_RISING_EDGE",
|
.value("TRIGGER_IN_RISING_EDGE", slsDetectorDefs::externalSignalFlag::TRIGGER_IN_RISING_EDGE)
|
||||||
slsDetectorDefs::externalSignalFlag::TRIGGER_IN_RISING_EDGE)
|
.value("TRIGGER_IN_FALLING_EDGE", slsDetectorDefs::externalSignalFlag::TRIGGER_IN_FALLING_EDGE)
|
||||||
.value("TRIGGER_IN_FALLING_EDGE",
|
.value("INVERSION_ON", slsDetectorDefs::externalSignalFlag::INVERSION_ON)
|
||||||
slsDetectorDefs::externalSignalFlag::TRIGGER_IN_FALLING_EDGE)
|
.value("INVERSION_OFF", slsDetectorDefs::externalSignalFlag::INVERSION_OFF)
|
||||||
.value("INVERSION_ON",
|
|
||||||
slsDetectorDefs::externalSignalFlag::INVERSION_ON)
|
|
||||||
.value("INVERSION_OFF",
|
|
||||||
slsDetectorDefs::externalSignalFlag::INVERSION_OFF)
|
|
||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::timingMode>(Defs, "timingMode")
|
py::enum_<slsDetectorDefs::timingMode>(Defs, "timingMode")
|
||||||
.value("AUTO_TIMING", slsDetectorDefs::timingMode::AUTO_TIMING)
|
.value("AUTO_TIMING", slsDetectorDefs::timingMode::AUTO_TIMING)
|
||||||
.value("TRIGGER_EXPOSURE",
|
.value("TRIGGER_EXPOSURE", slsDetectorDefs::timingMode::TRIGGER_EXPOSURE)
|
||||||
slsDetectorDefs::timingMode::TRIGGER_EXPOSURE)
|
|
||||||
.value("GATED", slsDetectorDefs::timingMode::GATED)
|
.value("GATED", slsDetectorDefs::timingMode::GATED)
|
||||||
.value("BURST_TRIGGER", slsDetectorDefs::timingMode::BURST_TRIGGER)
|
.value("BURST_TRIGGER", slsDetectorDefs::timingMode::BURST_TRIGGER)
|
||||||
.value("TRIGGER_GATED", slsDetectorDefs::timingMode::TRIGGER_GATED)
|
.value("TRIGGER_GATED", slsDetectorDefs::timingMode::TRIGGER_GATED)
|
||||||
.value("NUM_TIMING_MODES",
|
.value("NUM_TIMING_MODES", slsDetectorDefs::timingMode::NUM_TIMING_MODES)
|
||||||
slsDetectorDefs::timingMode::NUM_TIMING_MODES)
|
|
||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::dacIndex>(Defs, "dacIndex")
|
py::enum_<slsDetectorDefs::dacIndex>(Defs, "dacIndex")
|
||||||
@ -168,16 +159,13 @@ void init_enums(py::module &m) {
|
|||||||
.value("HIGH_VOLTAGE", slsDetectorDefs::dacIndex::HIGH_VOLTAGE)
|
.value("HIGH_VOLTAGE", slsDetectorDefs::dacIndex::HIGH_VOLTAGE)
|
||||||
.value("TEMPERATURE_ADC", slsDetectorDefs::dacIndex::TEMPERATURE_ADC)
|
.value("TEMPERATURE_ADC", slsDetectorDefs::dacIndex::TEMPERATURE_ADC)
|
||||||
.value("TEMPERATURE_FPGA", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA)
|
.value("TEMPERATURE_FPGA", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA)
|
||||||
.value("TEMPERATURE_FPGAEXT",
|
.value("TEMPERATURE_FPGAEXT", slsDetectorDefs::dacIndex::TEMPERATURE_FPGAEXT)
|
||||||
slsDetectorDefs::dacIndex::TEMPERATURE_FPGAEXT)
|
|
||||||
.value("TEMPERATURE_10GE", slsDetectorDefs::dacIndex::TEMPERATURE_10GE)
|
.value("TEMPERATURE_10GE", slsDetectorDefs::dacIndex::TEMPERATURE_10GE)
|
||||||
.value("TEMPERATURE_DCDC", slsDetectorDefs::dacIndex::TEMPERATURE_DCDC)
|
.value("TEMPERATURE_DCDC", slsDetectorDefs::dacIndex::TEMPERATURE_DCDC)
|
||||||
.value("TEMPERATURE_SODL", slsDetectorDefs::dacIndex::TEMPERATURE_SODL)
|
.value("TEMPERATURE_SODL", slsDetectorDefs::dacIndex::TEMPERATURE_SODL)
|
||||||
.value("TEMPERATURE_SODR", slsDetectorDefs::dacIndex::TEMPERATURE_SODR)
|
.value("TEMPERATURE_SODR", slsDetectorDefs::dacIndex::TEMPERATURE_SODR)
|
||||||
.value("TEMPERATURE_FPGA2",
|
.value("TEMPERATURE_FPGA2", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA2)
|
||||||
slsDetectorDefs::dacIndex::TEMPERATURE_FPGA2)
|
.value("TEMPERATURE_FPGA3", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA3)
|
||||||
.value("TEMPERATURE_FPGA3",
|
|
||||||
slsDetectorDefs::dacIndex::TEMPERATURE_FPGA3)
|
|
||||||
.value("TRIMBIT_SCAN", slsDetectorDefs::dacIndex::TRIMBIT_SCAN)
|
.value("TRIMBIT_SCAN", slsDetectorDefs::dacIndex::TRIMBIT_SCAN)
|
||||||
.value("V_POWER_A", slsDetectorDefs::dacIndex::V_POWER_A)
|
.value("V_POWER_A", slsDetectorDefs::dacIndex::V_POWER_A)
|
||||||
.value("V_POWER_B", slsDetectorDefs::dacIndex::V_POWER_B)
|
.value("V_POWER_B", slsDetectorDefs::dacIndex::V_POWER_B)
|
||||||
@ -216,20 +204,15 @@ void init_enums(py::module &m) {
|
|||||||
.value("VERYLOWGAIN", slsDetectorDefs::detectorSettings::VERYLOWGAIN)
|
.value("VERYLOWGAIN", slsDetectorDefs::detectorSettings::VERYLOWGAIN)
|
||||||
.value("G1_HIGHGAIN", slsDetectorDefs::detectorSettings::G1_HIGHGAIN)
|
.value("G1_HIGHGAIN", slsDetectorDefs::detectorSettings::G1_HIGHGAIN)
|
||||||
.value("G1_LOWGAIN", slsDetectorDefs::detectorSettings::G1_LOWGAIN)
|
.value("G1_LOWGAIN", slsDetectorDefs::detectorSettings::G1_LOWGAIN)
|
||||||
.value("G2_HIGHCAP_HIGHGAIN",
|
.value("G2_HIGHCAP_HIGHGAIN", slsDetectorDefs::detectorSettings::G2_HIGHCAP_HIGHGAIN)
|
||||||
slsDetectorDefs::detectorSettings::G2_HIGHCAP_HIGHGAIN)
|
.value("G2_HIGHCAP_LOWGAIN", slsDetectorDefs::detectorSettings::G2_HIGHCAP_LOWGAIN)
|
||||||
.value("G2_HIGHCAP_LOWGAIN",
|
.value("G2_LOWCAP_HIGHGAIN", slsDetectorDefs::detectorSettings::G2_LOWCAP_HIGHGAIN)
|
||||||
slsDetectorDefs::detectorSettings::G2_HIGHCAP_LOWGAIN)
|
.value("G2_LOWCAP_LOWGAIN", slsDetectorDefs::detectorSettings::G2_LOWCAP_LOWGAIN)
|
||||||
.value("G2_LOWCAP_HIGHGAIN",
|
|
||||||
slsDetectorDefs::detectorSettings::G2_LOWCAP_HIGHGAIN)
|
|
||||||
.value("G2_LOWCAP_LOWGAIN",
|
|
||||||
slsDetectorDefs::detectorSettings::G2_LOWCAP_LOWGAIN)
|
|
||||||
.value("G4_HIGHGAIN", slsDetectorDefs::detectorSettings::G4_HIGHGAIN)
|
.value("G4_HIGHGAIN", slsDetectorDefs::detectorSettings::G4_HIGHGAIN)
|
||||||
.value("G4_LOWGAIN", slsDetectorDefs::detectorSettings::G4_LOWGAIN)
|
.value("G4_LOWGAIN", slsDetectorDefs::detectorSettings::G4_LOWGAIN)
|
||||||
.value("GAIN0", slsDetectorDefs::detectorSettings::GAIN0)
|
.value("GAIN0", slsDetectorDefs::detectorSettings::GAIN0)
|
||||||
.value("UNDEFINED", slsDetectorDefs::detectorSettings::UNDEFINED)
|
.value("UNDEFINED", slsDetectorDefs::detectorSettings::UNDEFINED)
|
||||||
.value("UNINITIALIZED",
|
.value("UNINITIALIZED", slsDetectorDefs::detectorSettings::UNINITIALIZED)
|
||||||
slsDetectorDefs::detectorSettings::UNINITIALIZED)
|
|
||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::clockIndex>(Defs, "clockIndex")
|
py::enum_<slsDetectorDefs::clockIndex>(Defs, "clockIndex")
|
||||||
@ -242,8 +225,7 @@ void init_enums(py::module &m) {
|
|||||||
py::enum_<slsDetectorDefs::readoutMode>(Defs, "readoutMode")
|
py::enum_<slsDetectorDefs::readoutMode>(Defs, "readoutMode")
|
||||||
.value("ANALOG_ONLY", slsDetectorDefs::readoutMode::ANALOG_ONLY)
|
.value("ANALOG_ONLY", slsDetectorDefs::readoutMode::ANALOG_ONLY)
|
||||||
.value("DIGITAL_ONLY", slsDetectorDefs::readoutMode::DIGITAL_ONLY)
|
.value("DIGITAL_ONLY", slsDetectorDefs::readoutMode::DIGITAL_ONLY)
|
||||||
.value("ANALOG_AND_DIGITAL",
|
.value("ANALOG_AND_DIGITAL", slsDetectorDefs::readoutMode::ANALOG_AND_DIGITAL)
|
||||||
slsDetectorDefs::readoutMode::ANALOG_AND_DIGITAL)
|
|
||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::speedLevel>(Defs, "speedLevel")
|
py::enum_<slsDetectorDefs::speedLevel>(Defs, "speedLevel")
|
||||||
@ -257,18 +239,14 @@ void init_enums(py::module &m) {
|
|||||||
py::enum_<slsDetectorDefs::burstMode>(Defs, "burstMode")
|
py::enum_<slsDetectorDefs::burstMode>(Defs, "burstMode")
|
||||||
.value("BURST_INTERNAL", slsDetectorDefs::burstMode::BURST_INTERNAL)
|
.value("BURST_INTERNAL", slsDetectorDefs::burstMode::BURST_INTERNAL)
|
||||||
.value("BURST_EXTERNAL", slsDetectorDefs::burstMode::BURST_EXTERNAL)
|
.value("BURST_EXTERNAL", slsDetectorDefs::burstMode::BURST_EXTERNAL)
|
||||||
.value("CONTINUOUS_INTERNAL",
|
.value("CONTINUOUS_INTERNAL", slsDetectorDefs::burstMode::CONTINUOUS_INTERNAL)
|
||||||
slsDetectorDefs::burstMode::CONTINUOUS_INTERNAL)
|
.value("CONTINUOUS_EXTERNAL", slsDetectorDefs::burstMode::CONTINUOUS_EXTERNAL)
|
||||||
.value("CONTINUOUS_EXTERNAL",
|
|
||||||
slsDetectorDefs::burstMode::CONTINUOUS_EXTERNAL)
|
|
||||||
.value("NUM_BURST_MODES", slsDetectorDefs::burstMode::NUM_BURST_MODES)
|
.value("NUM_BURST_MODES", slsDetectorDefs::burstMode::NUM_BURST_MODES)
|
||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::timingSourceType>(Defs, "timingSourceType")
|
py::enum_<slsDetectorDefs::timingSourceType>(Defs, "timingSourceType")
|
||||||
.value("TIMING_INTERNAL",
|
.value("TIMING_INTERNAL", slsDetectorDefs::timingSourceType::TIMING_INTERNAL)
|
||||||
slsDetectorDefs::timingSourceType::TIMING_INTERNAL)
|
.value("TIMING_EXTERNAL", slsDetectorDefs::timingSourceType::TIMING_EXTERNAL)
|
||||||
.value("TIMING_EXTERNAL",
|
|
||||||
slsDetectorDefs::timingSourceType::TIMING_EXTERNAL)
|
|
||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::M3_GainCaps>(Defs, "M3_GainCaps")
|
py::enum_<slsDetectorDefs::M3_GainCaps>(Defs, "M3_GainCaps")
|
||||||
@ -287,23 +265,14 @@ void init_enums(py::module &m) {
|
|||||||
.value("BOTTOM", slsDetectorDefs::portPosition::BOTTOM)
|
.value("BOTTOM", slsDetectorDefs::portPosition::BOTTOM)
|
||||||
.export_values();
|
.export_values();
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::streamingInterface>(Defs, "streamingInterface",
|
py::enum_<slsDetectorDefs::streamingInterface>(Defs, "streamingInterface", py::arithmetic())
|
||||||
py::arithmetic())
|
|
||||||
.value("NONE", slsDetectorDefs::streamingInterface::NONE)
|
.value("NONE", slsDetectorDefs::streamingInterface::NONE)
|
||||||
.value("LOW_LATENCY_LINK",
|
.value("LOW_LATENCY_LINK", slsDetectorDefs::streamingInterface::LOW_LATENCY_LINK)
|
||||||
slsDetectorDefs::streamingInterface::LOW_LATENCY_LINK)
|
.value("ETHERNET_10GB", slsDetectorDefs::streamingInterface::ETHERNET_10GB)
|
||||||
.value("ETHERNET_10GB",
|
|
||||||
slsDetectorDefs::streamingInterface::ETHERNET_10GB)
|
|
||||||
.value("ALL", slsDetectorDefs::streamingInterface::ALL)
|
.value("ALL", slsDetectorDefs::streamingInterface::ALL)
|
||||||
.export_values()
|
.export_values()
|
||||||
.def("__or__",
|
.def("__or__", py::overload_cast<const slsDetectorDefs::streamingInterface &, const slsDetectorDefs::streamingInterface &>(&operator|))
|
||||||
py::overload_cast<const slsDetectorDefs::streamingInterface &,
|
.def("__and__", py::overload_cast<const slsDetectorDefs::streamingInterface &, const slsDetectorDefs::streamingInterface &>(&operator&));
|
||||||
const slsDetectorDefs::streamingInterface &>(
|
|
||||||
&operator|))
|
|
||||||
.def("__and__",
|
|
||||||
py::overload_cast<const slsDetectorDefs::streamingInterface &,
|
|
||||||
const slsDetectorDefs::streamingInterface &>(
|
|
||||||
&operator&));
|
|
||||||
|
|
||||||
py::enum_<slsDetectorDefs::vetoAlgorithm>(Defs, "vetoAlgorithm")
|
py::enum_<slsDetectorDefs::vetoAlgorithm>(Defs, "vetoAlgorithm")
|
||||||
.value("ALG_HITS", slsDetectorDefs::vetoAlgorithm::ALG_HITS)
|
.value("ALG_HITS", slsDetectorDefs::vetoAlgorithm::ALG_HITS)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user