# Introduction

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:

- sls_detector_acquire to acquire data from the detector
- sls_detector_put to set detector parameters
- sls_detector_get to retrieve detector parameters
- 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.

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:

sls_detector_clnt i:cmd

where 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:

sls_detector_clnt j-cmd

where sls_detector_clnt is the text client (put, get, acquire, help).

To address a specific controller i of detector j use:

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:

- Acquisition: commands to start/stop the acquisition and retrieve data
- Configuration: commands to configure the detector
- Timing: commands to configure the detector timing
- Data postprocessing: commands to process the data - mainly for MYTHEN except for rate corrections.
- Settings: commands to define detector settings/threshold.
- Output: commands to define output file destination and format
- Actions: commands to define scripts to be executed during the acquisition flow
- Network: commands to setup the network between client, detector and receiver
- Receiver: commands to configure the receiver
- Chiptest board: commands specific for the new chiptest board as pattern generator
- Developer: commands to be used only for software debugging. Avoid using them!