diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c0a81c84..590d787dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,12 @@ cmake_minimum_required(VERSION 2.8) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) set (CALIBRATE OFF) +# Check if project is being used directly or via add_subdirectory +set(SLS_MASTER_PROJECT OFF) +if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + set(SLS_MASTER_PROJECT ON) +endif() + option (USE_HDF5 "HDF5 File format" OFF) option (USE_TEXTCLIENT "Text Client" OFF) option (USE_RECEIVER "Receiver" OFF) @@ -55,6 +61,10 @@ if (USE_GUI) endif() endif (USE_GUI) +if (SLS_MASTER_PROJECT) + # Set targets export name (otherwise set by upstream project) + set(TARGETS_EXPORT_NAME "slsdetector-targets") +endif (SLS_MASTER_PROJECT) if (CALIBRATE) if (DEFINED ENV{ROOTSYS}) diff --git a/RELEASE.txt b/RELEASE.txt index 45f8751d8..dc4d5e2a2 100644 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -1,26 +1,203 @@ -SLS Detector Package 4.0.1 released on 01.12.2018 (Bug Fix Release) +SLS Detector Package 4.0.1 released on 08.02.2018 (Bug Fix Release) =================================================================== - -INTRODUCTION - -This document describes the differences between 4.0.1 and 4.0.0 releases. +This document describes the differences between 4.0.1 and 4.0.0 releases. + + CONTENTS + -------- + 1. Topics Concerning + 2. Resolved Issues + 3. Known Issues + 4. Firmware Requirements + 5. Download, Documentation & Support + -Topics Concerning -================== - - users class: get version, status +1. Topics Concerning +==================== + + - Jungfrau server (new firmware mapped) + - Eiger server (measuredPeriod, reg) + - Gotthard server(ADC channel shift, ROI, 25um slave packets) + - Receiver (padding, releasing resources segfault, gappixels) + - Users class (detectorSize, ROI, versions, status) + - API (config error, ROI) + - Compile (static libraries, Makefile for API) + - Gui (multi module) -Resolved Issues -=============== - +2. Resolved Issues +================== + + Detector Server + --------------- + + 1. (Jungfrau): Latest Jungfrau firmware release mapped. + + 2. (Eiger): Measured subperiod initially wrapped around 4.29s. Now, upto 42.9s. + + Advanced command "reg" was writing only to right FPGA. + + 3. (Gotthard 25/50um): Since Gotthard only sends packet numbers, one had to + remember to take even number of images in ROI mode, if they wanted to + switch back to non ROI mode. + This is fixed now, but temporary fix involves sending an image during + configuration, which will not be captured by the receiver. Hence, it takes + longer to configure. Permanent fix will require a firmware update. + + The detector output is shifted by 1 for every 32 channels. This is fixed now. + + + Receiver + -------- + + 1. Receiver padding was enabled only if deactivated padding was also enabled. + Receiver padding enable and receiver deactivated padding enable are independent now. + + 2. Starting and stopping receiver without listening resulted in seg faults. + + 3. Gappixels in receiver bug fix. + + Client ------ - 1. Users class: Get versions gave -1. Has been fixed for single and multi modules. + + 1. (Users class): DetectorSize modified to set/get ROI if ROI is only 1 in number. - 2. Users class: Added "stopped" to detector status list. + Allowed setting/getting ROI at single detector level via API. + (ROI for Gotthard only). Added them to the users class as setROI and getROI. - \ No newline at end of file + Retrieving versions at module level is possible now. + + Added "stopped" as status in getRunStatus list. + + 2. (API): Incorrect mac address in config file will set error flag in API and not just + print the error. + + ROI possible at module level. + + + Compile + ------- + + 1. Static libraries removed. + + 2. slsDetectorPackage/manual/manual-api/Makefile modified to use libraries + from slsDetectorPackage/bin as the main Makefile copies the libraries there. + No effect when using CMakeFiles. + + + Gui + --- + + 1. Adding multiple detectors in x and y direction incremented number of detectors + in y direction incorrectly. Effect seen only in GUI (segfault) if + detsizechan has multi detectors in both direction. Fixed. + + + +3. Known Issues +=============== + + Detector Specific + ----------------- + + 1. (Gotthard 25 um): Slave misses or captures an extra frame. Occurs irregularly. + + 2. (Gotthard 25/50um): Using ROI (2 chips, 256 channels) missses last pixel + of that ADC. + + + +4. Firmware Requirements +======================== + + Gotthard + ======== + Minimum compatible version : 11.01.2013 + Latest compatible version : 08.02.2018 (50um and 25um Master) + 09.02.2018 (25 um Slave) + Eiger + ===== + Minimum compatible version : 22 + Latest compatible version : 22 + + Jungfrau + ======== + Minimum compatible version : 26.02.2018 + Latest compatible version : 06.12.2018 + + + Detector Upgrade + ================ + Gotthard Cannot be upgraded remotely. Requires programming via USB blaster + Eiger Can be upgraded remotely via bit files + Jungfrau Can be upgraded remotely using sls_detector_put programfpga + + Instructions available at + https://www.psi.ch/detectors/installation-instructions + under Detector Upgrade -> [Detector Type] -> Firmware. + + + Please refer to the link below for more details on the firmware versions. + https://www.psi.ch/detectors/firmware. + + + +5. Download, Documentation & Support +==================================== + + Download + -------- + + The Source Code (Default C++ API): + https://github.com/slsdetectorgroup/slsDetectorPackage + + The Conda Lib Package: + https://github.com/slsdetectorgroup/sls_detector_lib + + The Conda GUI Package: + https://github.com/slsdetectorgroup/sls_detector_gui + + The Python Interface (including the package): + https://github.com/slsdetectorgroup/sls_detector + + + Documentation + ------------- + + Manual (HTML & PDF): + https://www.psi.ch/detectors/documentation + slsDetectorPackage/manual/docs/ + + Command Line Documentation: + manual/docs/html/slsDetectorClientDocs/index.html + manual/docs/pdf/slsDetectorClientDocs.pdf + + C++ API Documentation: + manual/docs/html/slsDetectorUsersDocs/index.html + manual/docs/pdf/slsDetectorUsersDocs.pdf + + C++ API Example: + manual/manual-api/mainClient.cpp + manual/manual-api/mainReceiver.cpp + + Python API Documentation: + https://slsdetectorgroup.github.io/sls_detector/ + + Further Documentation: + https://www.psi.ch/detectors/users-support + + + Support + ------- + + General Software related: + dhanya.thattil@psi.ch + anna.bergamaschi@psi.ch + + Python related: + erik.frojdh@psi.ch + diff --git a/slsDetectorSoftware/CMakeLists.txt b/slsDetectorSoftware/CMakeLists.txt index 8350492a5..55aca177f 100644 --- a/slsDetectorSoftware/CMakeLists.txt +++ b/slsDetectorSoftware/CMakeLists.txt @@ -90,6 +90,7 @@ if(DOXYGEN_FOUND) endif() install(TARGETS slsDetectorShared + EXPORT "${TARGETS_EXPORT_NAME}" LIBRARY DESTINATION lib PUBLIC_HEADER DESTINATION include ARCHIVE DESTINATION lib) diff --git a/slsReceiverSoftware/CMakeLists.txt b/slsReceiverSoftware/CMakeLists.txt index 02ec37d05..4fb691c21 100644 --- a/slsReceiverSoftware/CMakeLists.txt +++ b/slsReceiverSoftware/CMakeLists.txt @@ -90,11 +90,11 @@ endif () install(TARGETS slsReceiverShared slsReceiver + EXPORT "${TARGETS_EXPORT_NAME}" RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include) - - + install(FILES ${ZMQ_STATIC_ARCHIVE} -DESTINATION lib) \ No newline at end of file +DESTINATION lib)