SDSS Instruments or "SDSS Instrumentation at JHU" -> Spectrographs -> Mechanicals ->

SpecMech Commands Manual

Commands

All commands consist of a single letter followed by arguments, if any. The commands are as follows, where <a|b|c> means pick any one of a, b or c:

Obsolete Commands:

Status Output

Output from the status command is as follows, where every line is a keyword followed by a value:

Keyword Description of Value
spMechVersion the CVS tag for this version of specMech; a string
Bootup boot time, in seconds, an int; meaningless because the controller's clock is never set
SpectroID 0 for SP1, 1 for SP2
SlitID ID of current slithead, an integer
Air On or Off
Shutter_open_sensor On or Off
Shutter_closed_sensor On or Off
Left_open_sensor On or Off
Left_closed_sensor On or Off
Right_open_sensor On or Off
Right_closed_sensor On or Off
Coll_motor_A position of collimator motor A, in ticks. Tick size is probably 50μm. Position is shown as 999999999 if unknown.
Coll_motor_B position of collimator motor B, in ticks
Coll_motor_C position of collimator motor C, in ticks
Requested_exp.time requested exposure time for current exposure, in sec; 0 if no exposure
Exp_time_left time remaining on the exposure, in sec; 0 if no exposure
Last_exp.time time of the last exposure, in sec
Exp_state None, Paused or Exposing
Shutter_open_transit the time it took for the shutter to last open, in sec
Shutter_close_transit the time it took for the shutter to last close, in sec
Coll_motor_A_status status of collimation motor A. Motor status is 0xFF if unknown.
Coll_motor_B_status status of collimation motor B
Coll_motor_C_status status of collimation motor C

Note: all times are initialized to 0.

Motor Status

Collimation motor status is an 8 bit word displayed in hex word with a prefix of 0x. The bits are as follows:

Bit Name Description of Bit
0On Target Set if the motor position error goes to exactly zero. Do not expect this to happen; small errors are normal. Cleared by position error going above 127 or by any move command.
1Limit Switch Set if a limit switch has been hit. Cleared by the next move command.
2Motor Off Set if the motor is off, cleared if the motor is on
3Slew Mode "Motor is driven by Pushbutton keyboard or joystick", whatever that means
4not used not used
5Slave Set if in slave mode
6Find Edge Set if in find edge mode
7Stopped Set if the motor stops for more than 128ms

Details of the Interface

History

2002-10-17 v2_5_0 R. Owen

2002-09-25 v2_4_0 R. Owen

2002-07-18 v2_2_0 R. Owen

Major overhaul. Notable changes include:

2001-02-14 Jon Brinkmann

2001-02-06 Jon Brinkmann

2001-01-29 Jon Brinkmann

2000-07-14 Jon Brinkmann

Alan Uomoto wrote the original specMech code. I don't have a change log for his versions.

Credits

Alan Uomoto wrote the initial specMech code. Jon Brinkmann made many improvements (such as the ability to pause exposures) and continues to help maintain the code.

Thanks to Eric Neilsen for his willingness to adapt SOP to my modifications of the specMech code and to Craig Loomis for his help debugging a nasty problem.

HOME

SpecMech Version: $Name: v2_5_0 $