in between command line documentation

This commit is contained in:
Dhanya Maliakal
2017-08-15 18:06:45 +02:00
parent 9bb8a94c55
commit 8e1a841b42
40 changed files with 8618 additions and 4117 deletions

View File

@ -0,0 +1,19 @@
all: clean refman.pdf
pdf: refman.pdf
refman.pdf: refman.tex
pdflatex refman.tex
makeindex refman.idx
pdflatex refman.tex
latex_count=5 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
pdflatex refman.tex ;\
latex_count=`expr $$latex_count - 1` ;\
done
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf

View File

@ -0,0 +1,41 @@
Commands to control the acquisition
\begin{DoxyItemize}
\item {\bfseries acquire} blocking acquisition (like calling sls\_\-detector\_\-acquire). Starts receiver and detector, writes and processes the data, stops detector. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries data} gets all data from the detector (if any) processes them and writes them to file according to the preferences already setup (MYTHEN only). Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries frame} gets a single frame from the detector (if any) processes it and writes it to file according to the preferences already setup (MYTHEN only). Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries status} {\ttfamily returns} the detector status (string)-\/ can be: {\ttfamily running}, {\ttfamily error}, {\ttfamily transmitting}, {\ttfamily finished}, {\ttfamily waiting} or {\ttfamily idle}; {\ttfamily put} can be {\ttfamily start} or {\ttfamily stop}
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries busy} returns {\ttfamily 1} if the acquisition is active, {\ttfamily 0} otherwise. Works when the acquisition is started in non-\/blocking mode. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries readctr } Reads the counters from the detector memory (analog detector returning values translated into number of photons -\/ only GOTTHARD). Cannot put.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries resetctr i } Resets counter in detector, restarts acquisition if i=1(analog detector returning values translated into number of photons -\/ only GOTTHARD). Cannot put.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries resmat i } sets/resets counter bit in detector.gets the counter bit in detector ????
\end{DoxyItemize}

View File

@ -0,0 +1,126 @@
Commands to define scripts to be executed during the acquisition flow
\begin{DoxyItemize}
\item {\bfseries positions \mbox{[}n \mbox{[}p0..pn-\/1\mbox{]}\mbox{]}} sets/gets number of angular position and positions to be acquired.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries startscript \mbox{[}s\mbox{]}} sets/gets the script to be executed at the beginning of the acquisition. {\ttfamily none} unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries startscriptpar \mbox{[}s\mbox{]}} sets/gets a string to be passed as a parameter to the startscript
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries stopscript \mbox{[}s\mbox{]}} sets/gets the script to be executed at the end of the acquisition. {\ttfamily none} unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries stopscriptpar \mbox{[}s\mbox{]}} sets/gets a string to be passed as a parameter to the stopscript
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scriptbefore \mbox{[}s\mbox{]}} sets/gets the script to be executed before starting the detector every time in the acquisition. {\ttfamily none} unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scriptbeforepar \mbox{[}s\mbox{]}} sets/gets a string to be passed as a parameter to the scriptbefore
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scriptafter \mbox{[}s\mbox{]}} sets/gets the script to be executed after the detector has finished every time in the acquisition. {\ttfamily none} unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scriptafterpar \mbox{[}s\mbox{]}} sets/gets a string to be passed as a parameter to the scriptafter
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries headerafter \mbox{[}s\mbox{]}} sets/gets the script to be executed for logging the detector parameters. {\ttfamily none} unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries headerbefore \mbox{[}s\mbox{]}} sets/gets the script to be executed for logging the detector parameters. {\ttfamily none} unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries headerbeforepar \mbox{[}s\mbox{]}} sets/gets a string to be passed as a parameter to the headerbefore script
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries headerafterpar \mbox{[}s\mbox{]}} sets/gets a string to be passed as a parameter to the headerafter script
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries enacallog \mbox{[}i\mbox{]}} enables/disables logging of the parameters necessary for the energy calibration. 1 sets, 0 unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries angcallog \mbox{[}i\mbox{]}} enables/disables logging of the parameters necessary for the angular calibration. 1 sets, 0 unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan0script \mbox{[}s\mbox{]}} sets/gets the script to be executed for the scan 0 level. {\ttfamily none} unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan0par \mbox{[}s\mbox{]}} sets/gets a string to be passed as a parameter to the scan0script
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan0prec \mbox{[}i\mbox{]}} sets/gets number of digits to be used for the scan0 variable in the file name.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan0steps \mbox{[}i \mbox{[}s0..sn-\/1\mbox{]}\mbox{]}} sets/gets number of steps (int) of the scan0 level and their values (float).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan0range \mbox{[}smin smax sstep\mbox{]}} sets scan0 min, max and step, returns the number of steps and their values as scan0steps.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan1script \mbox{[}s\mbox{]}} sets/gets the script to be executed for the scan1 level. {\ttfamily none} unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan1par \mbox{[}s\mbox{]}} sets/gets a string to be passed as a parameter to the scan1script
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan1prec \mbox{[}i\mbox{]}} sets/gets number of digits to be used for the scan1 variable in the file name.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan1steps \mbox{[}i \mbox{[}s0..sn-\/1\mbox{]}\mbox{]}} sets/gets number of steps (int) of the scan1 level and their values (float).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries scan1range \mbox{[}smin smax sstep\mbox{]}} sets scan1 min, max and step, returns the number of steps and their values as scan1steps.
\end{DoxyItemize}

View File

@ -0,0 +1 @@
This page is for advanced users. Make sure you have first read the introduction.

View File

@ -0,0 +1,167 @@
Commands to configure the detector. these commands are often left to the configuration file.
\begin{DoxyItemize}
\item {\bfseries datastream} enables/disables the 0MQ data stream (0MQ threads created) from receiver to client.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries free} Free shared memory on the control PC
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries add} Adds a detector at the end of the multi-\/detector structure. {\ttfamily put} argument is the hostname or IP adress. Returns the chained list of detector hostnames.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries remove i} Removes controller {\ttfamily i} from the multi-\/detector structure. Can be used for partial readout of the detector.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries type} Sets/gets detector type (string).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries hostname} {\ttfamily put} adds the hostname (ot IP adress) at the end of the multi-\/detector structure. If used for a single controlled (i:) replaces the current hostname. Returns the list of the hostnames of the multi-\/detector structure.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries id\mbox{[}:i\mbox{]}} Returns the id of the detector structure. i is the detector position in a multi detector system. If used a {\ttfamily put}, configures the id of the detector structure. i is the detector position in a multi detector system and l is the id of the detector to be added.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries master i} {\ttfamily put} sets the position of the master of the acquisition (-\/1 if none). Returns the position of the master of the detector structure (-\/1 if none).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries sync} Sets/gets the synchronization mode of the detectors in the multi-\/detector structure. Can be: {\ttfamily none}, {\ttfamily gating}, {\ttfamily trigger}, {\ttfamily complementary}. Mainly used by MYTHEN/GOTTHARD.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries online \mbox{[}i\mbox{]}} sets the detector in online (1) or offline (0) mode
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries checkonline} returns the hostnames of all detectors without connecting to them
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries activate} Activates/Deactivates the detector. Deactivated detector does not send data. Used for EIGER only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries lock \mbox{[}i\mbox{]}} Locks/Unlocks the detector to communicate with this client. 1 locks, 0 unlocks.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries nmod \mbox{[}i\mbox{]}} sets/gets the number of modules of the detector. Used for MYTHEN only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries maxmod } Gets the maximum number of modules of the detector. Used for MYTHEN only. Cannot put!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries dr \mbox{[}i\mbox{]}} sets/gets the dynamic range of detector. Mythen \mbox{[}4,8,16,24\mbox{]}. Eiger \mbox{[}4,8,16,32\mbox{]}. Others cannot put!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries roi \mbox{[}i\mbox{]} \mbox{[}xmin\mbox{]} \mbox{[}xmax\mbox{]} \mbox{[}ymin\mbox{]} \mbox{[}ymax\mbox{]} } sets region of interest of the detector, where i is number of rois;i=0 to clear rois. Used for GOTTHARD only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries detsizechan \mbox{[}xmax\mbox{]} \mbox{[}ymax\mbox{]}} sets the maximum number of channels in each dimension for complete detector set; -\/1 is no limit. Use for multi-\/detector system as first command in config file.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries roimask \mbox{[}i\mbox{]}} ??
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries flippeddatax \mbox{[}i\mbox{]}} enables/disables data being flipped across x axis. 1 enables, 0 disables. Used for EIGER only. 1 for bottom half-\/module, 0 for top-\/half module.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries flags \mbox{[}flag\mbox{]}} sets/gets the readout flags to mode. Options: none, storeinram, tot, continous, parallel, nonparallel, safe, digital, analog\_\-digital, unknown. Used for MYTHEN and EIGER only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries extsig:\mbox{[}i\mbox{]} \mbox{[}flag\mbox{]}} sets/gets the mode of the external signal i. Options: {\ttfamily off}, {\ttfamily gate\_\-in\_\-active\_\-high}, {\ttfamily gate\_\-in\_\-active\_\-low}, {\ttfamily trigger\_\-in\_\-rising\_\-edge}, {\ttfamily trigger\_\-in\_\-falling\_\-edge}, {\ttfamily ro\_\-trigger\_\-in\_\-rising\_\-edge}, {\ttfamily ro\_\-trigger\_\-in\_\-falling\_\-edge}, {\ttfamily gate\_\-out\_\-active\_\-high}, {\ttfamily gate\_\-out\_\-active\_\-low}, {\ttfamily trigger\_\-out\_\-rising\_\-edge}, {\ttfamily trigger\_\-out\_\-falling\_\-edge}, {\ttfamily ro\_\-trigger\_\-out\_\-rising\_\-edge}, {\ttfamily ro\_\-trigger\_\-out\_\-falling\_\-edge}. \par
Used in MYTHEN, GOTTHARD, PROPIX only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries programfpga \mbox{[}file\mbox{]}} programs the FPGA with file f (with .pof extension). Used for JUNGFRAU, MOENCH only. Only put!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries resetfpga \mbox{[}f\mbox{]}} resets FPGA, where f can be any value. Used for JUNGFRAU only. Only put!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries powerchip \mbox{[}i\mbox{]}} Powers on/off the chip. 1 powers on, 0 powers off. Can also get the power status. Used for JUNGFRAU only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries led \mbox{[}i\mbox{]}} sets/gets the led status. 1 on, 0 off. Used for MOENCH only ??
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries moduleversion:\mbox{[}i\mbox{]}} Gets the firmware version of module i. Used for MYTHEN only. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries detectornumber} Gets the serial number or MAC of detector. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries modulenumber:\mbox{[}i\mbox{]}} Gets the serial number of module i. Used for MYTHEN only. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries detectorversion} Gets the firmware version of detector. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries softwareversion} Gets the software version of detector server. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries thisversion} Gets the software version of this client software. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries receiverversion} Gets the software version of receiver. Only get!
\end{DoxyItemize}

View File

@ -0,0 +1,76 @@
Commands to setup the data processing (mainly MYTHEN related)
\begin{DoxyItemize}
\item {\bfseries flatfield \mbox{[}fn\mbox{]}} {\ttfamily put} sets flatfield file to {\ttfamily fn} (relative to {\ttfamily ffdir}). returns the flatfield file name relative to {\ttfamily ffdir} (string). If
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries ffdir \mbox{[}d\mbox{]}} Sets/gets the directory in which the flat field file is located.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries ratecorr \mbox{[}ns\mbox{]}} Returns the dead time used for rate correections in ns (int). {\ttfamily put} sets the deadtime correction constant in ns, -\/1 will set it to default tau of settings (0 unset).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries badchannels \mbox{[}fn\mbox{]}} {\ttfamily put} sets the badchannels file to {\ttfamily fn} . returns the bad channels file name. If
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries angconv \mbox{[}fn\mbox{]}} {\ttfamily put} sets the angular conversion file to {\ttfamily fn} . returns the angular conversion file name. If
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries globaloff \mbox{[}f\mbox{]}} Sets/gets the beamline angular global offset (float).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries fineoff \mbox{[}f\mbox{]}} Sets/gets the angular fine offset of the measurement (float).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries binsize \mbox{[}f\mbox{]}} Sets/gets the bin size used for the angular conversion (float).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries angdir \mbox{[}i\mbox{]}} Sets/gets the angular direction. 1 means increasing channels number as increasing angle, -\/1 increasing channel number decreasing angle.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries moveflag \mbox{[}i\mbox{]}} Sets/gets the flag for physically moving the detector during the acquisition of several positions. 1 sets (moves), 0 unsets.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries samplex \mbox{[}f\mbox{]}} Sets/gets the sample displacement in th direction parallel to the beam in um. Unused!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries sampley \mbox{[}f\mbox{]}} Sets/gets the sample displacement in th direction orthogonal to the beam in um. Unused!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries threaded \mbox{[}i\mbox{]}} Sets/gets the data processing threaded flag. 1 is threaded, 0 unthreaded.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries darkimage fn} Loads the dark image to the detector from file fn (pedestal image). Cannot get.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries gainimage fn} Loads the gain image to the detector from file fn (gain map for translation into number of photons of an analog detector). Cannot get.
\end{DoxyItemize}

View File

@ -0,0 +1,348 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
% Packages used by this style file
\RequirePackage{alltt}
\RequirePackage{array}
\RequirePackage{calc}
\RequirePackage{color}
\RequirePackage{fancyhdr}
\RequirePackage{verbatim}
% Setup fancy headings
\pagestyle{fancyplain}
\newcommand{\clearemptydoublepage}{%
\newpage{\pagestyle{empty}\cleardoublepage}%
}
\renewcommand{\sectionmark}[1]{%
\markright{\thesection\ #1}%
}
\lhead[\fancyplain{}{\bfseries\thepage}]{%
\fancyplain{}{\bfseries\rightmark}%
}
\rhead[\fancyplain{}{\bfseries\leftmark}]{%
\fancyplain{}{\bfseries\thepage}%
}
\rfoot[\fancyplain{}{\bfseries\scriptsize%
Generated on Tue Aug 15 17:35:40 2017 by Doxygen }]{}
\lfoot[]{\fancyplain{}{\bfseries\scriptsize%
Generated on Tue Aug 15 17:35:40 2017 by Doxygen }}
\cfoot{}
%---------- Internal commands used in this style file ----------------
% Generic environment used by all paragraph-based environments defined
% below. Note that the command \title{...} needs to be defined inside
% those environments!
\newenvironment{DoxyDesc}[1]{%
\begin{list}{}%
{%
\settowidth{\labelwidth}{40pt}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{-4pt}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1:]%
}{%
\end{list}%
}
%---------- Commands used by doxygen LaTeX output generator ----------
% Used by <pre> ... </pre>
\newenvironment{DoxyPre}{%
\small%
\begin{alltt}%
}{%
\end{alltt}%
\normalsize%
}
% Used by @code ... @endcode
\newenvironment{DoxyCode}{%
\footnotesize%
\verbatim%
}{%
\endverbatim%
\normalsize%
}
% Used by @example, @include, @includelineno and @dontinclude
\newenvironment{DoxyCodeInclude}{%
\DoxyCode%
}{%
\endDoxyCode%
}
% Used by @verbatim ... @endverbatim
\newenvironment{DoxyVerb}{%
\footnotesize%
\verbatim%
}{%
\endverbatim%
\normalsize%
}
% Used by @verbinclude
\newenvironment{DoxyVerbInclude}{%
\DoxyVerb%
}{%
\endDoxyVerb%
}
% Used by numbered lists (using '-#' or <ol> ... </ol>)
\newenvironment{DoxyEnumerate}{%
\enumerate%
}{%
\endenumerate%
}
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
\newenvironment{DoxyItemize}{%
\itemize%
}{%
\enditemize%
}
% Used by description lists (using <dl> ... </dl>)
\newenvironment{DoxyDescription}{%
\description%
}{%
\enddescription%
}
% Used by @image, @dotfile, and @dot ... @enddot
% (only if caption is specified)
\newenvironment{DoxyImage}{%
\begin{figure}[H]%
\begin{center}%
}{%
\end{center}%
\end{figure}%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if no caption is specified)
\newenvironment{DoxyImageNoCaption}{%
}{%
}
% Used by @attention
\newenvironment{DoxyAttention}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @author and @authors
\newenvironment{DoxyAuthor}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @date
\newenvironment{DoxyDate}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @invariant
\newenvironment{DoxyInvariant}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @note
\newenvironment{DoxyNote}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @post
\newenvironment{DoxyPostcond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @pre
\newenvironment{DoxyPrecond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @remark
\newenvironment{DoxyRemark}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @return
\newenvironment{DoxyReturn}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @since
\newenvironment{DoxySince}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @see
\newenvironment{DoxySeeAlso}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @version
\newenvironment{DoxyVersion}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @warning
\newenvironment{DoxyWarning}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @internal
\newenvironment{DoxyInternal}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @par and @paragraph
\newenvironment{DoxyParagraph}[1]{%
\begin{list}{}%
{%
\settowidth{\labelwidth}{40pt}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{-4pt}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1]%
}{%
\end{list}%
}
% Used by parameter lists
\newenvironment{DoxyParams}[1]{%
\begin{DoxyDesc}{#1}%
\begin{description}%
}{%
\end{description}%
\end{DoxyDesc}%
}
% Used by return value lists
\newenvironment{DoxyRetVals}[1]{%
\begin{DoxyDesc}{#1}%
\begin{description}%
}{%
\end{description}%
\end{DoxyDesc}%
}
% Used by exception lists
\newenvironment{DoxyExceptions}[1]{%
\begin{DoxyDesc}{#1}%
\begin{description}%
}{%
\end{description}%
\end{DoxyDesc}%
}
% Used by template parameter lists
\newenvironment{DoxyTemplParams}[1]{%
\begin{DoxyDesc}{#1}%
\begin{description}%
}{%
\end{description}%
\end{DoxyDesc}%
}
\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
\newenvironment{DoxyCompactList}
{\begin{list}{}{
\setlength{\leftmargin}{0.5cm}
\setlength{\itemsep}{0pt}
\setlength{\parsep}{0pt}
\setlength{\topsep}{0pt}
\renewcommand{\makelabel}{\hfill}}}
{\end{list}}
\newenvironment{DoxyCompactItemize}
{
\begin{itemize}
\setlength{\itemsep}{-3pt}
\setlength{\parsep}{0pt}
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}
}
{\end{itemize}}
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
\newlength{\tmplength}
\newenvironment{TabularC}[1]
{
\setlength{\tmplength}
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
\par\begin{tabular*}{\linewidth}
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
}
{\end{tabular*}\par}
\newcommand{\entrylabel}[1]{
{\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
\newenvironment{Desc}
{\begin{list}{}
{
\settowidth{\labelwidth}{40pt}
\setlength{\leftmargin}{\labelwidth}
\setlength{\parsep}{0pt}
\setlength{\itemsep}{-4pt}
\renewcommand{\makelabel}{\entrylabel}
}
}
{\end{list}}
\newenvironment{Indent}
{\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
\item[]\ignorespaces}
{\unskip\end{list}}
\setlength{\parindent}{0cm}
\setlength{\parskip}{0.2cm}
\addtocounter{secnumdepth}{1}
\sloppy
\usepackage[T1]{fontenc}
\makeatletter
\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%
{-3.25ex plus -1ex minus -0.2ex}%
{1.5ex plus 0.2ex}%
{\normalfont\normalsize\bfseries}}
\makeatother
\stepcounter{secnumdepth}
\stepcounter{tocdepth}
\definecolor{comment}{rgb}{0.5,0.0,0.0}
\definecolor{keyword}{rgb}{0.0,0.5,0.0}
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}

View File

@ -0,0 +1,44 @@
This program is intended to control the SLS detectors via command line interface. This is the only way to access all possible functionality of the detectors, however it is often recommendable to avoid changing the most advanced settings, rather leaving the task to configuration files, as when using the GUI or the API provided.
The command line interface consists in four main functions:
\begin{DoxyItemize}
\item {\bfseries sls\_\-detector\_\-acquire} to acquire data from the detector
\item {\bfseries sls\_\-detector\_\-put} to set detector parameters
\item {\bfseries sls\_\-detector\_\-get} to retrieve detector parameters
\item {\bfseries sls\_\-detector\_\-help} to get help concerning the text commands Additionally the program slsReceiver should be started on the machine expected to receive the data from the detector.
\end{DoxyItemize}
If you need control a single detector, the use of the command line interface does not need any additional arguments.
For commands addressing a single controller of your detector, the command cmd should be called with the index i of the controller:
{\bfseries sls\_\-detector\_\-clnt i:cmd}
where {\bfseries sls\_\-detector\_\-clnt} is the text client (put, get, acquire, help).
In case more than one detector is configured on the control PC, the command cmd should be called with their respective index j:
{\bfseries sls\_\-detector\_\-clnt j-\/cmd}
where {\bfseries sls\_\-detector\_\-clnt} is the text client (put, get, acquire, help).
To address a specific controller i of detector j use:
{\bfseries sls\_\-detector\_\-clnt j-\/i:cmd}
For additional questions concerning the indexing of the detector, please refer to the SLS Detectors FAQ documentation.
The commands are sudivided into different pages depending on their functionalities:
\begin{DoxyItemize}
\item \hyperlink{acquisition}{Acquition commands} Acquisition: commands to start/stop the acquisition and retrieve data
\item \hyperlink{config}{Configuration commands} Configuration: commands to configure the detector
\item \hyperlink{data}{Data postprocessing}: commands to process the data -\/ mainly for MYTHEN except for rate corrections.
\item \hyperlink{settings}{Settings}: commands to define detector settings/threshold.
\item \hyperlink{output}{Output}: commands to define output file destination and format
\item \hyperlink{actions}{Actions}: commands to define scripts to be executed during the acquisition flow
\item \hyperlink{network}{Network}: commands to setup the network between client, detector and receiver
\item \hyperlink{receiver}{Receiver}: commands to configure the receiver
\item \hyperlink{test}{Developer} Developer: commands to be used only for software debugging. Avoid using them!
\end{DoxyItemize}

View File

@ -0,0 +1,84 @@
Commands to setup the network between client, detector and receiver
\begin{DoxyItemize}
\item {\bfseries rx\_\-hostname \mbox{[}s\mbox{]}} sets/gets the receiver hostname or IP address, configures detector mac with all network parameters and updates receiver with acquisition parameters. Normally used for single detectors (Can be multi-\/detector). {\ttfamily none} disables. If used, use as last network command in configuring detector MAC.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries rx\_\-udpip \mbox{[}ip\mbox{]}} sets/gets the ip address of the receiver UDP interface where the data from the detector will be streamed to. Normally used for single detectors (Can be multi-\/detector). Used if different from eth0.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries rx\_\-udpmac \mbox{[}mac\mbox{]}} sets/gets the mac address of the receiver UDP interface where the data from the detector will be streamed to. Normally used for single detectors (Can be multi-\/detector).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries rx\_\-udpport \mbox{[}port\mbox{]}} sets/gets the port of the receiver UDP interface where the data from the detector will be streamed to. Use single-\/detector command.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries rx\_\-udpport2 \mbox{[}port\mbox{]}} sets/gets the second port of the receiver UDP interface where the data from the second half of the detector will be streamed to. Use single-\/detector command. Used for EIGER only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries detectormac \mbox{[}mac\mbox{]}} sets/gets the mac address of the detector UDP interface from where the detector will stream data. Use single-\/detector command. Normally unused.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries detectorip \mbox{[}ip\mbox{]}} sets/gets the ip address of the detector UDP interface from where the detector will stream data. Use single-\/detector command. Keep in same subnet as rx\_\-udpip (if rx\_\-udpip specified).
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries txndelay\_\-left \mbox{[}delay\mbox{]}} sets/gets the transmission delay of first packet in an image being streamed out from the detector's left UDP port. Use single-\/detector command. Used for EIGER only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries txndelay\_\-right \mbox{[}delay\mbox{]}} sets/gets the transmission delay of first packet in an image being streamed out from the detector's right UDP port. Use single-\/detector command. Used for EIGER only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries txndelay\_\-frame \mbox{[}delay\mbox{]}} sets/gets the transmission frame period of entire frame being streamed out from the detector for both ports. Use single-\/detector command. Used for EIGER only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries flowcontrol\_\-10g \mbox{[}delay\mbox{]}} Enables/disables 10 GbE flow control. 1 enables, 0 disables. Used for EIGER only.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries zmqport \mbox{[}port\mbox{]}} sets/gets the 0MQ (TCP) port of the receiver from where data is streamed to the client. Use single-\/detector command to set individually or multi-\/detector command to calculate based on {\ttfamily port} for the rest.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries configuremac \mbox{[}i\mbox{]}} configures the MAC of the detector with these parameters: detectorip, detectormac, rx\_\-udpip, rx\_\-udpmac, rx\_\-udpport, rx\_\-udpport2 (if applicable). Only put!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries rx\_\-tcpport \mbox{[}port\mbox{]}} sets/gets the port of the client-\/receiver TCP interface. Use single-\/detector command. Is different for each detector if same {\ttfamily rx\_\-hostname} used. Must be first command to communicate with receiver.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries port \mbox{[}port\mbox{]}} sets/gets the port of the client-\/detector control server TCP interface. Use single-\/detector command. Default value is 1952 for all detectors. Normally not changed.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries stopport \mbox{[}port\mbox{]}} sets/gets the port of the client-\/detector stop server TCP interface. Use single-\/detector command. Default value is 1953 for all detectors. Normally not changed.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries lastclient } Gets the last client communicating with the detector. Cannot put!
\end{DoxyItemize}

View File

@ -0,0 +1,36 @@
Commands to setup the file destination and format
\begin{DoxyItemize}
\item {\bfseries outdir \mbox{[}dir\mbox{]}} Sets/gets the file output directory (string)
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries fname \mbox{[}fn\mbox{]}} Sets/gets the root of the output file name (string)
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries index \mbox{[}i\mbox{]}} Sets/gets the current file index (int)
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries enablefwrite \mbox{[}i\mbox{]}} Enables/disables file writing. 1 enables, 0 disables.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries overwrite \mbox{[}i\mbox{]}} enables(1) /disables(0) file overwriting
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries currentfname} gets the filename for the data without index and extension
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries fileformat} gets the file format for data (no put?) What are the possible return values?
\end{DoxyItemize}

View File

@ -0,0 +1 @@
Commands to configure the receiver

View File

@ -0,0 +1,93 @@
\documentclass[a4paper]{article}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{float}
\usepackage{listings}
\usepackage{color}
\usepackage{textcomp}
\usepackage{alltt}
\usepackage{times}
\usepackage{ifpdf}
\ifpdf
\usepackage[pdftex,
pagebackref=true,
colorlinks=true,
linkcolor=blue,
unicode
]{hyperref}
\else
\usepackage[ps2pdf,
pagebackref=true,
colorlinks=true,
linkcolor=blue,
unicode
]{hyperref}
\usepackage{pspicture}
\fi
\usepackage[utf8]{inputenc}
\usepackage{doxygen}
\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=8,numbers=left }
\makeindex
\setcounter{tocdepth}{3}
\renewcommand{\footrulewidth}{0.4pt}
\begin{document}
\hypersetup{pageanchor=false}
\begin{titlepage}
\vspace*{7cm}
\begin{center}
{\Large Reference Manual}\\
\vspace*{1cm}
{\large Generated by Doxygen 1.6.1}\\
\vspace*{0.5cm}
{\small Tue Aug 15 17:35:40 2017}\\
\end{center}
\end{titlepage}
\pagenumbering{roman}
\tableofcontents
\pagenumbering{arabic}
\hypersetup{pageanchor=true}
\section{Introduction}
\label{index}\hypertarget{index}{}\input{index}
\section{Developer}
\label{test}
\hypertarget{test}{}
\input{test}
\section{Acquition commands}
\label{acquisition}
\hypertarget{acquisition}{}
\input{acquisition}
\section{Configuration commands}
\label{config}
\hypertarget{config}{}
\input{config}
\section{Data processing commands}
\label{data}
\hypertarget{data}{}
\input{data}
\section{Detector settings commands}
\label{settings}
\hypertarget{settings}{}
\input{settings}
\section{Output settings}
\label{output}
\hypertarget{output}{}
\input{output}
\section{Actions}
\label{actions}
\hypertarget{actions}{}
\input{actions}
\section{Network}
\label{network}
\hypertarget{network}{}
\input{network}
\section{Receiver commands}
\label{receiver}
\hypertarget{receiver}{}
\input{receiver}
\section{Advanced Usage}
\label{advanced}
\hypertarget{advanced}{}
\input{advanced}
\printindex
\end{document}

View File

@ -0,0 +1,27 @@
Commands to setup the settings of the detector
\begin{DoxyItemize}
\item {\bfseries settingsdir \mbox{[}dir\mbox{]}} Sets/gets the directory where the settings files are located (string)
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries trimdir \mbox{[}dir\mbox{]}} obsolete {\ttfamily settingsdir}
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries caldir \mbox{[}dir\mbox{]}} Sets/gets the directory where the calibration files are located (string)
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries trimen \mbox{[}n e0 e1...e(n-\/1)\mbox{]}} Sets/gets the number of energies n at which the detector has default trim file and their values in eV (int)
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries settings \mbox{[}s\mbox{]}} sets/gets the settings of the detector. Options: {\ttfamily standard}, {\ttfamily fast}, {\ttfamily highgain}, {\ttfamily dynamicgain}, {\ttfamily lowgain}, {\ttfamily mediumgain}, {\ttfamily veryhighgain}, {\ttfamily lownoise}, {\ttfamily dynamichg0}, {\ttfamily fixgain1}, {\ttfamily fixgain2}, {\ttfamily forceswitchg1}, {\ttfamily forceswitchg2}. \par
In Eiger, only sets in client shared memory. Use {\ttfamily threshold} or {\ttfamily threshold\_\-notb} to pass to detector
\end{DoxyItemize}

View File

@ -0,0 +1,64 @@
Commands to be used only for software debugging. Avoid using them!
\begin{DoxyItemize}
\item {\bfseries test} returns an error
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries help} Returns a list of possible commands.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries exitserver} Shuts down all the detector servers. Don't use it!!!!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries exitreceiver} Shuts down all the receivers. Don't use it!!!!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries flippeddatay \mbox{[}i\mbox{]}} enables/disables data being flipped across y axis. 1 enables, 0 disables. Not implemented.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries digitest \mbox{[}i\mbox{]}} will perform test which will plot the unique channel identifier, instead of data. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries bustest} performs test of the bus interface between FPGA and embedded Linux system. Can last up to a few minutes. Cannot set! Used for Mythen only. Only get!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries digibittest:\mbox{[}i\mbox{]}} performs digital test of the module i. Returns 0 if succeeded, otherwise error mask. Only put!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries reg \mbox{[}addr\mbox{]} \mbox{[}val\mbox{]}} ??? writes to an register {\ttfamily addr} with {\ttfamily value} in hexadecimal format.
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries adcreg \mbox{[}addr\mbox{]} \mbox{[}val\mbox{]}} ??? writes to an adc register {\ttfamily addr} with {\ttfamily value} in hexadecimal format. Only put!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries setbit} ??? Only put!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries clearbit } ??? Only put!
\end{DoxyItemize}
\begin{DoxyItemize}
\item {\bfseries getbit } ??? Only get!
\end{DoxyItemize}