The basic OSIRIS system consists of 2 PCs and a Linux data taking
computer
(soaric2) as well as the instrument itself. The user interface is
accessed through a program called Prospero
which runs on the OSIRIS Linux computer, soaric2. Prospero is a
command line interface with a status window which displays the current
system status, instrument configuration, and data taking parameters.
The instrument computer (IC) controls image acquisition through a DOS
program called "IC." Images are assembled on the IC and passed to soaric2.
A second PC called the "IE" handles low
level motor control and is onboard the instrument.
The overall system is run through the interface on soaric2 (a RedHat
Linux machine). The instrument software on this machine is a
"client-server" architecture. The server is called ISIS. Three main clients are Prospero, Caliban, and the TCS Agent. In addtion, ISIS
communicates directly with the instrument computer (IC) through a
serial link. See the system block diagram for an overview.
The actual instrument control
software running on the IC is called ICIMACS:
Instrument Control and Image Acquisition System. The instrument can be
controlled entirely from the IC without soaric2/Prospero, but this is
usually only done in an engineering mode. Under normal operating
conditions, the user will interface with OSIRIS only through
soaric2/Prospero.
If the IC is indicated as the problem, you may try to restart the IC program. Type "exit" at the IC keyboard. When you are back at the DOS prompt, type "IC." When the IC has started again, type UARTINIT to initialize the communication ports in the HE. Look for a message indicating that the IC is talking to the instrument ("PONG Received from IE"). You should also see +SEQUENCER on the IC status display.
If the IC is hung completely and not responding to keyboard input, you may reboot using Ctrl-Alt-Del.
If a soft reboot won't work, try cycling the power on the IC. Turn off the computer. Then turn on the IC power. When the IC is back up and has rebooted, execute IC.
Always follow a restart of the IC with a "startup" on Prospero. If Prospero still complains, it may be necessary to restart ISIS, SOARTCS, Caliban, and then Prospero.
If the IC can not communicate with the IE, check that the flat "phone" cable between the HE and IE is connected. You can also try swapping this cable to another port on the HE (Don't use port 1 until further notice). The cable must always be connected to COM1 on the IE. There could also be a fiber transmission problem (see below).
A HOSTS command on the IC will definitively show whether communication from the IC is reaching the IE.
There are four mechanisms which have relative positions in the instrument (xpupil, ypupil, camfocus, grattilt) which must be reset or zeroed after an IE power cycle. Always follow a restart of the IE with a reset of the xpupil, ypupil, and camfocus mechanisms. See `Reseting Mechanisms' below.
OSIRIS uses a set of scsi disks to transfer data rapidly from the IC to the soaric2 linux computer. These disks are synched by the Caliban daemon. As long as Caliban is up and running, the CB flag on the IC and Prospero status should be +. If not, try a restart of Prospero. If Prospero still complains, open up the Caliban icon and type "> IC ping". The try a startup again on Prospero. If it still won't work, it is usually best to quit Prospero and cycle the power (or reboot) the IC and restart Caliban on soaric2 (it may be necessary to quit Prospero, SOARTCS, Caliban, and ISIS and restart them beginning with ISIS as above).
Corrupted images can also be caused by bad fiber connections, or
dirty
fiber connections. If corrupted images occur, inspect the fiber
connections
at the IC and the HE. Small "dust balls" can "grow" at the connections
and foul the signal transmission.
Typical bad images which might result from fiber problems will have blocks of pixels shifted into a different quadrant. This results from pixels being lost in transmission (except n pixels modulo 4) since OSIRIS uses the same processing chain to multiplex the pixel stream coming off the four quadrants. The pixels are delaced in the IC computer at the other end of the fiber run.
Scrambling of blocks of rows in the same quadrant has also been seen. This is not obviously a result of fiber transmission loss, but might instead be related to clocking the array in the analog electronics.
If scrambled images are seen on the image display check that they are also seen on the real time display above the Prospero work station. Also check the IC display while images are being taken to see if any special error messages are being generated.
pr> camera n
where n=0-3, the camera turret rotates to change the camera and performs an automatic camfocus reset. Sometimes after a camera change one receives the following error message in the Prospero window:
pr> camera n
Setting camera...
pr> camfocus 500
Setting camfocus...
pr> camera m
Setting camera
Error: Command returned error
ERROR: Aborting motion: Total step limit exceeded.
Error: Could not reset camfocus to home position
Execution error in Prospero command.
Command: camera m
This signifies that during the camera change, the camfocus reset exceeded its low limit switch and should not be moved via Prospero commands, i.e., repeating
pr> camfocus 0 reset
commands. This will only drive the camfocus mechanism further past the low limit switch, resulting in a physical collision in which the instrument will have to be warmed and opened to fix.
The current accepted procedure to recover from the initial error is to
offset the camfocus mechanism via commands to the IE from the ISIS window
as shown below.
IS% >IE mstatus camfocus
IS% IE> STATUS: MechNum=7 Address=6 EncBits=0000101100000000
Position=INVALID Current=255 StepDelay=2200
IS% >IE setadr 6
IS% IE> DONE: Address=6
IS% >IE offset 2000
IS% IE> DONE: Offset completed.
IS% >IE mstatus camfocus
IS% IE> STATUS: MechNum=7 Address=6 EncBits=0000101100000000
Position=INVALID Current=255 StepDelay=2200i
IS% >IE offset 2000
IS% IE> ERROR: Aborting motion: Hi limit encountered.
IS% >IE mstatus camfocus
IS% IE> STATUS: MechNum=7 Address=6 EncBits=0010100100100000
Position=HILIMIT Current=255 StepDelay=2200
Notice that at the first mstatus command the camfocus posistion is "INVALID". After the second offset command, the camfocus has been moved to its high limit and the camfocus posistion is no longer INVALID. At this stage, it should be possible to return to the Prospero window and issue a camfocus 0 reset command to home the camfocus mechanism with success. If in doubt about the procedure, please contact the Instrument Scientist.