From c289ac6216837e0407e3f2501af8ae8d1a4126ee Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 10 Sep 2025 11:04:46 +0200 Subject: [PATCH] updated 10.0.0 release notes --- releases/RELEASE_v10.0.0.txt | 452 +++++++++++++++++++++++++++++++++++ 1 file changed, 452 insertions(+) create mode 100644 releases/RELEASE_v10.0.0.txt diff --git a/releases/RELEASE_v10.0.0.txt b/releases/RELEASE_v10.0.0.txt new file mode 100644 index 000000000..b91d7108b --- /dev/null +++ b/releases/RELEASE_v10.0.0.txt @@ -0,0 +1,452 @@ +SLS Detector Package Major Release 10.0.0 released on 10.09.2025 +================================================================ + +This document describes the differences between v10.0.0 and v9.2.0 + + + + CONTENTS + -------- + 1 Changes + 1.1 Compilation Changes + 1.2 New or Changed Features + 1.2.1 Breaking API + 1.2.2 Resolved or Changed Features + 1.2.3 New Features + 3 On-board Detector Server Compatibility + 4 Firmware Requirements + 5 Kernel Requirements + 6 Download, Documentation & Support + + + + +1 Changes +========== + + + +1.1 Compilation Changes +======================== + + + * C++ standard + Bumped up C++ standard from 11 (gcc4.8+) to 17 (gcc8+). + + + * GotthardI + Dropped support for GotthardI from v10.0.0. + + + * PATCH + Find PATCH command required for compilation. Needed for lib zeromq patching. + + + * pmodules support discontinued + + +1.2 New or Changed Features +============================ + + + +1.2.1 Breaking API +=================== + + + Client + ------ + + + * Shared Memory Version + Version has changed and will throw when using an earlier version of + shared memory without freeing it first. + + + * [Mythen3] patternX + This command has been changed back to 'pattern' as before. + + + * TCP API Incompatibility + The size of the expected structure has changed when setting rx_hostname compared to previous versions. This change makes it incompatible. + + + * User details + One can get user or detector details directly from shared memory without + creating the Detector class. It is now a free function. + C++ API: getUserDetails + python/ command line: user + + + Receiver + -------- + + + * Multiple ROIs + Previously, only one ROI was allowed per detector. + Now, multiple ROIs are allowed, but restricted to a single ROI per + UDP port. More details on its help. + + As before, this ROI is cut out at the receiver level before + writing to file. It does not affect network load, but reduces file size. + + Please note that the signature has changed in the Detector API as it now expects a vector. getRxROI returns detector level vector of ROIs for + the entire detector or port level vector of ROIs for the module index + provided. + + Command line: rx_roi, rx_clearroi + C++ API: get/setRxROI, clearRxROI + + + * Master File Version + Binary Master Version: 7.3 => 8.0 + HDF5 Master Version: 6.7 => 7.0 + + + * Master File Attributes + - Fixed master file inconsistencies between binary and hdf5 format. + So the parameter names might differ in master file. + - Fixed time inconsistencies due to tolerance for gotthardII. + - Replaced many of the values that was simply writted usign 'toString' + with array-based output. + - JSON additional header always written. + - HDF5 master file reads 'Version', instead of 'version'. + + + +1.2.2 Resolved or Changed Features +=================================== + + + Python + ------ + + + * Shared Memory outliving free + Depending on a variable’s scope, it was possible to access an invalid + object and its shared memory even after calling free, since resources + were not fully released. Shared memory structures now include a flag + indicating invalidity and will throw an error if accessed after being + freed. + + + Client + ------ + + + * UDP Destination List + CLI: udp_dstlist + C++ API: getDestinationUDPList + Was returning incorrect values. Fixed. + + + Receiver + -------- + + + * [Mythen3] Master File Attributes + Previously, did not create HDF5 Master file without crashing. Fixed now. + + + * Default File Path + It used to be '/'. Now, changed to empty and will throw if still + unchanged before an acquisition. + + + * Command Line Arguments + They have been refactored for slsReceiver, slsMultiReceiver and + slsFrameSynchronizer. Existing commands remain fully supported for now. + + Usage: slsReceiver Options: + -v, --version : Version. + -p, --port : TCP port to communicate with client for configuration. Non-zero and 16 bit. + -u, --uid : Set effective user id if receiver started with privileges. + + Usage: slsMultiReceiver Options: + -v, --version : Version. + -n, --num-receivers : Number of receivers. + -p, --port : TCP port to communicate with client for configuration. Non-zero and 16 bit. + -c, --callback : Enable dummy callbacks for debugging. Disabled by default. + -u, --uid : Set effective user id if receiver started with privileges. + + Usage: slsFrameSynchronizer Options: + -v, --version : Version. + -n, --num-receivers : Number of receivers. + -p, --port : TCP port to communicate with client for configuration. Non-zero and 16 bit. + -c, --print-headers : Print callback headers for debugging. Disabled by default. + -u, --uid : Set effective user id if receiver started with privileges. + + + * [Moench] No intertpolation + Fixed no interpolation for Moench03. + + + +1.2.3 New Features +=================== + + + Compilation + ----------- + + + * Conda and pypi + Automatic release on both upon release. + + + Python + ------ + + + * Exposing Free Shared Memory + One can do either `slsdet.freeSharedMemory()` or `d.free()` + + + Client + ------ + + + * Port size and Port per Module Geometry in Detector class + C++ API: getPortSize, getPortPerModuleGeometry + + + * ROI structure + Added 'overlap' function to check if it overlaps with another. + + + Receiver + -------- + + + * HDF5 Virtual File with ROI + Previously, virtual file was not created with ROI. It is now. + + + * Readout speed added to Master File + + + Documentation + ------------- + + + * Multi Detector and Multi user + Documentation on multi detector index and multi user considerations for + using the same client system. + https://slsdetectorgroup.github.io/devdoc/multidet.html + + + * 10GbE PC tuning + Further information for permanent ethtool settings updated. + https://slsdetectorgroup.github.io/devdoc/troubleshooting.html#receiver-pc-tuning-options + + + * Image Size and Output Characteristics + Information for different detector types and different parameters that + affect image size and characteristics have been added. + https://slsdetectorgroup.github.io/devdoc/dataformat.html + + + * 'How To' section added + Software Architecture + https://slsdetectorgroup.github.io/devdoc/softwarearchitecture.html + + Set up commands most often used in the config file + https://slsdetectorgroup.github.io/devdoc/configcommands.html + + Quick start guide has been updated + https://slsdetectorgroup.github.io/devdoc/quick_start_guide.html + + + +2 On-board Detector Server Compatibility +========================================== + + + Eiger 10.0.0 + Jungfrau 10.0.0 + Mythen3 10.0.0 + Gotthard2 10.0.0 + Moench 10.0.0 + + + On-board Detector Server Upgrade + -------------------------------- + + From v6.1.0 (without tftp): + update only on-board detector server + Using command 'updatedetectorserver' + + + udpate both on-board detector server and firmware simultaneously + Using command 'update' + + Instructions available at + https://slsdetectorgroup.github.io/devdoc/serverupgrade.html + + + + +3 Firmware Requirements +======================== + + Eiger 02.10.2023 (v32) (updated in 7.0.3) + + Jungfrau 09.02.2025 (v1.6, HW v1.0) (updated in 9.1.0) + 08.02.2025 (v2.6, HW v2.0) (updated in 9.1.0) + + Mythen3 13.11.2024 (v2.0) (updated in 9.0.0) + + Gotthard2 03.10.2024 (v1.0) (updated in 9.0.0) + + Moench 26.10.2023 (v2.0) (updated in 8.0.2) + + + Detector Upgrade + ---------------- + + The following can be upgraded remotely: + + Eiger via bit files + Jungfrau via command <.pof> + Mythen3 via command <.rbf> + Gotthard2 via command <.rbf> + Moench via command <.pof> + + Except Eiger, + upgrade + Using command 'programfpga' or + + udpate both on-board detector server and firmware simultaneously + Using command 'update' + + + Instructions available at + https://slsdetectorgroup.github.io/devdoc/firmware.html + + + + +4 Kernel Requirements +====================== + + + Blackfin + -------- + Latest version: Fri Oct 29 00:00:00 2021 + + Older ones will work, but might have issues with programming firmware via + the package. + + + Nios + ----- + Compatible version: Mon May 10 18:00:21 CEST 2021 + + + Kernel Upgrade + --------------- + 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 + + + + +5 Download, Documentation & Support +==================================== + + Download + -------- + + The Source Code: + https://github.com/slsdetectorgroup/slsDetectorPackage + + Documentation + ------------- + + Installation: + https://slsdetectorgroup.github.io/devdoc/installation.html + + Quick Start Guide: + https://slsdetectorgroup.github.io/devdoc/quick_start_guide.html + + Firmware Upgrade: + https://slsdetectorgroup.github.io/devdoc/firmware.html + + Detector Server upgrade: + https://slsdetectorgroup.github.io/devdoc/serverupgrade.html + + Detector Simulators: + https://slsdetectorgroup.github.io/devdoc/virtualserver.html + + Consuming slsDetectorPackage: + https://slsdetectorgroup.github.io/devdoc/consuming.html + + Software Architecture + https://slsdetectorgroup.github.io/devdoc/softwarearchitecture.html + + Set up commands in config file + https://slsdetectorgroup.github.io/devdoc/configcommands.html + + Image Size and Output Characteristics + https://slsdetectorgroup.github.io/devdoc/dataformat.html + + API Examples: + https://github.com/slsdetectorgroup/api-examples + + Command Line Documentation: + https://slsdetectorgroup.github.io/devdoc/commandline.html + + C++ API Documentation: + https://slsdetectorgroup.github.io/devdoc/detector.html + + C++ API Example: + https://slsdetectorgroup.github.io/devdoc/examples.html# + + Python API Documentation: + https://slsdetectorgroup.github.io/devdoc/pygettingstarted.html + + Python API Example: + https://slsdetectorgroup.github.io/devdoc/pyexamples.html + + Receivers (including custom receiver): + https://slsdetectorgroup.github.io/devdoc/receivers.html + https://slsdetectorgroup.github.io/devdoc/slsreceiver.html + + Detector UDP Header: + https://slsdetectorgroup.github.io/devdoc/udpheader.html + https://slsdetectorgroup.github.io/devdoc/udpdetspec.html + + Output Data: + https://slsdetectorgroup.github.io/devdoc/dataformat.html + https://slsdetectorgroup.github.io/devdoc/fileformat.html + https://slsdetectorgroup.github.io/devdoc/slsreceiverheaderformat.html + https://slsdetectorgroup.github.io/devdoc/masterfileattributes.html + https://slsdetectorgroup.github.io/devdoc/binaryfileformat.html + https://slsdetectorgroup.github.io/devdoc/hdf5fileformat.html + + slsReceiver Zmq Format: + https://slsdetectorgroup.github.io/devdoc/slsreceiver.html#zmq-json-header-format + + TroubleShooting: + https://slsdetectorgroup.github.io/devdoc/troubleshooting.html + https://slsdetectorgroup.github.io/devdoc/troubleshooting.html#receiver-pc-tuning-options + + Further Documentation: + https://www.psi.ch/en/detectors/documentation + + Info on Releases: + https://www.psi.ch/en/detectors/software + + + Support + ------- + + dhanya.thattil@psi.ch + erik.frojdh@psi.ch + alice.mazzoleni@psi.ch