CAFE Observing guide


·         Introduction

·         Starting up

·         Observing

o    The Graphic user interface (GUI)

o    List of accepted commands by the server

·         Shutting down

·         Checklist

·         Troubleshootings

·         Instalation notes







The structure of the main control software developed for data acquisition of CAFE is based on three different programs that have to be running simultaneously. The first one is a server written in C++ that might accept commands trough a port by using sockets communication (ask staff for details). There are available a list of accepted commands here.


The second program is a client. This is written in Python. It simply sends the commands to the server and wait an answer. It has basically all the functionalities of the server but every available action are performed through a very user friendly graphics user interface. This structure allows to any user to write own clients programs independent of the language used.


The third program is the Real Time Display (RTD) from ESO. This tool is used to display the image, make plots, statistics, zooming, change the palette of colors, etc. When an image is available, the server sends it to the RTD and it display automatically. More info about RTD can be found at this link

Starting up


First you have to log in the machine (ask for login and password). Enable the power on via web by browsing to, as shown in the picture:


There are two different ways to startup the acquisition software of CAFE:


·         From any xterm, type start_cafe. This will open the server, the RTD, and when the server is ready, finally the GUI. The windows will be opened only if all the processes are executed properly. If a problem occurs during the initialization, the GUI will not appear. If there is another session already working, they will be killed by this script.

·         If the script described above doesn’t work, the system can be initialized in the next way:

o    Be sure there is no other session running.

o    Open a xterm.

o    Change directory to /disk-a/Software/Server.

o    ./CAFE_server. This will initialize the whole system.

o    Wait until the message “CAFE server is waiting for commands”.

o    Open another xterm.

o    rtd –camera CAFE –attach &.

o    Change directory to /disk-a/Software/GUI.

o    python


You should get something like this:










By default the CCD is cooled down to a temperature of -10C when it is initialized. The observer has to set the CCD temperature to a working value of -90C. To do that:


·         Select “Instrument” from menu “Hardware



·         Select a Final Temp of -90 and click on Set button. The desired value will be achieved and stabilized, when the temperature of the cooler becomes in a green color.


·         The Jitter is automatically turned on during the initialization. The green color of the button indicates that the motor of this device is really consuming power, so it guaranties that it’s actually working.


·         Go Save options and select a proper setup, indicating the observer name, a data path (use Dir button to browse over the directories), and suffix.


·         Select the exposure time and the number of repetitions and click on Start button.


·         Sequences can be defined from the menu Observing.


·         NOTE: Currently the system cannot be paused. This button makes sense actually if more than one repetition is used. In this case, the system will be paused only between exposures. This is due to a limitation of the SDKs of the CCD.






The Graphics user interface (GUI)





The main GUI looks like this:



·         Start Button: it will start the sequence o single exposure.

·         Pause Button: It will pause a sequence, but an exposure is finished.

·         Abort Button: It will abort the exposure. It does not take any effect during the reading out.

·         Exp. Time: Indicates the exposure time for a single exposure.

·         Time Left: Time left to finish the exposure. Not editable.

·         Rep.: Number of repetitions for a given exposure time.

Calibration unit

·         The calibration unit comprise of a Jitter, and three calibration lamps. The color of every button indicates the status of the device. Green means “working”, yellow means “changing the status”, and red means “disable” . Depending of the current color, a user mouse click on a button will perform all the necessary actions to change the status.

·         Jitter: enable or disable the Jitter

·         Hal: enable or disable the halogen lamp. It will perform all the necessary actions to enable it, as moving the calibration mirror in, turn the optics and power the lamp on. An adequate exposure time is selected automatically.

·         ThAr: enable or disable the Thorium-Argon lamp. It will perform all the necessary actions to enable it, as moving the calibration mirror in, turn the optics and power the lamp on. An adequate exposure time is selected automatically.

·         UNe: enable or disable the Uranium-Neon lamp. It will perform all the necessary actions to enable it, as moving the calibration mirror in, turn the optics and power the lamp on. An adequate exposure time is selected automatically.

 Save options

·         Next file: Indicates the next filename. The field is not editable.

·         Type: Three different options; Science for normal exposures. Dark option will keep the shutter permanently closed. Fast option will take a normal exposure but with a very fast readout mode (5Mhz and 6 seconds of readout time). The default readout mode is 50Khz.

·         Object name: The object name that will appear in the FITS header.

·         Test: This option will generate always the same filename i.e. test0001.

·         Save options: The observer’s name, data path and the file prefix can be changed from here.



·         The console displays all the messages or signals generate by the system. It helps to identify a problem. PLEASE, read the last messages before report a problems. All these messages are stored at /disk-a/cafe/CAFE/LOGS/Consoleyymmdd


From the main menu, there are another two windows that can be opened:




An observing sequence can be defined here:



·         N. exp: Number of exposures to be done.

·         Starttime: The initial exposure time of the sequence.

·         EndTTime: The final exposure time of the sequence.

·         Gap: If StartTime and EndTime are different a gap has to be defined. If no gap is defined, both exposure times has to be the same.

·         Check button: It will check if all the fields have a right format.

·         Start button:  It will start the defined sequence and will kill this window. If the Sequence has to be interrupted, it can be done with the abort button from the main window.









The hardware instrument can be initialized from this window.



·         Final Temp: This is the value of the CCD detector to be set.

·         Set Button: It will send the command to the cooler to set the temperature defined at Final Temp.

·         Off button: It will disable the CCD cooler.

Camera Focus:

·         Desired: This field will contain the motor steps that define a camera focus position. The values goes from 0 to  12000.

·         Actual: This is the reading of the actual motor position. The field is not editable.

·         Move button: It will send the command to the focus motor to be moved to the position defined by Desired.

·         Limits: Two labels indicate the current status of the two limit switches designed for every end position for this stage. Gray color means that they are not active, and Red color means that they are.

·         Shutter Init: This will change the status of the shutter.

Readout Rate and Pre-Amp:

·         The readout mode or the pre-amplifier gain of the CCD can be changed from two combo boxes. Every time a mode is changed the console will display the basic characteristics of it.

Cabinet Temp

·         This field shows the temperatures of all the sensor spread over CAFÉ, i.e., CCD, Collimator mounts, center of the optical bench, grating mount, and the room temperature outside the cabinet. All these numbers are stored in the FITS header. The historic log with all the data are store at /disk-a/cafe/CAFE/LOGS/Temperatureyymmdd.





·         If a problem occurs, the electronics can be initialized :

·         CCD button: it will re-initialize the CCD.

·         Tel Module: It will re-initialize the motor stages and will find the home position.

·         Camera elec: It will re-initialize the camera electronics board.

·         Focus stage: This will find the lower limit switch of the focus stage. DUE TO THE HYSTERESIS OF THIS STAGE, this has to be done if it is strictly necessary.



Shutting down




There is a procedure to shut the system down. If the CCD temperature is below -20C, it has to be warm up to a safe value over -20C prior to disconnect the camera. This will avoid thermal stress in the detector. Moreover, all the electronics boards, has to be disconnected to free the corresponding serial ports. All these task are done by clicking the “Exit” button from the main window. Due to the warming up procedure, the shutdown can take some minutes.  The procedure finished by killing all the GUIs, RTD and stopping the server.


At the end of every run, the system has to be powered off through











Starting up:


During the starting procedure, some problems may occurs as shutter problems (see troubleshooting) . This check list is proposed to make some tests to 


1.    Follows the steps explained above for the starting up.

2.    Take a Dark frame and check that the average value is around 850 counts and the standard deviation is around 2.5-3.0 counts.

3.    Click on Hal lamp and take a frame. The intensity of the brightest orders has to be between 10000-15000 counts for the proposed exposure time.

4.    Take a ThAr frame with the proposed exposure time. Check FWHM of the spots. It has to be between 2.0 and 2.3 pixels around the image. If higher values are obtained, the spectrograph is defocused (see troubleshooting).









This is a list of the most common problems that may happen with CAFE. Anyway, please, before report a problem, read carefully the last messages of the console. It normally gives a clear idea of what’s going on.


Diagnostic: The routine start_cafe does not open the main graphics user interface.

Explanation: An error occurs during the initialization.

Solution: try to open manually as indicate in the section starting up.


Diagnostic: During the initialization, the server stops at “Openning ttyr0”.

Explanation: Cannot communicate with the electronics of the telescope module

Solution: Check that the telescope module is properly powered on and well connected to CAHA network.


Diagnostic: During the Initialization, the server disappears or gives a message of segmentation fault.

Explanation: A fatal error occurs during the initialization, and the system cannot be started up.

Solution: Check that the CCD has been powered on. Normally this can happen if the initialization of the CCD has failed.


Diagnostic: When a calibration lamp is pressed, the console displays a message “Lamp is NOT ready”.

Explanation: When a lamp is pressed, the system checks the current position of the calibration mirror or optics. If any of those are not in the proper position, the lamp will not be ready because the light is not going to the fiber.

Solution: Go to the Instrument GUI, and press “Tel Module”. This will find the home position for the calibration unit.


Diagnostic: The label of the CCD temperature is in RED color.

Explanation: The CCD temperature is not stable yet. It normally takes some minutes, before getting in green color.

Solution: Go Instrument GUI and press “Set” button on the cooler box.


Diagnostic: Darks looks to have signal/structure and halogen frames looks very faint.

Explanation: The shutter is working in a wrong way. It is being closed during the exposure and opened during reading out. The shutter of CAFE is working in a bi-stable mode. It is controlled by a single TTL signal that open or close it. The device cannot distinguish between a signal to open or close. So the system will know how to open or close by remembering the last status of the shutter. If by any reason the sequence is upset, any new exposure will be wrong.

Solution: Go Instrument GUI and press “Init” in the Shutter box. This will change the current status of the shutter.


Diagnostic: The FWHMs of the ThAr spots are bigger than 2.5 pixels in the X-axis.

Explanation: The spectrograph is defocused.

Solution: The focus stage has a very big hysteresis but it works well if always goes in one direction. So:


·         Go to instrument GUI, and press “Focus stage”. This will initialize the focus stage and will set to zero.

·         Send the focus value to an smaller value than the expected one (the normal value is around 8000, so 7000 is a good starting point).

·         Take a ThAr exposure and check the FWHM at different locations of the image.

·         Move small focus steps about 200 and take again a new image until a value of 2.0 to 2.3 is achieved.

·         IMPORTANT NOTE. If during this procedure you pass away the proper value, move the focus back is not right due to the hysteresis explained above. Then, re initialize again the focus stage and move to the absolute value you found first. NEVER move back relative steps!, because they will never reproduce the absolute values






Installation notes



There some additional software that must be installed at the local machine in advance:


For the server is needed:


·         IKON-L driver from Andor Technologies

·         SDKs from Andor Technologies

·         G++ and gcc compilers

·         CFITSIO

·         Real Time Display (RTD) from ESO



For the client is needed:


·         Python 2.6 or newer.

·         Boa constructor (optional, this is for an easy GUI design)