mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-14 13:57:13 +02:00
Compare commits
316 Commits
Author | SHA1 | Date | |
---|---|---|---|
ae0a54a774 | |||
ae33622da2 | |||
c4a453fdbd | |||
672c0f4a07 | |||
05af370883 | |||
a6022b7cec | |||
72316fa2ce | |||
65523dcc94 | |||
df40665c5e | |||
8472cca81f | |||
110e57ff6c | |||
fdd6031add | |||
e7c65f44cb | |||
0063cc8eb2 | |||
27e6fc3c73 | |||
83e0eb8b01 | |||
7f8b5ac6c0 | |||
340abec016 | |||
a8b37e3932 | |||
0883c73e88 | |||
ef7e9d73a5 | |||
a8bdc1495c | |||
1c54dea9c7 | |||
cee286b6ad | |||
da8e0060d3 | |||
85da65ca15 | |||
4fe067363a | |||
066706872d | |||
f98c403f06 | |||
5dcc2ab35c | |||
d80c5e1c02 | |||
7acc201797 | |||
57a52ba2dc | |||
c011129c43 | |||
2ed8b85143 | |||
5ac2fc33ff | |||
c169e6b896 | |||
497d29db39 | |||
2fbf0d6996 | |||
16246407c5 | |||
4a89bef87b | |||
a146257b13 | |||
340b18ca83 | |||
271f6da92e | |||
9d20bf25c6 | |||
6668fef61a | |||
a455a95aab | |||
7f7a691b25 | |||
7536971b34 | |||
8ca11ec705 | |||
00d63e48bb | |||
146da0f20f | |||
993ba5926e | |||
44424bcbe3 | |||
3570795469 | |||
a9d61526ef | |||
2a5116f49a | |||
5e0408474d | |||
e7b11f3eb1 | |||
c1e374ed51 | |||
eb690437c9 | |||
f076c1cbb7 | |||
de9854e773 | |||
150d8f5fda | |||
b0a5a76065 | |||
77e610f5a5 | |||
0689c82e98 | |||
ce94364c73 | |||
1ed10acc01 | |||
2c57d5f72d | |||
0d867c91d9 | |||
845920f8cc | |||
eff4ba01b9 | |||
bcf0922b8d | |||
d689c415e4 | |||
e9caa53af0 | |||
81eb0217ad | |||
0e23665de5 | |||
044843c8b7 | |||
9d63875802 | |||
9aea183f5c | |||
f39f93b2c8 | |||
ed2e6e4e28 | |||
74348afcf6 | |||
a101e18d60 | |||
d9686e0b6a | |||
5f38165b07 | |||
9d859cb4c2 | |||
7772eb153d | |||
e37725ac12 | |||
f3c95148a7 | |||
b9b3055984 | |||
464ebe70f1 | |||
4f76219456 | |||
18b0e84fbf | |||
1c6e33064b | |||
a74f71be0e | |||
848884f6cf | |||
4690bd0b19 | |||
f7286d29fa | |||
eb666d8b05 | |||
148c979727 | |||
00775b543e | |||
904af4de06 | |||
eb69d7cb69 | |||
0ffd30e147 | |||
eda66e63a5 | |||
6e276770eb | |||
4fb19ceaa5 | |||
1840ad218a | |||
93a191f122 | |||
c532ecc2e8 | |||
25eecf7039 | |||
85d350b48b | |||
ec1ee635d5 | |||
18bbce70b1 | |||
fa822634aa | |||
93a86324fb | |||
9d21062f5a | |||
a099637b7e | |||
4dfdd6f10b | |||
4f6640a6f1 | |||
65a2a9eb06 | |||
169361d459 | |||
0144eff60b | |||
4f5f8408cf | |||
32d664a77d | |||
4a8c365447 | |||
4b46091be2 | |||
5190e2ab30 | |||
adc6cf214a | |||
fb7daf426f | |||
0e9c88dfa2 | |||
233d374a4d | |||
15aa42d328 | |||
14ee2087dc | |||
1e134276ca | |||
d9168803ae | |||
0090c183bf | |||
f5d62b50ce | |||
098601e717 | |||
898ee9b7b7 | |||
1fd15fadf8 | |||
db88f67cda | |||
0f08ddd454 | |||
f8e2522a11 | |||
5143295711 | |||
a59537088b | |||
dde98fc8b6 | |||
c0e3bbbc61 | |||
bf778b5336 | |||
99c44b2592 | |||
6569e4a8bf | |||
3ebfbb123d | |||
8d2bb3d678 | |||
e81e06696a | |||
99ad1d9228 | |||
33c86db019 | |||
f085b4ca1e | |||
7558c43b8c | |||
e332439020 | |||
ea44151cb1 | |||
3167aade45 | |||
44709b1384 | |||
717d68c217 | |||
c218d7dc00 | |||
30d38ecae9 | |||
254b918408 | |||
1506c70329 | |||
729441dcc6 | |||
90b9b57865 | |||
29a41c6b19 | |||
64a25a242b | |||
7b4f8c118b | |||
54ee4ec653 | |||
59bcf6a0d0 | |||
6462a7162e | |||
e15028e94c | |||
81e1221e0d | |||
953fc9bb48 | |||
91cf18c5d1 | |||
642989cab2 | |||
d438b53c68 | |||
6e49b77b08 | |||
5f94ca30f1 | |||
98cf908918 | |||
cb39a59508 | |||
b68ef6cbd0 | |||
eff64f99f2 | |||
2b1028d636 | |||
1da2761654 | |||
7c2e64d9fe | |||
340d708b12 | |||
3f517420af | |||
05c9fcfe19 | |||
dcae1b7a2b | |||
d8570bc9a9 | |||
e3bfdaf38e | |||
5188e600a2 | |||
45b3514118 | |||
2813cd5ac2 | |||
2d2287e189 | |||
c3eff0246a | |||
c911fe4c85 | |||
87a515a549 | |||
0b2d294a19 | |||
b62a6eff64 | |||
dde62f13d5 | |||
146b012eff | |||
95897085ec | |||
e53a71f88f | |||
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 |
60
CMakeLists.txt
Executable file → Normal file
60
CMakeLists.txt
Executable file → Normal file
@ -1,12 +1,17 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
cmake_minimum_required(VERSION 3.12)
|
cmake_minimum_required(VERSION 3.12)
|
||||||
project(slsDetectorPackage)
|
project(slsDetectorPackage)
|
||||||
set(PROJECT_VERSION 5.1.0)
|
set(PROJECT_VERSION 6.1.2)
|
||||||
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/"
|
||||||
@ -62,9 +67,7 @@ set(ClangFormat_EXCLUDE_PATTERNS "build/"
|
|||||||
${CMAKE_BINARY_DIR})
|
${CMAKE_BINARY_DIR})
|
||||||
find_package(ClangFormat)
|
find_package(ClangFormat)
|
||||||
|
|
||||||
#Enable LTO if available
|
|
||||||
check_ipo_supported(RESULT SLS_LTO_AVAILABLE)
|
|
||||||
message(STATUS "SLS_LTO_AVAILABLE:" ${SLS_LTO_AVAILABLE})
|
|
||||||
|
|
||||||
|
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
@ -75,6 +78,16 @@ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
#Enable LTO if available
|
||||||
|
include(CheckIPOSupported)
|
||||||
|
check_ipo_supported(RESULT SLS_LTO_AVAILABLE)
|
||||||
|
if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE)
|
||||||
|
message(STATUS "Building with link time optimization")
|
||||||
|
else()
|
||||||
|
message(STATUS "Building without link time optimization")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
#Add two fake libraries to manage options
|
#Add two fake libraries to manage options
|
||||||
add_library(slsProjectOptions INTERFACE)
|
add_library(slsProjectOptions INTERFACE)
|
||||||
add_library(slsProjectWarnings INTERFACE)
|
add_library(slsProjectWarnings INTERFACE)
|
||||||
@ -82,7 +95,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 +106,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,31 +128,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()
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0)
|
|
||||||
target_compile_options(slsProjectWarnings INTERFACE
|
|
||||||
-Wno-class-memaccess )
|
|
||||||
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Add or disable warnings depending on if the compiler supports them
|
||||||
|
# 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")
|
||||||
|
|
||||||
|
|
||||||
if(SLS_USE_SANITIZER)
|
if(SLS_USE_SANITIZER)
|
||||||
target_compile_options(slsProjectOptions INTERFACE -fsanitize=address,undefined -fno-omit-frame-pointer)
|
target_compile_options(slsProjectOptions INTERFACE -fsanitize=address,undefined -fno-omit-frame-pointer)
|
||||||
@ -187,8 +191,6 @@ if (NOT TARGET libzmq)
|
|||||||
find_package(ZeroMQ 4 QUIET)
|
find_package(ZeroMQ 4 QUIET)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# libzmq autotools install: fallback to pkg-config
|
# libzmq autotools install: fallback to pkg-config
|
||||||
if(NOT ZeroMQ_FOUND)
|
if(NOT ZeroMQ_FOUND)
|
||||||
message(STATUS "CMake libzmq package not found, trying again with pkg-config (normal install of zeromq)")
|
message(STATUS "CMake libzmq package not found, trying again with pkg-config (normal install of zeromq)")
|
||||||
@ -212,8 +214,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 +259,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.
|
426
RELEASE.txt
426
RELEASE.txt
@ -1,327 +1,183 @@
|
|||||||
SLS Detector Package 6.0.0-rc1 released on 08.10.2021 (Release Candidate 1)
|
SLS Detector Package Patch Release 6.1.2 released on 25.11.2022
|
||||||
===========================================================================
|
===============================================================
|
||||||
|
|
||||||
This document describes the differences between v6.0.0-rc1 and v5.1.0.
|
|
||||||
|
|
||||||
|
This document describes the differences between v6.1.2 and v6.1.1.
|
||||||
|
|
||||||
|
|
||||||
CONTENTS
|
CONTENTS
|
||||||
--------
|
--------
|
||||||
1. New or Changed Features
|
1. Resolved Issues
|
||||||
2. Resolved Issues
|
2. On-board Detector Server Compatibility
|
||||||
3. Known Issues
|
2. Firmware Requirements
|
||||||
4. Firmware Requirements
|
3. Kernel Requirements
|
||||||
5. Download, Documentation & Support
|
4. Download, Documentation & Support
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Resolved Issues
|
||||||
1. New or Changed Features
|
|
||||||
==========================
|
|
||||||
|
|
||||||
Client
|
|
||||||
------
|
|
||||||
|
|
||||||
1. [Jungfrau] Chip version
|
|
||||||
Features for chipv1.1 incorporated
|
|
||||||
Command line: chipversion, API: getchipVersion
|
|
||||||
gets chip version (1.0 or 1.1)
|
|
||||||
chipv1.1 requires config_jungfrau.txt on detector server.
|
|
||||||
|
|
||||||
2. [Jungfrau] Chip configuration (only chipv1.1)
|
|
||||||
powering on the chip and changing settings will configure the chip.
|
|
||||||
Hence, required before acquisition.
|
|
||||||
|
|
||||||
3. [Jungfrau] Settings and Gain mode
|
|
||||||
Settings can be gain0 and highgain0. Gain mode can be dynamicgain,
|
|
||||||
forceswitchg1, forceswitchg2, fixg1, fixg2, fixg0. fixg0 must be
|
|
||||||
used with EXTRA caution as you can damage the detector.
|
|
||||||
Changing settings also changes dac values of 3 dacs () and reconfigures
|
|
||||||
chip (only v1.1)
|
|
||||||
|
|
||||||
4. [Jungfrau] Storage cells (only chipv1.1)
|
|
||||||
Additional number of storage cells not applicable for chipv1.1.
|
|
||||||
Storage cell start is only allowed from 0 - 3 for chipv1.1
|
|
||||||
(0 - 15 for chipv1.0).
|
|
||||||
|
|
||||||
5. [Gotthard2][Jungfrau] Filter Resistor
|
|
||||||
Command line: filterresistor, API: getFilterResistor/ setFilterResistor
|
|
||||||
Previous Command: filter, setFilter/ getFilter
|
|
||||||
Set Filter resistor. Increasing values for increasing resistance.
|
|
||||||
[Jungfrau] only for chipv1.1. Options: [0|1]. Default is 1.
|
|
||||||
[Gotthard2] Options: [0|1|2|3]. Default is 0.
|
|
||||||
|
|
||||||
6. [Jungfrau] Filter cell (only chipv1.1)
|
|
||||||
Command line: filtercell, API: getFilterCell/ setFilterCell
|
|
||||||
Set filter cell. Options: [0-12]. Advanced user command.
|
|
||||||
|
|
||||||
7. [Jungfrau] Comparator disable time (only chipv1.1)
|
|
||||||
Command line: comp_disable_time, API: getComparatorDisableTime/
|
|
||||||
setComparatorDisableTime
|
|
||||||
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
|
|
||||||
Command line: readnrows, API: getReadNRows/ setReadNRows
|
|
||||||
Previous Command: readnlines, getPartialReadout/ setPartialReadout
|
|
||||||
[Eiger] same as before
|
|
||||||
[Jungfrau] Options: 8 - 512, multiples of 8. Default is 512.
|
|
||||||
|
|
||||||
10. [Gotthard2][Jungfrau] Current source
|
|
||||||
Command line: currentsource, API: getCurrentSource, setCurrentSource
|
|
||||||
Enable or disable current source. Default is disabled.
|
|
||||||
[Gotthard2] Can only enable or disable.
|
|
||||||
[Jungfrau] Can choose to fix, select source and choose normal or low
|
|
||||||
current. Normal/ low only for chipv1.1.
|
|
||||||
Select source is 0-63 for chipv1.0 and a 64 bit mask for chipv1.1.
|
|
||||||
|
|
||||||
11. Default dac
|
|
||||||
Command line: defaultdac, API: getDefaultDac/ setDefaultDac
|
|
||||||
change default value of a dac
|
|
||||||
[Jungfrau][Mythen3] Also change default value of dac for particular
|
|
||||||
setting.
|
|
||||||
|
|
||||||
12. Reset dacs
|
|
||||||
Command line: resetdacs, API: resetToDefaultDacs
|
|
||||||
Previous command: defaultdacs
|
|
||||||
Resets dacs to their default values or hard coded values.
|
|
||||||
|
|
||||||
13. [Mythen3] Gain Capacitance
|
|
||||||
Command line: gaincaps, API: getGainCaps/ setGainCaps
|
|
||||||
Set various gain capacitances.
|
|
||||||
|
|
||||||
14. [Gotthard2] Veto Streaming from chip
|
|
||||||
Command line: veto, API: getVeto/ setVeto
|
|
||||||
This command used to mean veto streaming from detector. Now, it means
|
|
||||||
veto streaming from chip (New feature). Default is disabled.
|
|
||||||
|
|
||||||
15. [Gotthard2] Veto streaming from detector
|
|
||||||
Command line: vetostream, API: getVetoStream, setVetoStream
|
|
||||||
Options: None, local link interface, 10 10GbE, Both
|
|
||||||
Default: None
|
|
||||||
10GbE (as before) will enable 2 udp interfaces in receiver.
|
|
||||||
|
|
||||||
16. [Gotthard2] Veto algorithm
|
|
||||||
Command line: vetoalg, API: getVetoAlgorithm/ setVetoAlgorithm
|
|
||||||
Set veto algorithm for each interface.
|
|
||||||
Options: hits, raw
|
|
||||||
|
|
||||||
17. [Eiger][Gotthard2][Mythen3] Module ID
|
|
||||||
Command line: moduleid, API: getModuleId
|
|
||||||
Previous command (Eiger only): serialnumber, getSerialNumber
|
|
||||||
Unique id read from txt file on detector and streamed out in udp header.
|
|
||||||
|
|
||||||
18. [Gotthard2]
|
|
||||||
Command line: dbitpipeline, API: getDBITPipeline/ setDBITPipeline
|
|
||||||
Set pipeline to latch digital bits. Options: 0-7
|
|
||||||
|
|
||||||
19. [Eiger][Jungfrau] Round Robin commands
|
|
||||||
Command line, udp_dstlist, API: getDestinationUDPList/
|
|
||||||
setDestinationUDPList
|
|
||||||
Round robin commands at the moment does not configure the receiver.
|
|
||||||
Set multiple udp destinations in the detector to stream udp data packets
|
|
||||||
to. Upto 32 destinations. Refer documentation for details.
|
|
||||||
|
|
||||||
Command line, udp_numdst, API: getNumberofUDPDestinations
|
|
||||||
|
|
||||||
[Jungfrau] Command line, udp_firstdst, API: getFirstUDPDestination/
|
|
||||||
setFirstUDPDestination
|
|
||||||
|
|
||||||
20. Command Line Parsing
|
|
||||||
Parsing of detector index and module index has been modified to
|
|
||||||
integrate round robin index.
|
|
||||||
[detector index]-[module index]:[round robin index] [command]
|
|
||||||
|
|
||||||
It is backwards compatible.
|
|
||||||
For ease, one can also execute
|
|
||||||
sls_detector_put [module index] [command]
|
|
||||||
|
|
||||||
21. Clear Udp Destination
|
|
||||||
Command line, udp_cleardst, API: clearUDPDestinations
|
|
||||||
This is useful when changing receivers for a detector or for round robin
|
|
||||||
system.
|
|
||||||
|
|
||||||
22. Shared Memory Naming
|
|
||||||
Shared memory name has been changed to reflect a more appropriate naming
|
|
||||||
scheme.
|
|
||||||
|
|
||||||
23. [Eiger][Mythen3] Blocking trigger
|
|
||||||
Command line: blockingtrigger, API: sendSoftwareTrigger
|
|
||||||
Sends software trigger signal to detector and blocks till frames are
|
|
||||||
sent out for that trigger.
|
|
||||||
|
|
||||||
24. [Eiger] Data stream enable for ports
|
|
||||||
Command line: datastream, API: getDataStream/ setDataStream
|
|
||||||
Enable or disable each port. Default: enabled
|
|
||||||
|
|
||||||
25. Changing TCP ports
|
|
||||||
This will only affect shared memory and will not try to change the
|
|
||||||
current tcp port of the control/stop server in detector.
|
|
||||||
|
|
||||||
26. [Eiger][Jungfrau][Gotthard2] Speed
|
|
||||||
Command line: readoutspeed, readoutspeedlist API: getReadoutSpeed/ setReadoutSpeed /
|
|
||||||
getReadoutSpeedList
|
|
||||||
Previous command: speed, setSpeed/ getSpeed
|
|
||||||
[Eiger][Jungfrau] same as before.
|
|
||||||
[Gotthard2] New command to set readout speed. Options: 108, 144 (in MHz)
|
|
||||||
|
|
||||||
|
|
||||||
Detector servers
|
|
||||||
----------------
|
|
||||||
|
|
||||||
1. [Gotthard2] Bad Channels moved to a new register, default settings
|
|
||||||
including clock frequency changed
|
|
||||||
|
|
||||||
2. [Gotthard2] Updated config file in detector server
|
|
||||||
|
|
||||||
|
|
||||||
Virtual servers
|
|
||||||
----------------
|
|
||||||
|
|
||||||
1. Artifical pixel values increasing by every packet, instead of every pixel.
|
|
||||||
|
|
||||||
2. All possible features updated.
|
|
||||||
|
|
||||||
|
|
||||||
Receiver
|
|
||||||
--------
|
|
||||||
|
|
||||||
1. Frames caught in metadata
|
|
||||||
Frames caught by the master receiver is added to master file metadata.
|
|
||||||
Hdf5 and Binary version numbers changed to 6.3
|
|
||||||
|
|
||||||
2. Removed Padding option for Deactivated half modules.
|
|
||||||
|
|
||||||
3. Changing Receiver TCP ports
|
|
||||||
This will only affect shared memory and will not try to change the
|
|
||||||
current tcp port of the receiver.
|
|
||||||
|
|
||||||
Gui
|
|
||||||
----
|
|
||||||
|
|
||||||
1. [Mythen3] counters added in settings tab
|
|
||||||
|
|
||||||
|
|
||||||
2. Resolved Issues
|
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Detector Servers
|
Detector Server
|
||||||
----------------
|
---------------
|
||||||
|
|
||||||
1. [Gotthard2] Tolerance in time parameters.
|
|
||||||
Eg. 220 ns was being set to 215 ns, instead of 222ns.
|
|
||||||
|
|
||||||
2. [Jungfrau] Stopping in trigger mode and then switching to auto timing mode
|
|
||||||
blocks data streaming from detector. Workaround fix made in
|
|
||||||
detector server to reset core until next firmware release.
|
|
||||||
|
|
||||||
3. [Jungfrau][CTB][Moench][Gotthard][Gotthard2][Mythen3] Firmware Programming
|
|
||||||
Firmware programming incorporates more validations such as checksum of
|
|
||||||
program. Always ensure client and server are of same release before
|
|
||||||
programming firmware.
|
|
||||||
|
|
||||||
4. [Eiger] Stop sends last frame
|
|
||||||
Stop acquisition will now also send out all complete frames in fifo.
|
|
||||||
|
|
||||||
5. [Eiger] Bottom not rotated in quad mode. Fixed.
|
|
||||||
|
|
||||||
6. [Mythen3] counter mask effect on vthreshold
|
|
||||||
Setting counter mask changes vth daac values (ie. disabling sets to 2800),
|
|
||||||
vthreshold only changes for enabled counters, setting vth overwrites
|
|
||||||
dac even if counter disabled and when counters enabled, remembers set
|
|
||||||
values.
|
|
||||||
|
|
||||||
7. [Eiger] fast quad fix for loading trimbits
|
1. [Jungfrau, Moench, Ctb]
|
||||||
|
Programming Firmware
|
||||||
|
Updating kernel was not enough to ensure seamless programming of FPGA.
|
||||||
|
nCe signal now made high before programming blackfin.
|
||||||
|
|
||||||
|
Updating the on-board detector server to this version is recommended
|
||||||
|
before updating firmware for future releases.
|
||||||
|
|
||||||
|
Also removed the unnecessary test to check if it is allowed to update
|
||||||
|
kernel or on-board detector server, depending on the current kernel
|
||||||
|
version.
|
||||||
|
|
||||||
|
2. [Eiger] locking for start and stop
|
||||||
|
Since the start and stop has a few commands within the server itself,
|
||||||
|
they are locked to ensure they dont disturb the other to have undefined
|
||||||
|
behavior.
|
||||||
|
|
||||||
|
3. [Eiger] Quad Trimbits or threshold
|
||||||
|
Loading trimbits or setting threshold will throw an incorrect exception
|
||||||
|
for a quad as the left and right register values will not match. The fix
|
||||||
|
only sets and monitors right fpga for chip trim signals in quad.
|
||||||
|
|
||||||
|
4. [Eiger] Minor refactoring
|
||||||
|
Inconsistent reads between left and right register for read/write
|
||||||
|
register commands now give clear error messages.
|
||||||
|
|
||||||
|
Fixed some minor functions returned empty error messages when failing.
|
||||||
|
|
||||||
|
|
||||||
|
Client
|
||||||
|
------
|
||||||
|
|
||||||
|
1. [Eiger] Stop command freezes server
|
||||||
|
It is apparent in large detectors.
|
||||||
|
|
||||||
|
For example, if module A got a "stop" during an acquisition,
|
||||||
|
it stops to an 'Idle' state. If module B gets a "stop" before an
|
||||||
|
acquisition, it will return it is in 'Idle' state and continue
|
||||||
|
to start the next acquisition, but module B then waits for "ready
|
||||||
|
for trigger" synchronization from module A, which it will never get.
|
||||||
|
|
||||||
|
Since module B missed the asynchronous stop command, the workaround
|
||||||
|
in the client is to send another "stop" command (upto 10 retries)
|
||||||
|
till it returns Idle.
|
||||||
|
|
||||||
|
2. [Eiger][Jungfrau][Moench][Ctb]
|
||||||
|
Stop results in different frame numbers
|
||||||
|
A "stop" command will also now check for inconsistent 'nextframenumber'
|
||||||
|
between the modules and set it to the max + 1 to ensure that they
|
||||||
|
all start with the same frame number for the next acquisition.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Python
|
||||||
|
------
|
||||||
|
|
||||||
|
1. Conda package
|
||||||
|
Removed conda pkgs for python 3.6 and 3.7
|
||||||
|
Added conda pkgs for python 3.11
|
||||||
|
|
||||||
|
2. Pybind11
|
||||||
|
Updated pybind11 from 2.6.2 to 2.10.11
|
||||||
|
|
||||||
|
|
||||||
|
Test
|
||||||
|
----
|
||||||
|
|
||||||
|
1. Updated catch to latest 2.x version due do build failure on fedora
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. On-board Detector Server Compatibility
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
Eiger 6.1.2
|
||||||
|
Jungfrau 6.1.2
|
||||||
|
Gotthard 6.1.0
|
||||||
|
Mythen3 6.1.0
|
||||||
|
Gotthard2 6.1.0
|
||||||
|
Moench 6.1.2
|
||||||
|
Ctb 6.1.2
|
||||||
|
|
||||||
Receiver
|
On-board Detector Server Upgrade
|
||||||
--------
|
================================
|
||||||
|
From v6.1.0 (without tftp):
|
||||||
|
Using command 'updatedetectorserver'
|
||||||
|
From 5.0.0 (with tftp):
|
||||||
|
Using command 'copydetectorserver'
|
||||||
|
|
||||||
1. Disabled port or deactivated (half) modules will not create files.
|
Instructions available at
|
||||||
|
https://slsdetectorgroup.github.io/devdoc/serverupgrade.html
|
||||||
|
|
||||||
|
|
||||||
- better control of what is built (PR)?
|
|
||||||
- cmake package has hardcoded path to zeromq library
|
|
||||||
|
|
||||||
|
|
||||||
3. Firmware Requirements
|
3. Firmware Requirements
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Eiger
|
Note: No change to 6.1.1.
|
||||||
=====
|
|
||||||
Compatible version : 08.10.2021 (v29)
|
|
||||||
|
|
||||||
Jungfrau
|
|
||||||
========
|
|
||||||
Compatible version : 31.08.2021 (v1.2, PCB v1.0)
|
|
||||||
: 08.10.2021 (v2.2, PCB v2.0)
|
|
||||||
|
|
||||||
Gotthard
|
Eiger 08.10.2021 (v29)
|
||||||
========
|
Jungfrau 31.08.2021 (v1.2, PCB v1.0)
|
||||||
Compatible version : 08.02.2018 (50um and 25um Master)
|
08.10.2021 (v2.2, PCB v2.0)
|
||||||
: 09.02.2018 (25 um Slave)
|
Gotthard 08.02.2018 (50um and 25um Master)
|
||||||
|
09.02.2018 (25 um Slave)
|
||||||
Mythen3
|
Mythen3 10.09.2021 (v1.1)
|
||||||
=======
|
Gotthard2 27.05.2021 (v0.1)
|
||||||
Compatible version : 10.09.2021 (development)
|
Moench 05.10.2020 (v1.0)
|
||||||
|
Ctb 05.10.2020 (v1.0)
|
||||||
Gotthard2
|
|
||||||
=========
|
|
||||||
Compatible version : 27.05.2021 (v1.0)
|
|
||||||
|
|
||||||
Moench
|
|
||||||
======
|
|
||||||
Compatible version : 05.10.2020 (v1.0)
|
|
||||||
|
|
||||||
Ctb
|
|
||||||
===
|
|
||||||
Compatible version : 05.10.2020 (v1.0)
|
|
||||||
|
|
||||||
Detector Upgrade
|
|
||||||
================
|
|
||||||
|
|
||||||
|
Detector Firmware Upgrade
|
||||||
|
=========================
|
||||||
The following can be upgraded remotely:
|
The following can be upgraded remotely:
|
||||||
Eiger via bit files
|
Eiger via bit files
|
||||||
Jungfrau via command <.pof>
|
Jungfrau via 'programfpga' command <.pof>
|
||||||
Mythen3 via command <.rbf>
|
Mythen3 via 'programfpga' command <.rbf>
|
||||||
Gotthard2 via command <.rbf>
|
Gotthard2 via 'programfpga' command <.rbf>
|
||||||
Moench via command <.pof>
|
Moench via 'programfpga' command <.pof>
|
||||||
Ctb via command <.pof>
|
Ctb via 'programfpga' command <.pof>
|
||||||
|
|
||||||
The following cannot be upgraded remotely:
|
The following cannot be upgraded remotely:
|
||||||
Gotthard
|
Gotthard
|
||||||
|
|
||||||
Instructions available at
|
Instructions available at
|
||||||
https://slsdetectorgroup.github.io/devdoc/firmware.html
|
https://slsdetectorgroup.github.io/devdoc/firmware.html
|
||||||
and
|
|
||||||
https://slsdetectorgroup.github.io/devdoc/serverupgrade.html
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4. Kernel Requirements
|
||||||
|
======================
|
||||||
|
|
||||||
|
Note: No change to 6.1.1.
|
||||||
|
|
||||||
|
|
||||||
5. Known Issues
|
Blackfin
|
||||||
===============
|
========
|
||||||
|
Latest version: Fri Oct 29 00:00:00 2021
|
||||||
|
|
||||||
|
Older ones will work, but might have issues with programming firmware via
|
||||||
|
the package.
|
||||||
|
|
||||||
Receiver
|
Nios
|
||||||
--------
|
====
|
||||||
1. It does not handle readnrows or partial readout. Only the summary
|
Compatible version: Mon May 10 18:00:21 CEST 2021
|
||||||
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
|
Kernel Upgrade
|
||||||
more than 1 receiver at a time. This will/might be done in the future.
|
==============
|
||||||
|
Eiger via bit files
|
||||||
|
Others via command
|
||||||
|
|
||||||
|
Commands: udpatekernel, kernelversion
|
||||||
|
Instructions available at
|
||||||
|
https://slsdetectorgroup.github.io/devdoc/commandline.html
|
||||||
|
https://slsdetectorgroup.github.io/devdoc/detector.html
|
||||||
|
https://slsdetectorgroup.github.io/devdoc/pydetector.html
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
6. Download, Documentation & Support
|
5. Download, Documentation & Support
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
Download
|
Download
|
||||||
|
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(STATUS "Adding: ${flag} to ${target}")
|
||||||
|
else()
|
||||||
|
message(STATUS "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(STATUS "Adding: ${flag} to ${target}")
|
||||||
|
else()
|
||||||
|
message(STATUS "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(STATUS "Adding: ${neg_flag} to ${target}")
|
||||||
|
target_compile_options(${target} INTERFACE ${neg_flag})
|
||||||
|
else()
|
||||||
|
message(STATUS "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(STATUS "Adding: ${neg_flag} to ${target}")
|
||||||
|
target_compile_options(${target} INTERFACE ${neg_flag})
|
||||||
|
else()
|
||||||
|
message(STATUS "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,4 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# SPDX-License-Identifier: LGPL-3.0-or-other
|
||||||
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
CMAKE="cmake3"
|
CMAKE="cmake3"
|
||||||
BUILDDIR="build"
|
BUILDDIR="build"
|
||||||
INSTALLDIR=""
|
INSTALLDIR=""
|
||||||
|
@ -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
|
||||||
@ -19,4 +21,4 @@ echo "Building using: ${NCORES} cores"
|
|||||||
cmake --build . -- -j${NCORES}
|
cmake --build . -- -j${NCORES}
|
||||||
cmake --build . --target install
|
cmake --build . --target install
|
||||||
|
|
||||||
CTEST_OUTPUT_ON_FAILURE=1 ctest -j 2
|
CTEST_OUTPUT_ON_FAILURE=1 ctest -j 1
|
||||||
|
@ -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,8 +1,8 @@
|
|||||||
python:
|
python:
|
||||||
- 3.6
|
|
||||||
- 3.7
|
|
||||||
- 3.8
|
- 3.8
|
||||||
- 3.9
|
- 3.9
|
||||||
|
- 3.10
|
||||||
|
- 3.11
|
||||||
|
|
||||||
numpy:
|
numpy:
|
||||||
- 1.17
|
- 1.17
|
||||||
|
@ -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)
|
||||||
@ -59,7 +61,6 @@ set( HEADERS
|
|||||||
#set(ROOT_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
#set(ROOT_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
# ROOT dictionary generation
|
# ROOT dictionary generation
|
||||||
include("${ROOT_DIR}/RootMacros.cmake")
|
|
||||||
root_generate_dictionary(ctbDict ${HEADERS} LINKDEF ctbLinkDef.h)
|
root_generate_dictionary(ctbDict ${HEADERS} LINKDEF ctbLinkDef.h)
|
||||||
add_library(ctbRootLib SHARED ctbDict.cxx)
|
add_library(ctbRootLib SHARED ctbDict.cxx)
|
||||||
target_include_directories(ctbRootLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(ctbRootLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
@ -84,4 +85,5 @@ target_link_libraries(ctbGui PUBLIC
|
|||||||
set_target_properties(ctbGui PROPERTIES
|
set_target_properties(ctbGui PROPERTIES
|
||||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -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
|
||||||
@ -354,43 +305,53 @@ Firmware Troubleshooting with blackfin
|
|||||||
|
|
||||||
5. If one can't list it, read the next section to try to get the blackfin to list it.
|
5. If one can't list it, read the next section to try to get the blackfin to list it.
|
||||||
|
|
||||||
How to get back mtd3 drive remotely (copying new kernel)
|
How to get back mtd3 drive remotely (udpating kernel)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
You have 2 alternatives to update the kernel.
|
||||||
|
|
||||||
.. code-block:: bash
|
1. Commands via software (>= v6.0.0)
|
||||||
|
|
||||||
# step 1: get the kernel image (uImage.lzma) from slsdetectorgroup
|
|
||||||
# and copy it to pc's tftp folder
|
|
||||||
|
|
||||||
# step 2: connect to the board
|
.. code-block:: bash
|
||||||
telnet bchipxxx
|
|
||||||
|
|
||||||
#step 3: go to directory for space
|
sls_detector_put updatekernel /home/...path-to-kernel-image
|
||||||
cd /var/tmp/
|
|
||||||
|
|
||||||
# step 3: copy kernel to board
|
|
||||||
tftp pcxxx -r uImage.lzma -g
|
|
||||||
|
|
||||||
# step 4: verify kernel copied properly
|
2. or command line
|
||||||
ls -lrt
|
|
||||||
|
|
||||||
# step 5: erase flash
|
|
||||||
flash_eraseall /dev/mtd1
|
|
||||||
|
|
||||||
# step 6: copy new image to kernel drive
|
|
||||||
cat uImage.lzma > /dev/mtd1
|
|
||||||
|
|
||||||
# step 7:
|
|
||||||
sync
|
|
||||||
|
|
||||||
# step 8:
|
|
||||||
reboot
|
|
||||||
|
|
||||||
# step 9: verification
|
|
||||||
telnet bchipxxx
|
|
||||||
uname -a # verify kernel date
|
|
||||||
more /proc/mtd # verify mtd3 is listed
|
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# step 1: get the kernel image (uImage.lzma) from slsdetectorgroup
|
||||||
|
# and copy it to pc's tftp folder
|
||||||
|
|
||||||
|
# step 2: connect to the board
|
||||||
|
telnet bchipxxx
|
||||||
|
|
||||||
|
#step 3: go to directory for space
|
||||||
|
cd /var/tmp/
|
||||||
|
|
||||||
|
# step 3: copy kernel to board
|
||||||
|
tftp pcxxx -r uImage.lzma -g
|
||||||
|
|
||||||
|
# step 4: verify kernel copied properly
|
||||||
|
ls -lrt
|
||||||
|
|
||||||
|
# step 5: erase flash
|
||||||
|
flash_eraseall /dev/mtd1
|
||||||
|
|
||||||
|
# step 6: copy new image to kernel drive
|
||||||
|
cat uImage.lzma > /dev/mtd1
|
||||||
|
|
||||||
|
# step 7:
|
||||||
|
sync
|
||||||
|
|
||||||
|
# step 8:
|
||||||
|
reboot
|
||||||
|
|
||||||
|
# step 9: verification
|
||||||
|
telnet bchipxxx
|
||||||
|
uname -a # verify kernel date
|
||||||
|
more /proc/mtd # verify mtd3 is listed
|
||||||
|
|
||||||
|
|
||||||
Last Resort using USB Blaster
|
Last Resort using USB Blaster
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -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
|
||||||
|
@ -71,4 +71,19 @@ exposed to Python through pybind11.
|
|||||||
:undoc-members:
|
:undoc-members:
|
||||||
|
|
||||||
.. autoclass:: timingSourceType
|
.. autoclass:: timingSourceType
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: M3_GainCaps
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: portPosition
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: streamingInterface
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: vetoAlgorithm
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
.. autoclass:: gainMode
|
||||||
:undoc-members:
|
: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:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
sls_detector_put execcommand "tftp pcxxx -r configxxx -g"
|
||||||
|
|
||||||
|
|
||||||
Gotthard
|
.. note ::
|
||||||
---------
|
|
||||||
|
|
||||||
**Location:** slsDetectorPackage/serverBin/ folder for every release.
|
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.
|
||||||
|
|
||||||
#. Install tftp and copy detector server binary to tftp folder
|
.. note ::
|
||||||
#. Program from console (only from 5.0.0-rcx)
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# copies new server from pc tftp folder, respawns and reboots
|
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.
|
||||||
sls_detector_put copydetectorserver gotthardDetectorServerxxx pcxxx
|
|
||||||
|
|
||||||
|
|
||||||
|
Errors
|
||||||
Mythen3
|
|
||||||
-------
|
|
||||||
|
|
||||||
**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 mythen3DetectorServerxxx pcxxx
|
|
||||||
|
|
||||||
|
|
||||||
Gotthard2
|
|
||||||
----------
|
|
||||||
|
|
||||||
**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
|
|
@ -247,6 +247,19 @@ Possible causes could be the following:
|
|||||||
* For Jungfrau, refer to :ref:`Jungfrau Power Supply Troubleshooting<Jungfrau Troubleshooting Power Supply>`.
|
* For Jungfrau, refer to :ref:`Jungfrau Power Supply Troubleshooting<Jungfrau Troubleshooting Power Supply>`.
|
||||||
|
|
||||||
|
|
||||||
|
Cannot ping module (Nios)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you executed "reboot" command on the board, you cannot ping it anymore unless you power cycle. To reboot the controller, please use the software command ("rebootcontroller"), which talks to the microcontroller.
|
||||||
|
|
||||||
|
Gotthard2
|
||||||
|
---------
|
||||||
|
|
||||||
|
Cannot get data without a module attached
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
You cannot get data without a module attached as a specific pin is floating. Attach module to get data.
|
||||||
|
|
||||||
|
|
||||||
Gotthard
|
Gotthard
|
||||||
----------
|
----------
|
||||||
|
@ -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"
|
5850
libs/catch/catch.hpp
5850
libs/catch/catch.hpp
File diff suppressed because it is too large
Load Diff
Submodule libs/pybind11 updated: 8de7772cc7...80dc998efc
@ -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
|
||||||
@ -14,8 +16,8 @@ from parse import remove_comments
|
|||||||
allow_bitwise_op = ["M3_GainCaps"]
|
allow_bitwise_op = ["M3_GainCaps"]
|
||||||
allow_bitwise_op = ["streamingInterface"]
|
allow_bitwise_op = ["streamingInterface"]
|
||||||
|
|
||||||
op_key = {"operator|": "__or__",
|
op_key = {"operator|": "|",
|
||||||
"operator&" : "__and__"}
|
"operator&" : "&"}
|
||||||
|
|
||||||
def single_line_enum(line):
|
def single_line_enum(line):
|
||||||
sub = line[line.find('{')+1:line.find('}')]
|
sub = line[line.find('{')+1:line.find('}')]
|
||||||
@ -90,8 +92,7 @@ def generate_enum_string(enums):
|
|||||||
|
|
||||||
#Here add the operators
|
#Here add the operators
|
||||||
for op in operators:
|
for op in operators:
|
||||||
data.append(f"\n\t.def(\"{op_key[op]}\", py::overload_cast< const slsDetectorDefs::streamingInterface&, const slsDetectorDefs::streamingInterface&>(&{op}))")
|
data.append(f"\n\t.def(py::self {op_key[op]} slsDetectorDefs::{key}())")
|
||||||
|
|
||||||
|
|
||||||
data.append(';\n\n')
|
data.append(';\n\n')
|
||||||
return ''.join(data)
|
return ''.join(data)
|
||||||
|
@ -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
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user