Commands to configure the detector. these commands are often left to the configuration file.
\begin{DoxyItemize}
\item \hyperlink{config_configstructure}{Data Structure}: commands to configure detector data structure
\item \hyperlink{config_configstatus}{Status}: commands to configure detector status
\item \hyperlink{config_configsize}{Data Size}: commands to configure detector data size
\item \hyperlink{config_configflags}{Flags}: commands to configure detector flags
\item \hyperlink{config_configchip}{Chip}: commands to configure chip of the detector
\item \hyperlink{config_configversions}{Versions}: commands to check version of each subsytem
\item \hyperlink{config_configspeed}{Speed}: commands to configure speed of detector
\item \hyperlink{config_configsettings}{Detector Parameters}: commands to configure/retrieve configuration of detector
\end{DoxyItemize}\hypertarget{config_configstructure}{}\subsection{Data Structure}\label{config_configstructure}
commands to configure detector data structure


\begin{DoxyItemize}
\item {\bfseries  datastream }enables/disables the 0MQ data stream (0MQ threads created) from receiver to client. {\ttfamily Returns} {\ttfamily }(int)
\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. {\ttfamily Returns} {\ttfamily }(string). Normally not used. Using hostname is enough.
\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. {\ttfamily Returns} {\ttfamily }(string)
\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}\hypertarget{config_configstatus}{}\subsection{Status}\label{config_configstatus}
commands to configure detector status


\begin{DoxyItemize}
\item {\bfseries online \mbox{[}i\mbox{]}} sets the detector in online (1) or offline (0) mode. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries checkonline} returns the hostnames of all detectors without connecting to them. {\ttfamily Returns} (string) \char`\"{}All online\char`\"{} or \char`\"{}\mbox{[}list of offline hostnames\mbox{]} : Not online\char`\"{}.
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries activate} Activates/Deactivates the detector. Deactivated detector does not send data. Used for EIGER only. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}\hypertarget{config_configsize}{}\subsection{Data Size}\label{config_configsize}
commands to configure detector data size


\begin{DoxyItemize}
\item {\bfseries nmod \mbox{[}i\mbox{]}} sets/gets the number of modules of the detector. Used for MYTHEN only. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries maxmod } Gets the maximum number of modules of the detector. Used for MYTHEN only. Cannot put! {\ttfamily Returns} {\ttfamily }(int)
\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! {\ttfamily Returns} {\ttfamily }(int)
\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. {\ttfamily Returns} {\ttfamily }(int)
\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. {\ttfamily Returns} {\ttfamily }(\char`\"{}int int\char`\"{})
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries roimask \mbox{[}i\mbox{]}} ?? {\ttfamily Returns} {\ttfamily }(int) in hexadecimal
\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. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries tengiga \mbox{[}i\mbox{]}} enables/disables 10GbE in system (detector \& receiver). 1 enabled 10GbE, 0 enables 1GbE. Used in EIGER only. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}\hypertarget{config_configflags}{}\subsection{Flags}\label{config_configflags}
commands to configure detector flags


\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. {\ttfamily Returns} {\ttfamily }(string). put takes one string and {\ttfamily returns} concatenation of all active flags separated by spaces.
\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. {\ttfamily Returns} {\ttfamily }(string)
\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! {\ttfamily Returns} {\ttfamily }(\char`\"{}successful\char`\"{}, \char`\"{}unsuccessful\char`\"{})
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries resetfpga \mbox{[}f\mbox{]}} resets FPGA, where f can be any value. Used for JUNGFRAU only. Only put! {\ttfamily Returns} {\ttfamily }(\char`\"{}successful\char`\"{}, \char`\"{}unsuccessful\char`\"{})
\end{DoxyItemize}\hypertarget{config_configchip}{}\subsection{Chip}\label{config_configchip}
commands to configure chip of the detector


\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. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries led \mbox{[}i\mbox{]}} sets/gets the led status. 1 on, 0 off. Used for MOENCH only ?? {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries pulse \mbox{[}n\mbox{]} \mbox{[}x\mbox{]} \mbox{[}y\mbox{]}} pulses pixel at coordinates (x,y) n number of times. Used in EIGER only. Only put! {\ttfamily Returns} {\ttfamily }(\char`\"{}successful\char`\"{}, \char`\"{}unsuccessful\char`\"{})
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries pulsenmove \mbox{[}n\mbox{]} \mbox{[}x\mbox{]} \mbox{[}y\mbox{]}} pulses pixel n number of times and moves relatively by x value (x axis) and y value(y axis). Used in EIGER only. Only put! {\ttfamily Returns} {\ttfamily }(\char`\"{}successful\char`\"{}, \char`\"{}unsuccessful\char`\"{})
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries pulsechip \mbox{[}n\mbox{]}}pulses chip n number of times, while n=-\/1 will reset it to normal mode. Used in EIGER only. Only put! {\ttfamily Returns} {\ttfamily }(\char`\"{}successful\char`\"{}, \char`\"{}unsuccessful\char`\"{})
\end{DoxyItemize}\hypertarget{config_configversions}{}\subsection{Versions}\label{config_configversions}
Commands to check versions of each subsystem


\begin{DoxyItemize}
\item {\bfseries moduleversion:\mbox{[}i\mbox{]}} Gets the firmware version of module i. Used for MYTHEN only. Only get! {\ttfamily Returns} {\ttfamily }(long int) in hexadecimal or \char`\"{}undefined module number\char`\"{}
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries detectornumber} Gets the serial number or MAC of detector. Only get! {\ttfamily Returns} {\ttfamily }(long int) in hexadecimal
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries modulenumber:\mbox{[}i\mbox{]}} Gets the serial number of module i. Used for MYTHEN only. Only get! {\ttfamily Returns} {\ttfamily }(long int) in hexadecimal or \char`\"{}undefined module number\char`\"{}
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries detectorversion} Gets the firmware version of detector. Only get! {\ttfamily Returns} {\ttfamily }(long int) in hexadecimal
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries softwareversion} Gets the software version of detector server. Only get! {\ttfamily Returns} {\ttfamily }(long int) in hexadecimal
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries thisversion} Gets the software version of this client software. Only get! {\ttfamily Returns} {\ttfamily }(long int) in hexadecimal
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries receiverversion} Gets the software version of receiver. Only get! {\ttfamily Returns} {\ttfamily }(long int) in hexadecimal
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries framesl} gets number of frames left. Used in MYTHEN, GOTTHARD only. Only get! {\ttfamily Returns} {\ttfamily }(double with 9 decimal digits)
\end{DoxyItemize}\hypertarget{config_configspeed}{}\subsection{Speed}\label{config_configspeed}
commands to configure speed of detector


\begin{DoxyItemize}
\item {\bfseries clkdivider \mbox{[}i\mbox{]}} sets/gets the readout clock divider. EIGER, JUNGFRAU \mbox{[}0(fast speed), 1(half speed), 2(quarter speed)\mbox{]}. MYTHEN\mbox{[}???\mbox{]}. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries setlength \mbox{[}i\mbox{]}} sets/gets length of set/reset signals (in clock cycles). Used in MYTHEN only. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries waitstates \mbox{[}i\mbox{]}} sets/gets waitstates of the bus interface (in clock cycles). Used in MYTHEN only. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries totdivider \mbox{[}i\mbox{]}} sets/gets clock divider in tot mode. Used in MYTHEN only. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries totdutycycle \mbox{[}i\mbox{]}} sets/gets duty cycle of the tot clock. Used in MYTHEN only. {\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries phasestep \mbox{[}i\mbox{]}} Only put for gotthard. Moves the phase of the ADC clock.{\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries oversampling \mbox{[}i\mbox{]}} Sets/gets the number of adcsamples per clock. For the new chiptestboard.{\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries adcclk \mbox{[}i\mbox{]}} sets/gets the ADC clock frequency in MHz. For the new chiptestboard!{\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries adcphase \mbox{[}i\mbox{]}} Sets/gets the ADC clock frequency in MHz. For the new chiptestboard!{\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries adcpipeline \mbox{[}i\mbox{]}} Sets/gets the pipeline of the ADC. For the new chiptestbaord!{\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries dbitclk \mbox{[}i\mbox{]}} Sets/gets the clock frequency of the latching of the digital bits in MHz. For the new chiptestboard!{\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries dbitphase \mbox{[}i\mbox{]}} Sets/gets the phase of the clock for latching of the digital bits. For the new chiptestboard!?{\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries dbitpipeline \mbox{[}i\mbox{]}} Sets/gets the pipeline of the latching of the digital bits. For the new chiptestbaord!{\ttfamily Returns} {\ttfamily }(int)
\end{DoxyItemize}\hypertarget{config_configsettings}{}\subsection{Detector Parameters}\label{config_configsettings}
commands to configure/retrieve configuration of detector


\begin{DoxyItemize}
\item {\bfseries config \mbox{[}fname\mbox{]}} sets/saves detector/receiver to configuration contained in fname. Same as executing sls\_\-detector\_\-put for every line. Normally a one time operation. {\ttfamily Returns} {\ttfamily }(string) fname
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries rx\_\-printconfig} prints the receiver configuration. Only get! {\ttfamily Returns} {\ttfamily }(string)
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries parameters \mbox{[}fname\mbox{]}} sets/saves detector parameters contained in fname. Normally once per different measurement. {\ttfamily Returns} {\ttfamily }(string) fname
\end{DoxyItemize}


\begin{DoxyItemize}
\item {\bfseries setup \mbox{[}fname\mbox{]}} sets/saves detector complete setup contained in fname (extensions automatically generated), including trimfiles, ff coefficients etc. {\ttfamily Returns} {\ttfamily }(string) fname 
\end{DoxyItemize}