diff --git a/build/docs/src/troubleshooting.rst b/build/docs/src/troubleshooting.rst index 7e636678c..4ff35e1ba 100644 --- a/build/docs/src/troubleshooting.rst +++ b/build/docs/src/troubleshooting.rst @@ -238,7 +238,7 @@ Receiver PC Tuning Options 2. ``ETHTOOL_OPTS in ifcfg scripts`` (legacy method for RHEL 7 and earlier) - This method applies only to systems using the legacy network-scripts backend, typically RHEL 7 and earlier. It will not apply on systems using NetworkManager, such as modern Fedora or RHEL 8+. + This method applies only to systems using the legacy network-scripts backend, typically RHEL 7 and earlier. .. code-block:: bash diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index df1b34e0f..db48cb97e 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -67,8 +67,19 @@ set(SPHINX_SOURCE_FILES src/binaryfileformat.rst src/hdf5fileformat.rst src/zmqjsonheaderformat.rst + src/dataformat.rst ) +configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/static/extra.css" + "${SPHINX_BUILD}/static/css/extra.css" + @ONLY) + + # Add this if it's not already copying the full static folder: +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/src/images + DESTINATION ${SPHINX_BUILD}/src) + + foreach(filename ${SPHINX_SOURCE_FILES}) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${filename} "${SPHINX_BUILD}/${filename}") @@ -84,10 +95,6 @@ configure_file( "${SPHINX_BUILD}/gen_server_doc.py" @ONLY) - configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/static/extra.css" - "${SPHINX_BUILD}/static/css/extra.css" - @ONLY) add_custom_target(server_rst python gen_server_doc.py) diff --git a/docs/src/dataformat.rst b/docs/src/dataformat.rst new file mode 100644 index 000000000..3fb1d433c --- /dev/null +++ b/docs/src/dataformat.rst @@ -0,0 +1,82 @@ +Data Format +================================ + +Each UDP port creates its own output file, which contains the image data transmitted over that port. + +Jungfrau +------------- + +Single Port Configuration +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. image:: images/Jungfrau_module.png + :width: 700px + :align: center + :alt: Jungfrau Module Single Port Configuration + +By default, only the outer 10GbE interface is enabled, transmitting the full image over a single UDP port. This results in one file per module containing the complete image. + +Total image size = 524,288 bytes + - 8 chips (2 x 4 grid) + - 256 x 256 pixels (chip size) + - 2 bytes (pixel width) + + + +Double Port Configuration +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. image:: images/Jungfrau_two_port.png + :width: 500px + :align: center + :alt: Jungfrau Module Two Port Configuration + +If both interfaces are enabled using the ``numinterfaces`` command on compatible hardware and firmware, the image splits into top and bottom halves sent over two UDP ports: + + - The top half transmits via the inner interface (``udp_dstport2`` and ``udp_dstip2``). + + - The bottom half uses the outer interface(``udp_dstport`` and ``udp_dstip``). + +The number of files per module equals the active UDP ports—two files per module when both interfaces are used. + +Image size per UDP port = 262,144 bytes + - **Complete Image size / 2** + + + +Special Cases +^^^^^^^^^^^^^^ + +.. image:: images/Jungfrau_read_rows.png + :width: 500px + :align: center + :alt: Jungfrau Module Read Partial Rows Configuration + + +The number of image rows per port can be adjusted using the ``readnrows`` command. By default, 512 rows are read, but a smaller value centers the readout vertically (e.g., 8 rows reads 4 above and 4 below the center). Increasing the value symmetrically expands the region toward the top and bottom. + + +Total image size = 32,768 bytes + - 8 chips (2 x 4 grid) + - **8** x 256 pixels (chip size: **8 rows**) + - 2 bytes (pixel width) + + +Moench +------------- + + +Eiger +------------- + + +Mythen3 +------------- + + +Gotthard2 +------------- + + + + diff --git a/docs/src/images/Jungfrau_module.png b/docs/src/images/Jungfrau_module.png new file mode 100644 index 000000000..5cbc8d90b Binary files /dev/null and b/docs/src/images/Jungfrau_module.png differ diff --git a/docs/src/images/Jungfrau_read_rows.png b/docs/src/images/Jungfrau_read_rows.png new file mode 100644 index 000000000..41d9d3b8d Binary files /dev/null and b/docs/src/images/Jungfrau_read_rows.png differ diff --git a/docs/src/images/Jungfrau_two_port.png b/docs/src/images/Jungfrau_two_port.png new file mode 100644 index 000000000..f1e56a0a9 Binary files /dev/null and b/docs/src/images/Jungfrau_two_port.png differ diff --git a/docs/src/index.rst b/docs/src/index.rst index 558e59cc7..80cdcfee9 100644 --- a/docs/src/index.rst +++ b/docs/src/index.rst @@ -95,6 +95,7 @@ Welcome to slsDetectorPackage's documentation! :caption: Receiver Files :maxdepth: 3 + dataformat fileformat slsreceiverheaderformat masterfileattributes