merge fix

This commit is contained in:
maliakal_d 2021-09-30 16:07:30 +02:00
commit ce6dc589c8
6 changed files with 202 additions and 49 deletions

View File

@ -7,7 +7,7 @@ This document describes the differences between 6.0.0 and 5.2.0 releases.
CONTENTS CONTENTS
-------- --------
1. New Features 1. New or Changed Features
2. Resolved Issues 2. Resolved Issues
3. Known Issues 3. Known Issues
4. Firmware Requirements 4. Firmware Requirements
@ -16,69 +16,221 @@ This document describes the differences between 6.0.0 and 5.2.0 releases.
1. New Features 1. New or Changed Features
=============== ==========================
Client Client
------ ------
1. Setting Mythen3 gain from command line
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. (Gotthard2) veto streaming 2. [Jungfrau] Chip configuration (only chipv1.1)
New command to enable/ disable veto streaming via 2.5GbE or/ and 10GbE (debugging). powering on the chip and changing settings will configure the chip.
Command: vetostream, Detector::setVetoStream 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)
2. (Gotthard2) veto algorithm 4. [Jungfrau] Storage cells (only chipv1.1)
New command to set veto algorithm for 2.5GbE or 10GbE (debugging). Additional number of storage cells not applicable for chipv1.1.
Command: vetoalg, Detector::setVetoAlgorithm Storage cell start is only allowed from 0 - 3 for chipv1.1
(0 - 15 for chipv1.0).
Gotthard2 server 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
Detector servers
---------------- ----------------
1. Bad Channels moved to a new register 1. [Gotthard2] Bad Channels moved to a new register, default settings
including clock frequency changed
2. [Gotthard2] Updated config file in detector server
Jungfrau- many Features 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
Gui
----
1. [Mythen3] counters added in settings tab
2. Resolved Issues 2. Resolved Issues
================== ==================
Gotthard2 Server Detector Servers
---------------- ----------------
1. Tolerance in time parameters. 1. [Gotthard2] Tolerance in time parameters.
Eg. 220 ns was being set to 215 ns, instead of 222ns. 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
Jungfrau Server
----------------
1. Stopping in trigger mode and then switching to auto timing mode
blocks data streaming from detector. Workaround fix made in blocks data streaming from detector. Workaround fix made in
detector server to reset core until firmware release. 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
Receiver
--------
1. Disabled port or deactivated (half) modules will not create files.
getAutoCompDisable->getAutoComparatorDisable - better control of what is built (PR)?
filter->filterResistor - cmake package has hardcoded path to zeromq library
setBottom->setFlipRows
currentsource expects currentsrcparameters structure instread of bool
g2:
updated config file indetector server
vetoalg
vetostream
serialnumber (put)
dbitpipeline
readnlines->readnrows
serialnumber->moduleid
setting number of udp interfaces from 1 to 2, didnt get image in gui
virtual server plots increasing values for every packet.. not every pixel
3. Firmware Requirements 3. Firmware Requirements
======================== ========================
@ -103,7 +255,7 @@ virtual server plots increasing values for every packet.. not every pixel
Gotthard2 Gotthard2
========= =========
Compatible version : 27.05.2021 (v1.0) Compatible version : 27.05.2021 (development)
Moench Moench
====== ======
@ -135,6 +287,7 @@ virtual server plots increasing values for every packet.. not every pixel
5. Known Issues 5. Known Issues
=============== ===============

View File

@ -2263,7 +2263,7 @@ class Detector(CppDetectorApi):
[Jungfrau] Set filter capacitor. [Jungfrau] Set filter capacitor.
Note Note
---- ----
[Jungfrau] Options: 0-12. Default: 0. Advanced user command. [Jungfrau] Options: 0-12. Default: 0. Advanced user command. Only for chipv1.1.
""" """
return self.getFilterCell() return self.getFilterCell()
@ -2454,7 +2454,7 @@ class Detector(CppDetectorApi):
Note Note
---- ----
Options: Options:
(vetoAlgorithm): ALG_HITS, ALG_RAW (vetoAlgorithm): ALG_HITS (default), ALG_RAW
(streamingInterface): ETHERNET_10GB, LOW_LATENCY_LINK (streamingInterface): ETHERNET_10GB, LOW_LATENCY_LINK
Example Example
---------- ----------

View File

@ -1253,7 +1253,7 @@ class Detector {
/** [Jungfrau] Advanced */ /** [Jungfrau] Advanced */
Result<int> getFilterCell(Positions pos = {}) const; Result<int> getFilterCell(Positions pos = {}) const;
/** [Jungfrau] Advanced Options[0-12] /** [Jungfrau] Advanced Options[0-12], only for chip v1.1
*/ */
void setFilterCell(int cell, Positions pos = {}); void setFilterCell(int cell, Positions pos = {});
@ -1380,7 +1380,7 @@ class Detector {
getVetoAlgorithm(const defs::streamingInterface value, getVetoAlgorithm(const defs::streamingInterface value,
Positions pos = {}) const; Positions pos = {}) const;
/** [Gotthard2] Options(vetoAlgorithm): ALG_HITS, ALG_RAW. /** [Gotthard2] Options(vetoAlgorithm): ALG_HITS (default), ALG_RAW.
* Options(streamingInterface): LOW_LATENCY_LINK, ETHERNET_10GB */ * Options(streamingInterface): LOW_LATENCY_LINK, ETHERNET_10GB */
void setVetoAlgorithm(const defs::vetoAlgorithm alg, void setVetoAlgorithm(const defs::vetoAlgorithm alg,
const defs::streamingInterface value, const defs::streamingInterface value,

View File

@ -2136,7 +2136,7 @@ std::string CmdProxy::VetoAlgorithm(int action) {
os << cmd << ' '; os << cmd << ' ';
if (action == defs::HELP_ACTION) { if (action == defs::HELP_ACTION) {
os << "[hits|raw] [lll|10gbe]\n\t[Gotthard2] Set the veto " os << "[hits|raw] [lll|10gbe]\n\t[Gotthard2] Set the veto "
"algorithm." "algorithm. Default is hits."
<< '\n'; << '\n';
} else if (action == defs::GET_ACTION) { } else if (action == defs::GET_ACTION) {
if (args.size() != 1) { if (args.size() != 1) {

View File

@ -1933,7 +1933,7 @@ class CmdProxy {
INTEGER_COMMAND_VEC_ID( INTEGER_COMMAND_VEC_ID(
filtercell, getFilterCell, setFilterCell, sls::StringTo<int>, filtercell, getFilterCell, setFilterCell, sls::StringTo<int>,
"[0-12]\n\t[Jungfrau] Set Filter Cell. Advanced user Command"); "[0-12]\n\t[Jungfrau] Set Filter Cell. Only for chipv1.1. Advanced user Command");
/* Gotthard Specific */ /* Gotthard Specific */
TIME_GET_COMMAND(exptimel, getExptimeLeft, TIME_GET_COMMAND(exptimel, getExptimeLeft,

View File

@ -15,8 +15,8 @@
// files // files
// versions // versions
#define HDF5_WRITER_VERSION (6.2) // 1 decimal places #define HDF5_WRITER_VERSION (6.3) // 1 decimal places
#define BINARY_WRITER_VERSION (6.2) // 1 decimal places #define BINARY_WRITER_VERSION (6.3) // 1 decimal places
#define MAX_FRAMES_PER_FILE 20000 #define MAX_FRAMES_PER_FILE 20000
#define SHORT_MAX_FRAMES_PER_FILE 100000 #define SHORT_MAX_FRAMES_PER_FILE 100000