From 1eb401d65fb75a764d4678d96f4aa53423e058c0 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 29 Jul 2025 22:52:48 +0200 Subject: [PATCH] added quad and updated about 1gbe/10gbe --- docs/src/dataformat.rst | 30 ++++++++++++++++++++++++------ docs/src/images/Eiger_quad.png | Bin 0 -> 36130 bytes 2 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 docs/src/images/Eiger_quad.png diff --git a/docs/src/dataformat.rst b/docs/src/dataformat.rst index a11f3781f..e75e2347b 100644 --- a/docs/src/dataformat.rst +++ b/docs/src/dataformat.rst @@ -161,10 +161,10 @@ Flip rows One can use the command ``fliprows`` along with a ``true`` to flip the rows vertically for the bottom or top half module. It is sent out to the reciever, but does not flip rows in the output file itself, but rather streams out this info via the json header and thus instructs the GUI to display them correctly. -1G/ 10GbE Interfaces +1GbE/ 10GbE Interfaces ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Each UDP port in the figure above has a 1G and a 10GbE interface. The 1G interface is used for control and configuration, but also for data transmission, while the 10GbE interface is used only for data transmission. The 1GbE interface is enabled by default, but can be enabled using the ``tengiga`` command and updating the appropriate udp_* commands. This setting only affects packetsize and number of packets, but does not affect the total image size. +Both UDP ports ``udp_dstport`` and ``udp_dstport2`` are used in Eiger as shows in the figure. Both of them can be set to use either the 1GbE or the 10GbE interface for data. The 1GbE interface is used also for control and configuration. For data, the 1GbE interface is enabled by default. It can be disabled by enabling the ``tengiga`` command and updating both the ``udp_dstport, udp_dstport2, udp_dstip`` commands to match the 1GbE or 10GbE interface. This setting only affects packetsize and number of packets, but does not affect the total image size. Reducing network load ^^^^^^^^^^^^^^^^^^^^^^ @@ -182,8 +182,7 @@ Note: Only the activated ports will write data as it does not make sense to writ :target: _images/Eiger_read_rows.png :width: 400px :align: center - :alt: Jungfrau Module Read Partial Rows Configuration - + :alt: Eiger Module Read Partial Rows Configuration @@ -194,6 +193,23 @@ Total image size per UDP Port = 8,192 bytes Note: Still in prototype stage, writes complete image (padded or not depending on ``framepadding`` parameter) to file. Only the summary written to console in the receiver handles the read n rows to calculate complete images received. Only reduces network load, not file size. Use ``rx_roi`` for file size. +Quad +^^^^^^ + +The Eiger quad is a special hardware configuration that uses only the top half-module to create a quad layout. In this setup, the second half of the top module—normally associated with the right-side UDP port—is used to represent the inverted bottom half of the quad. + +As with any standard half-module, it includes one control TCP port (with a hostname) and two UDP data ports (top and bottom). When the quad option is enabled, the firmware automatically flips the second UDP port vertically. + +In this configuration, the fliprows command cannot be used to flip the entire half-module. Instead, the receiver automatically includes row-flipping information only for the second UDP port in the JSON header, so the GUI can apply the correct orientation during display + +.. image:: images/Eiger_quad.png + :target: _images/Eiger_quad.png + :width: 300px + :align: center + :alt: Eiger Quad Configuration + +Image size per UDP port = same as a normal Eiger UDP port + Mythen3 ------------- @@ -231,10 +247,12 @@ Pixel width The pixel width can be configured to 8, 16 or 32 (default) bits using the command ``dr``. 32 bits is actually 24 bits in the chip. This setting does affect image size. -1G/ 10GbE Interfaces +1GbE/ 10GbE Interfaces ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Each module has a 1G and a 10GbE interface. The 1G interface is used for control and configuration, but also for data transmission, while the 10GbE interface is used only for data transmission. The 10GbE interface is enabled by default, but can be disabled using the ``tengiga`` command and updating the appropriate udp_* commands. This setting only affects packetsize and number of packets, but does not affect the total image size. + +The UDP port can be set to use either the 1GbE or the 10GbE interface for data. The 1GbE interface is used also for control and configuration. For data, the 10GbE interface is enabled by default. It can be disabled by using the ``tengiga`` command and updating the ``udp_dstport`` and ``udp_dstip`` commands to match the 1GbE or 10GbE interface. This setting only affects packetsize and number of packets, but does not affect the total image size. + Gotthard2 ------------- diff --git a/docs/src/images/Eiger_quad.png b/docs/src/images/Eiger_quad.png new file mode 100644 index 0000000000000000000000000000000000000000..462ade28a05bba1813d638d398a2ce7a378a6562 GIT binary patch literal 36130 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

8Nx$Dp_Gn9LOk1opggZDC7QaRR%l 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 literal 0 HcmV?d00001