Celebrating 75 Years of Discovery

Large Format Camera (LFC) Commands

View the original commands guide.

LFC commands follow this syntax:

command <argument [optional argument]>

Commands issued without a necessary argument will simply display the current value. Commands may be abbreviated to the shortest length necessary for completion.

1. Start-Up Commands

  • mcdcom  —  This starts the LFC program. Once started, mcdcom will start writing data into the current directory. Mcdcom recognizes the Unix commands ls and cd, and will write to any new directory that you point to. You can issue any Unix command with the standard ! escape.
  • mosaic <mode>  —  This downloads the appropriate code to the DSP controller and configures mcdcom. The mode sets the clocking parameters. Currently, there are 5 modes:

Example mosaic lfc2  —  This will setup Mcdcom to readout the entire mosaic, binned 1 × 1.

Example mosaic lfczero  —  This will setup Mcdcom to readout only chip 0, binned 1 × 1.

Example mosaic lfcfind  —  This will setup Mcdcom to readout only chip 0, binned 2 × 2; useful for a quick find exposure.

The DSP code files are found in the environment variable LODPATH, which is normally /usr/ccd/dsp for the LFC. These files contain the binary arrangement for the DSP controller, and they are specified by the configuration file in MOSCONFIG. Currently there are 3 DSP files that can be used; one for readout of the full mosaic, one for readout of the central four chips, and one for readout of just chip 0. The DSP files cannot be edited or created, so we get one of these 3 options.

The Binning Value and Raster Value configuration parameters can be changed should the above mode options not meet your needs (again, the chip numbers read out cannot be changed). The configuration file location is taken from the MOSCONFIG environment variable, and the <mode> argument is appended to form a filename for reading configuration files. For the lfc, MOSCONFIG is normally /usr/ccd/config/mos_config. The mos_config files currently available for LFC are in this directory. To change binning and/or raster parameters, a new mos_config file will need to be created for you with a FORMAT line added. These are the 7 parameters for the FORMAT line:

binx biny starting offset x starting offset y number save x number save y number save bias

The other variables that are set in the mos_config file MUST match up with the corresponding DSP file. In other words, if you want to change the binning and raster values while reading out just chip 0, you MUST make sure that you are using the proper DSP binary code for the single chip0 readout. A good way to do this would be to copy the mos_config file that uses the mode you want, and then edit the copy to include the FORMAT instructions. You won't have file permission to edit the mos_config FORMAT line, so you will need to ask for mountain staff help to do this.

2. Setup Exposure Commands

Mcdcom takes exposures and writes data files according to various parameters that you can set. The basic sequence that mcdcom follows is:

  1. Clear the chip
  2. Open the shutter and wait for the predetermined exposure time
  3. Readout the guide chip during the exposure and forward to the guide display at intervals
  4. Close the shutter
  5. Readout the CCDs into memory
  6. Write the contents of memory into FITS format data files
  7. Put the CCDs into idle mode

Not all of these above steps need be taken. The actual sequence followed depends on how the "automatic actions" are set, as described below. There are seven ways to set the basic parameters which govern what mcdcom does:

  1. bias <time [name]>  —  Setup for a bias exposure. bias prepares mcdcom to take a bias frame exposure. bias ignores any exposure time arguments. You can specify a name as the second argument. If you don't specify a name, the previous value for bias is used. bias sets the automatic actions to:
  2. Autowipe = ON Shutter = OFF Readout = ON Write = ON Idle = OFF

    Example bias 0 bias  —  Ignores any integration time argument and sets the name to bias.

  3. comp <time [name]>  —  Setup for a comparison lamp exposure. comp prepares mcdcom to take an exposure of a comparison arc for a spectrograph. You can specify the integration time as the first argument. If you don't specify a time, the previous value for comp is used. You can specify a name as the second argument. If you don't specify a name, the previous value for comp is used. comp sets the automatic actions to:
  4. Autowipe = ON Shutter = ON Readout = ON Write = ON Idle = OFF

    Example comp 1 Hg-Ne  —  Sets the integration time to 1 second and the name to Hg-Ne

  5. dark <time [name]>  —  Setup for a dark field exposure. dark prepares mcdcom to take an exposure of the dark field. You can specify the integration time as the first argument. If you don't specify a time, the previous exposure time is used. You can specify a name as the second argument. If you don't specify a name, the previous value for dark is used. dark sets the automatic actions to:
  6. Autowipe = ON Shutter = OFF Readout = ON Write = ON Idle = OFF

    Example dark 10 dark  —  Sets the integration time to 10 seconds and the name to dark

  7. flat <time [name]>  —  Setup for a flat field exposure. flat prepares mcdcom to take an exposure of a flat field. You can specify the integration time as the first argument. If you don't specify a time, the previous exposure time is used. You can specify a name as the second argument. If you don't specify a name, the previous value for flat is used. flat sets the automatic actions to:
  8. Autowipe = ON Shutter = ON Readout = ON Write = ON Idle = OFF

    Example flat 10 domeflat  —  Sets the integration time to 10 seconds and the name to domeflat

  9. focus <time [name]>  —  This was a command to set the exposure time for a focus image. The current default exposure time is 5 seconds. If you would like to change the exposure time you may do so by editing the first line of the focus scripts, focus (N) focus_fine.
  10. object <time [name]>  —  Setup for a general exposure. object prepares mcdcom to take an exposure of a general target. You can specify the integration time as the first argument. If you don't specify a time, the previous exposure time is used. You can specify an object name as the second argument. If you don't specify a name, the previous value for object is used. object sets the automatic actions to:
  11. Autowipe = ON Shutter = ON Readout = ON Write = ON Idle = OFF

    Example object 0.18  —  Sets the integration time to 0.18 seconds

    Example object 300 N3031  —  Sets the integration time to 300 seconds and the name to N3031

  12. auto  —  Prompts, and then sets the automatic actions as described above. You can tailor your exposures to suit your needs in this manual way if the preconfigured options above don't meet your needs. The automatic actions are:
    1. Number of times to wipe chip before exposure [1]:
    2. Open shutter for exposure? [yes]:
    3. Read CCD after exposure? [yes]:
    4. Write data to file after read? [yes]:
    5. Turn on continuous wipe after readout? [no]: PLEASE DON'T CHANGE THIS OPTION FOR THE LFC. It can cause problems with the filter wheel as of 2000/03/20."

There are three more commands that you can use to setup your exposures. These do not change any of the automatic actions described above.

  • et <seconds>  —  Sets the exposure time. Any floating point value is accepted. The accuracy of the exposure timing is somewhat better than 0.01 seconds, but is ultimately limited by the mechanics of the shutter (currently the mechanics of the shutter are good to 0.6 seconds). et uses Unix to compute the exposure time. An exposure that is based on Unix timing can be interrupted reliably with a ^C. For example, if you start an exposure of 300 seconds and decide to change that to 600 seconds, you would do a ^C to stop the exposure, issue an et 600 command, and restart the exposure with the go command (see below).
  • Changing the exposure time with et will NOT change any of the automatic actions listed above. If, for example, you are running a bias frame, you won't be able to change the exposure time with et since the bias mode ignores the exposure time (shutter automatic action is OFF).

  • name <objname>  —  Sets the object name into the FITS header. You can change the name of the current exposure by closing the shutter with ^C, issuing the name <objname> command, and then restarting the exposure with go.
  • status <>  —  Shows the current parameters that the next exposure will take.

3. Start Exposure Commands

  • clear <[num]>  —  Clear (wipe) the CCDs. This flushes any charge existing in the CCDs. The chips are good about not retaining residual images, but you can give clear an argument if you want to wipe it several times. Some of the CCDs may require several wipes to clear bled charge from near the bottom of the chip if the CCD is saturated. We've seen the need for a clear 5 once or twice after a very bright (3 mv) star.
  • If the LFC has been sitting for a long period of time, especially in the bright dome, several clear commands may not be sufficient to clear the chip. You may need to execute an rm command to read the mosaic before attempting an exposure. Note that rm will write the 6 FITS files and increment the file number. You can set the write data option to off with the auto command.

  • go <[num]>  —  Starts the exposure. Depending on the automatic actions that are previously set (see above), go may wipe the chip, open the shutter, close the shutter, read out the CCDs into memory, and write the data to disk. An exposure that has been started with go can be interrupted by a ^C. This will close the shutter and return you to the mcdcom command level. You can then alter the exposure with et; you can change the eventual output file name with fp or fn. If you want to continue the exposure, reissue a go. If you want to readout the CCDs, issue an rm command. If you want to abort the exposure, issue a clear command. You can set the number of consecutive exposures to take with the fist argument [num].
  • If you receive a "camera not responding" or a similar warning when trying to take an exposure, you will need to start a Cold Boot sequence.

4. Readout / Write Commands

  • fn <#>  —  Sets the incrementing file number to ###. The default value is 1. Mcdcom writes files of the form "prefix###.chip", where ### is an incrementing file number. fnallows you to specify this file number. Mcdcom uses the current file number as the program prompt (example: ccd.###>) and automatically increments the file number as each file is written.
  • fp <prefix>  —  Sets the output file name prefix. The default value is ccd. (note the trailing dot ("."). Mcdcom writes files of the form "prefix###.chip", where "prefix" is the file name prefix. fp allows you to specify this file name prefix. If you don't want a dot (".") between the prefix and the file number, simply omit it.
  • Note that an exposure is written to disk in the form prefix###.chip, where chip is a number (0-5) that corresponds to the CCD number.

    Example: For an fn set to 1 at the start of the night, and an fp set to mylfc, the 33rd exposure of the night would produce six FITS files (17 Megabytes each) that looked like:

    mylfc033.0 mylfc033.1 mylfc033.2 mylfc033.3 mylfc033.4 mylfc033.5
  • fs <suffix>  —  Sets the file number suffix (ex: .fits). Clear this with fs "".
  • iraf  —  Toggle IRAF format for FITS file.
  • IRAF (among others) is finicky about dealing with 16-bit FITS images, but the dynamic range and A/D converters for our CCDs are such that we want to save all 16 bits. The "iraf" option causes ccdcom to scale all FITS images to pack 16-bits of unsigned data (so-called "ushort") into standard FITS signed 16-bit integers ("short" or BITPIX=16 FITS format).

    Specifically, this the FITS header parameter BZERO is set to 32768, and the image is written as a FITS-standard 16-bit integer data file. IRAF et al. use the value of BZERO in the FITS header to restore the pixel values to those provided by the camera.

    By contrast, the old "not IRAF" format images stored pixel data as unsigned 16-bit integers, resulting in a non-standard FITS format image (a "ushort" image in IRAF parlance) that most FITS readers cannot read without special handling.

  • rm  —  Readout the CCDs ("read the mosaic"; not to be confused with the Unix remove command). If you pause an exposure with ^C, you can readout the contents with rm. If the automatic action Write = ON (it's on, unless you specify it to OFF with the auto command), rm will write the resulting image to a disk file.
  • wf <[filename]>  —  Write FITS file. Mcdcom reads out the CCDs into memory and maintains the image there (if there is a full disk or if the automatic action Write = OFF); or Mcdcom continues on and writes to disk (if the automatic action Write = ON). The wf command puts together FITS headers for the images and writes them to disk files. If the write fails (say the disk is full), wf will abort but mcdcom will keep the data in memory, and you can save your data with the wf command after fixing the problem that prevented the write.

5. Shutter Commands

The LFC shutter is operated by two motor controllers. The communication to the motor controllers (plus the filter wheel motor) is via a serial connection. The shutter has two blades which open and close in the same direction, providing a very uniform illumination. The shortest reliable exposure time is 0.6 seconds.

General shutter status and configuration is accomplished via the shutter command. The supported subcommands:

  • shutter blades  —  This reads the current motor encoder positions and reports the status of the shutter.
  • shutter home  —  This command re-initializes the shutter blade positions to nominal. This must be done if the power to the LFC motors is cycled. It also doesn't hurt to run this once at the beginning of each night, to take out any small amount the motors may have drifted.
  • shutter startup  —  This command re-initializes the I/O to the motors, and sends some configuration parameters to the motors. This should be executed each time mcdcom is started (as described above).
  • shutter stat  —  Reports a different status of the blades, based on the Hall effect sensors.
  • shutter oneblade  —  This mode was implemented in case of the failure of one of the two blades. This mode opens and closes the shutter using one blade only, instead of using two blades coming from the same direction as is the norm. Don't use this unless you know what you're doing; it also reduces the uniformity of the exposures.

If you receive a "camera not responding" or a shutter error when trying to take an exposure, you will need to start a Cold Boot sequence.

6. Filter Commands

The LFC has a 4-position filter wheel that holds 6.2 inch square filters in custom holders. The wheel is driven via friction drive, and has Hall effect sensors to read the filter position. There are two sensors that encode which filter is in the beam, and a fine-position sensor to achieve precise alignment. The wheel is controlled by the filter command. Positions are encoded as 0, 1, 2, and 3.

The names for each filter are read from a file, usually /usr/ccd/config/filters.def. If you change filters in the wheel, update this file to correspond. You will need to restart Mcdcom in order to update the filter table.

  • filter  —  Reports the current status of the filter wheel, including the current position and the names of the filters in the wheel (the "estoff" value should read 0 after a filter move). The names are read from a file, usually /usr/ccd/config/filters.def. If you change filters in the wheel, update this file to correspond. You will need to restart Mcdcom in order to update the filter table.
  • filter home  —  Move the filter wheel to the "home" position, which is filter position 3. This attempts to spin the wheel all of the way around until position 3 is located, then the wheel is stopped and backed into position. If you see the warning "filter wheel didn't make it into fine lock", you can try a filter move 3 command to re-adjust the fine lock position. Or simply try a filter home again.
  • filter move <#>  —  Move the wheel to position #, where # is 0, 1, 2, or 3. The wheel moves in only one direction, and goes 3-2-1-0. So moving from filter 1 to filter 2 requires a motion of 3 steps. Sometimes, the servo will fail to converge and a warning, "filter wheel didn't make it into fine lock" will result. If this happens, just issue the filter move # command again until the filter wheel has seated properly. Pay attention to the estoff= value. This value should be 0 before you take an exposure.
  • Pay close attention to the response from the mcdcom program after issuing a filter move command; make sure that the filter wheel is seated properly before starting your exposure (ie: estoff=0). Make sure that the filter wheel is where you think it is after doing a cold boot (ie: estoff=0) by typing filter.

If the filter wheel fails to locate position 0 (or the filter reports that it is lost when moving to position 0), but it can move to position 1, 2, and 3; you need to issue another filter subcommand, filter bump that will allow you to bump the filter wheel in incremental amounts.

  • filter bump <#>  —  Move the filter wheel by # encoder units. # should generally be negative. There are about 330,000 encoder units between adjacent filters. A bug currently in the filter servo code crops up rarely: when moving to filter position 0, the servo will occasionally report, erroneously, that the filter wheel is "lost". If this happens, and you are sure the wheel isn't truly lost, the command "filter bump -1000" followed by re-issuing the move will sometimes get around this problem. If that does not work, the wheel is truly lost, and you should try the filter home command.

If you receive a "camera not responding" warning when trying to move the filter, you will need to start a Cold Boot sequence.

7. Guider Commands

The guider maintains the communication to the telescope; LFC issues telescope commands and receives telescope information (headers) through the guider. If LFC is not communicating with the telescope, make sure the guider is running. If the TCS is rebooted, you need to quit and then restart the guider.

The LFC guider runs from a Tek 512x512 CCD in the mosaic focal plane that sits behind the filter and shutter. It is read out periodically during exposures, and the image is sent to the guider GUI. Integration times and other guiding parameters are set with the guider GUI. Corrections are sent from the guider program directly to the telescope. Since the guider runs with the shutter, you can only view the guide field either during an exposure or in a special find mode that opens the shutter and reads the chip.

The guider program is started in one of two ways. When you logged into oasis, you should have logged in with 2 terminals; one for mcdcom and one for the guider. In the guider terminal, you can start the guider by typing lfcguide &, in which case all of the guider output is written to the standard output (the terminal itself). If you want to send the guider output to a file (useful in the early debugging days of the guider), you can use lfcguide >& ~/lfcguide.out &  . This output file will be written to the oasis home directory (/scr6/home/lfc); make sure there is enough free space in this directory to accomodate the long text file that will result.

If you have a question about the operation of the guider, use the Help button on the right hand side of the guider GUI.

Most (if not all) of the guider parameters will be set from the guider GUI, but you can issue three guider commands from mcdcom:

  • find  —  Opens the shutter and puts mcdcom into a loop reading out the guide chip and sending the resulting image to the GUI, but without actually taking an exposure. The parameters for the display are set with the guider GUI. Find runs for 5 minutes and stops automatically, or it can be interrupted via ^C. Note that this opens the shutter, so charge can accumulate on the science CCDs. This is not ordinarily a problem, as the mosaic is cleared before a science exposure. However, if the mosaic becomes saturated during a find the ordinary clear may not fully wipe the chip, in which case a clear 5 is advised before starting a science exposure.
  • Note 1: If guiding is enabled on the guide GUI, the telescope will move (guide) during the find.

    Note 2: Typically you will not use find to get guide stars except in troublesome cases. Start your science exposure, locate a star in the GUI, move both the sky and the signal boxes over the star, and click Start. This usually works fine, as the 200-inch tracks like a champ for 60-120 seconds.

  • guide <on|off>  —  Set whether to read out the guide chip during exposure. If guide is off, guiding is impossible. You will want to leave this in the ON state; don't turn it to OFF here unless you have a very good reason.
  • rg  —  Read guide ccd once and send to the guide GUI.

8. Utility Commands

  • synch  —  Ping the DSP by sending it data and asking it to send it back. This is useful to check to see whether the CCD is alive and receiving commands properly from mcdcom, or if the electronics may need a hardware reset.
  • utility init  —  Initialize the utility board. You must execute this once if the power in the electronics box has been cycled. The utility board is largely independent of the rest of the Leach electronics, so changing the mosaic configuration will not affect the utility board. Because of a bug in the utility ROMs, executing this command again on an already running board may cause the board to hang, so use this only for a cold power reset.
  • utility status  —  Display the status of utility board. This command tells you the power supply voltages, the CCD temperature, and the status of the heater which regulates the CCD temperature. You might see a display like:
  • Utility board status:
     +40 V at +34.4           CCD temp at -391.6
     +15 V at +16.1       CCD set temp at -391.6
     -15 V at -15.8   Electronics temp at  +25.8
      +5 V at  +5.1        % overcharge       2%
    

    The temperature inside the electronics box is 25 C. We do not use the utility board for temperature control, so that part of the display is not useful.

If you receive a "camera not responding" or unreasonable values for a utility status, you will need to start a Cold Boot sequence.

9. Other LFC Commands

Some other useful LFC commands:

  • !  —  This is the standard shell escape to execute unix commands.
  • ^C (control-C)  —  Use this keystroke to interrupt any mcdcom function. Especially useful for pausing an exposure (see the discussion above for a complete description).
  • ^D (control-D)  —  Quit mcdcom. This will return you to the Unix oasis% prompt.
  • cd  —  Change directories within mcdcom. Once your path has changed, all future exposures will be written to the new directory.
  • help  —  This will list the currently recognized commands.
  • istat  —  Print some statistics of chip 0. Useful for a quick-look at chip 0, especially the mean count level during sky flats.
  • quit  —  Quit mcdcom. This will return you to the Unix oasis% prompt.
  • ls  —  List the contents of the current working directory.
  • sound  —  Toggle fancy sounds. Mcdcom will use distinctive sounds for various operations. If you want to listen to them you can turn them on with the sound command. The sounds are:
    • shutter open - dog bark
    • shutter close - drip
    • commence readout - toilet flush
    • finish readout - gong
    • finish writing file to disk - rooster crow
    • failure writing file - crash

    Note that the sounds emanate from the oasis computer located in the computer room downstairs. You'll have to go downstairs in order to hear them.

  • source <file [line]> Execute commands from file. This is how you execute a script in Mcdcom (see the Cookbook for script information).

10. Telescope Commands

There are a number of commands that you can use to control the telescope. Note that the guider must be running for telescope commands to work.

  • telescope focbump <dfocus>  —  Move the current telescope focus by the amount dfocus in millimeters. Positive value moves focus out, negative value moves focus in.
  • telescope focgo <focusmm>  —  Move the current telescope focus to the absolute position focusmm in millimeters. A typical summer LFC focus value is 28.00 millimeters. A typical winter LFC focus value 33.00 millimeters.
  • telescope gobase  —  Go back to the previously defined base position   (RET in the TCS lingo).
  • telescope goffset <dra" ddec">  —  Move (dither) the telescope AND the guider box in arcseconds for both right ascension and declination. Positive values move the telescope and guider box east and north respectively. Negative values move the telescope and guider box west and south respectively. Note that your guide field is about two arcminutes across. Take care to keep your guide star within the guider field.
  • telescope home  —  Go back to the last telescope slew position   (F in the TCS lingo).
  • telescope offset <dra" ddec">  —  Move (dither) the telescope in arcseconds for both right ascension and declination. Positive values move the telescope east and north respectively. Negative values move the telescope west and south respectively. Note that you are NOT moving the guide box with this command.
  • telescope ping  —  Check to see if the LFC guider is alive.
  • telescope setbase  —  Set the current position as the base position. When this is done, the telescope dra and ddec offsets (from the display monitor) will go to zero   (Z in the TCS lingo).
  • telescope status  —  Report the current telescope position.
  • telescope goff  —  Turn the LFC guider off (you will only want to use this command in a script). Same as the guider OFF button.
  • telescope gon  —  Turn the LFC guider on (you will only want to use this command in a script). Same as the guider Start button.
  • telescope gres  —  Resume guiding with the autoguider (you will only want to use this command in a script). Same as the guider Resume button.
  • telescope lowlamp  —  Turn on the lowlamp.
  • telescope highlamp  —  Turn on the highlamp.
  • telescope arclamp  —  Turn on the arclamp.
  • telescope lampsoff  —  Turn off the lamps.

11. Warm Boot

At some point during the night, you may find it necessary to restart mcdcom. If you accidentally quit the program, if the camera stops "talking", or if there is any other unusual problem; follow the same Start-up Sequence that you used to start mcdcom. If you are not already out of the LFC program, quit mcdcom.

Enter the following commands in this order to re-start the LFC program (the order is crucial):

  1. oasis% mcdcom  —  This starts the LFC program. Pay attention to the directory that you are in once you quit an Mcdcom session (any directory changes done while in the Mcdcom program are lost).
  2. ccd.001> mosaic <mode>  —  See mosaic for the current list of available modes. If you are changing your mode, you need to do a cold boot.
  3. ccd.001> shutter startup  —  This initializes the shutter
  4. ccd.001> shutter home  —  This sends the shutter to the home position
  5. ccd.001> filter home  —  This homes the filter wheel; make sure estoff = 0!
  6. ccd.001> utility stat  —  This displays and tests the current status of the utility board
  7. Charge accumulates on the chips during a cold boot. The only way to fully remove this charge is to readout the chips with either rm or a 0 second bias exposure. Note that all 6 chips are written to disk when you do this.

Note that the incrementing file number (fn) has been reset to the default value of 001 upon restarting mcdcom. You will want to set fn to your last exposure file number + 1.

If a Warm Boot has not solved your problem, try a Cold Boot (below).

12. Cold Boot

If a Warm Boot did not solve your problem, then you will need to do a Cold Boot by resetting the power to the electronics in the Prime Focus cage. This is done by having the TO issue commands from the TCS Console. Follow these steps (the order is crucial): NOTE: It is recommended to have the telescope at zenith during a cold boot.

  1. lfc_208> quit
  2. Have the TO issue the "ir_off" command to turn off the power to the LFC system. The TO will then wait 30-45 seconds and issue the "ir_on" command to turn the power back on.
  3. oasis% mcdcom
  4. ccd.001> mosaic <mode>  —  See mosaic for the current list of available modes.
  5. ccd.001> clear
  6. ccd.001> util init  —  Do this only once for a cold boot; more may lock up the utility board and require another power down.
  7. ccd.001> shut startup
  8. ccd.001> shut home
  9. ccd.001> filter home  —  You may need to run this more than once. Make sure estoff = 0!
  10. ccd.001> util stat  —  Make sure that the utility board is alive.
  11. Charge accumulates on the chips during a cold boot. The only way to fully remove this charge is to readout the chips with either rm or a 0 second bias exposure. Note that all 6 chips are written to disk when you do this.

If your problem isn't fixed or if there are any new problems, cycle the power again and restart the cold boot procedure. Do as many times as necessary to get you back into service. Note that the incrementing file number (fn) has been reset to the default value of 001 upon restarting mcdcom. You will want to set fn to your last exposure file number + 1.

Questions? We've answered many common observing and operations questions in our observer FAQ page.
Please share your feedback on this page or any other Palomar topic at the COO Feedback portal.

LFC Commands / v 2.0
Last updated: 1 June 2015 ACM