}

DIS Commands

Arguments listed in square brackets are optional.
Some commands are not yet documented.
bin X Y
Set the CCD binning for both the red and blue CCDs. See the window command for more details.

Returns: ccdState, ccdBin, ccdOverscan, ccdWindow, readoutOrder
camcmd text
Send a command to the CCD controller. Tries not to molest either the command or the response lines. The controller speaks Forth, and the program it runs is in the ~dis/camera/firmware directory on the DIS ICC.

e.g. Ask for a bunch of parameters: camcmd PARAMS?

Returns: camtxt
expose object time=S [basename=string] [comment=string] [red] [blue]
expose flat time=S [basename=string] [comment=string] [red] [blue]
expose dark time=S [basename=string] [comment=string] [red] [blue]
expose bias [basename=string] [comment=string] [red] [blue]
expose pause
expose resume
expose stop
expose abort
Take or control a single exposure.

If the basename is specified, it is used as a full Unix path name, to which b.fit and r.fit are appended. It is strongly recommended that the path begin with "/export/images". If basename is not specified, the filenames are determined by the ICC's path, name, places, and number If neither red nor blue is specified, both images will be saved. Both CCDs are always read out, and always in parallel, so no time is saved by specifying a single side.

The instrument shutter can only be commanded in one second increments. You can request fractional seconds, but that request will be rounded to the nearest second.

stop immediately finishes and reads out the current exposure, abort finishes and discards the current exposure. Readouts cannot be aborted.

Examples: expose object time=15, expose bias basename="/export/images/DD01/dbias.0003"

Returns: exposureState, <color>Readout, <color>URL,
init [tds] [cameras]
Initialize the motor and camera controllers. If neither is specified, initialize both. For the TDS motor controller, init does not move any motor or forget where it is. For the camera controller, resets the binning and windowing to the default values.
home [mask] [filter] [shutter] [turret] [r1] [r2] [b1] [b2]
Home one or more of the instrument motors. If none are specified, all are homed.

Returns: mask, maskName, maskNames, maskID, filterID, filterName, shutter, detent, gratingsetN, turretPos, turret, gsetNzerosteps, gsetNsteps, gsetNlambdas,
name
Set the filename part of the default naming system. See the path command for more details.

Returns: basename, name, number path, places
number
Set the number part of the default naming system. See the path command for more details.

Returns: basename, name, number path, places
motors motor-list
Move one or more motors with a single command. This is the preferred motor control command, at least for programs.

motor-list is one or more of the following, separated by spaces:

mask=N
N=1..5
Move the slit mask wheel to the given position.

filter=N
N=1..2
1 - Clear
2 - Gunn-Thuan filter set in place

turret=N
N=1..5
1 - gratings 1
2 - gratings 2
3 - mirrors
4 - change gratings 1
5 - change gratings 2

The two grating change positions are only useful for the obs-specs.

Xstep=N
X=r1,r2,b1,b2
N=valid step, 100 to about 2400
[I don't know how to specify the valid range.]

Xlambda=N
X=r1,r2,b1,b2
N=valid wavelength
[I don't know how to specify the valid range.]

e.g. r2lambda=7500

For any particular grating, only one of "step" or "lambda" an be specified.
We look for, and run, any commands in the above order (mask, filter, turret, r1, r2, b1, b2)
overscan cols rows
Set the overscan columns and rows. These dimensions are not affected by binning: you will always get the number of overscan pixels that you request here.

Returns: ccdState, ccdBin, ccdOverscan, ccdWindow, readoutOrder
path text
Set the path part of the default naming system. The ICC maintains an auto-incrementing filename built from three user-definable parts:
  • The path is the Unix directory to save image files in. In practice at APO, it should always begin with /export/images.
  • The name is the start of the filename.
  • The number is the next number to use.
The number will be 0-padded to places digits.
The composed filename will have either b.fits or r.fits appended to it.

For example, with path=/export/images/DD01, name=bias., places=3, and number=11, the blue image file would be /export/images/DD01/bias.011b.fits

As it stands, Remark and the MC always pass the basename argument to the expose command, so none of this is used.

Returns: basename, name, number path, places
places
Set the places to use for the number part of the default naming system. See the path command for more details.

Returns: basename, name, number path, places
reconfig [gratings] [masknames] [cameras]
Reload configuration files. If none are specified, reloads all of them.
status [mask] [filter] [shutter] [turret] [cameras] [gratings] [r1] [b1] [r2] [b2] [basename] [quick]
Return the status of various sub-systems. If none are specified, all are queried. gratings is shorthand for r1 r2 b1 b2.
If quick is specified, returns cached values. These should, of course, be identical to the values found by actually querying the controllers.

Returns: mask, maskName, maskNames, maskID,
filterID, filterName,
shutter,
detent, gratingsetN, turretPos, turret, gsetNzerosteps, gsetNsteps, gsetNlambdas,
ccdState, ccdBin, ccdOverscan, ccdWindow, readoutOrder,
name, number, places, path, basename,
ccdTemps, ccdHeaters,
tdscmd text
Send a command to the TDS motor controller. Tries not to molest either the command or the response lines. The TDS ("Triangle Digital Services") controller speaks Forth, and the program it runs is in the ~dis/TDS directory of the DIS ICC.

e.g. Ask for the stepper velocities for the b2 grating motor: tdscmd 3 ?PAR

Returns: TDStxt
temps
Return the most recent CCD temperatures and heater percentages. These are actually read by a separate daemon, currently once a minute.

Returns: ccdTemps, ccdHeaters
window [unbinned] Xlow Ylow Xhigh Yhigh
window center [unbinned] X Y W H
window reset
Set the CCD readout window for both the red and blue CCDs. The bottom-left pixel is (1,1). All dimensions refer to binned pixels, unless the unbinned argument is passed.

If the optional center argument is given, X and Y specify the center pixel of a rectangle, and W and H the "radius" to extend the rectangle on each side of the center pixel; a width of 1 would yield a one pixel wide readout.
window reset resets the window to the full size specified in the default configuration file. Neither the binning nor the overscan size are changed. If the readout is binned, the binning is applied to the new readout window after the window is reset.

Returns: ccdState, ccdBin, ccdOverscan, ccdWindow, readoutOrder