About
About APO
Site User's Guide
Planning Class Trips
Altitude Illness
Emergency Procedures
Phone System
Computing Resources
Site Tech Docs
APO Historical
Social Media
Gallery
Instagram
Facebook
Youtube
Meta
Visit APO
Housing
Directions
Staff Directory
Employement/ Volunteering
Public Tours
Science Highlights
Recent Results
Celestial Events
ToO Results
SDSS Data Release
Observers
Weather
Regional Weather
On site weather
IR Camera
All Sky Camera
Seeing Monitor
Closure Policies
3.5M Observing Schedule
Proposal Sample
Scheduling Overview
Tonight's Schedule
Quarterly Schedule
3.5m Staffing
Training & Visiting
New Users
Training Information
Planning Class Trips
Visit Information
Housing
Observing Resources
Accessing Data
APO Password Access
APO Mailing Lists
User Wiki
3.5M Night Log Archive
Observing Tools
TUI Stars
Sky View
Aladin Finder Charts
SDSS Charts
Standard Stars
Catalogs and Finder Charts
Guider Match Scripts
Telescopes
ARC 3.5M
General Information
Optical Design
TUI
TCC
SDSS 2.5M
General Information
SDSS Data Release
SONG 1.0M
General Info
ARCSAT 0.5M
General Info
Observing Schedule
Instruments
Instruments
Instrument News and Status
Agile
APOLLO
ARCES (Echelle)
ARCTIC
DIS
KOSMOS
NICFPS
TripleSpec
Instrument Resources
Filter Inventory
Detectors
Guidelines for Visiting Instruments
APO Staff
Apps
Technical Database
Problem Reports
On-Site Email
Purchasing/Travel/Shipping
Purchasing Procedures
Travel Procedures
Shipping Procedures
3.5M Observers
Wiki
Old Wiki
Staffing Schedule
Training List
Night Logs
35m Observing Archive
Weather Log
3.5M Engineering
Operations
Tech Docs
Engineering Docs
Instrument Fill Procedures
2.5M Observers
Staffing Schedule
STUI
Petunia
Docs and Procedures
Kronos
Grafana
2.5M Engineering
Boss Monthly Checkout
Operation
Procedures
Engineering
0.5M
NA
Login
Login
Register
}
3.5M Operations
DIS Commands
Arguments listed in square brackets are optional.
Some commands are not yet documented.
bin
camcmd
expose
home
init
motors
name
number
overscan
path
places
reconfig
status
tdscmd
temps
window
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.
The grating configuration file is in config/gratings.txt, and specifies which gratings are in which bays, as well as the motor steps to reach the desired grating zeropoints.
The masknames configuration file is in config/masknames.txt, and specifies the five slit mask names.
The camera configurations are in configdata.py. Other data are saved there, and all need to be better documented....
Returns:
detent
,
gratingsetN
,
turretPos
,
turret
,
gsetNzerosteps
,
gsetNsteps
,
gsetNlambdas
,
maskname
,
maskNames
,
dismaskstat
,
mask
,
maskID
,
ccdState
,
ccdBin
,
ccdOverscan
,
ccdWindow
,
readoutOrder
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