All communications with the Enterprise Z-80 which runs the MX probes occur over a serial link to the control room. A set of IRAF tasks from ``mxpackage.mxobserve'' manage commands and data sent to/from the Enterprise. Pre-run configuration of ``mxpackage'' on the workstation ``bok.as.arizona.edu'' is described in the script ``mxpackage.setup_bok'' (see previous chapter).
If the Enterprise is already running, a carriage return should produce a prompt. Hitting the delete key is even better than a carriage return because it flushes the communications buffers. If the Enterprise is not running or does not respond, proceed to the next section.
``listen'' is a cl script that runs task ``ttarget'' without all the cl overhead. It is normally run in the background, but could be in the foreground of a separate window.
Note that ``listen'' and ``subspace'' are permanently rather experimental and not particularly robust. Before you complain too loudly, remember that the alternative is a Z-80 with 8-inch floppy disks.
(port = "/dev/ttya") serial port for enterprise (tfile = "") stream file (necho = 1) echo interval (verb = 4) verbosity (version = "03 June 1992") Version date of this routine (mode = "ql")
``listen'' also creates a temporary script file named ``.listen_temp''. ``tmp$ttarget.txt'' is a stream file that is only used for probe alignment. See ``readcenters'' below.
(portname = "/dev/ttya") Name of the serial port (instrument = "mxspect") Instrument pset (verbosity = 4) Output verbosity parameter (mode = "ql")
``listen'' exits whenever the Enterprise echoes a Cntrl-D. Type a Cntrl-D in ``subspace'' to exit gracefully. Then type a Cntrl-C to exit ``subspace'' or ``readcenters''.
If your window crashes and you have a rogue (dettached from the parent window) ``listen'' task, you will have to hunt it down with the Unix commands ``!ps -efc'' and destroy it with ``!kill -9''. There may be as many as three PIDs. Otherwise, the rogue task will continue to interact with the serial port producing very erratic communications. See the task ``killer'' to make the hunt easier. Sometimes ``listen/ttarget'' exits accidentally, if that occurs type a Cntrl-C to exit ``subspace'' and restart both of them as above.
The Enterprise is the Z-80 microprocessor onboard the MX Spectrometer on the telescope which controls all of the motions of the 32 probes. It receives commands over a serial link from the workstation and the astronomer in the control room. The Enterprise moves the fibers probes with 32 intelligent stepper controller cards connected to an extension of the Z-80 STD bus. These controller cards are located in the 2 auxilliary Eurocard racks on the flanks of the MX.
The Enterprise Program will respond with:
EPROG3 -- Enterprise Control Program -- Version of 01-JAN-87 -- Type H to get a menu of commands.
Note that the `` A '' performs the following commands on all the probes. i.e. `` / '' resets the active probe while `` A/ '' resets all probes.
See the Enterprise Menus section of this manual for a full list of commands.
The ``listen'' program should be running on the workstation and the Enterprise power should be ON. Remember this is NOT a normal observing procedure. Fresh software should only be needed when something has glitched the Enterprise memory, or when Enterprise has been turned off for a long time, or when the CMOS RAM batteries are dead. Typical symptoms of corrupted Enterprise software are ``G0100'' not producing a response or ``#'' hanging in a loop.
The hexadecimal address readout will update on the screen as the .HEX file is shipped across the serial link and loaded into Enterprise memory. The data area ends around 97C0. (This file is an ascii hexadecimal representation of the Z-80 binary code.) Downloading takes about 70 seconds.
(hfile = "mxobserve$eprog3.hex") Name of the program (.hex) file (portname = "/dev/ttya") Name of the serial port (delay = 20) Output delay in milliseconds (instrument = "mxspect") Instrument pset (verbosity = 4) Output verbosity parameter (mode = "ql")
cfile = Name of the center calibration file (portname = "/dev/ttya") Name of the serial port (delay = 50) Output delay in milliseconds (instrument = "mxspect") Instrument pset (verbosity = 5) Output verbosity parameter (mode = "ql")
Operation of MX will be smoother if you use the first three or four coordinate buffers to store several standard circle patterns. You must reload these each time the software is reloaded. These patterns are not loaded automatically because they are sometimes different for engineering tests or special observing programs. See the section on how to create a circle pattern for more details.
``mxobserve.makeitso'' sends a series of initialization commands to the Enterprise after power up or reloading fresh software. The idea is to save the observer from a lot of typing in the Enterprise window with the Z-80 interface. ``makeitso'' does not handshake with the Enterprise, but simply sends the commands at pre-arranged intervals. Remember to set (epar) the current rotation angle before you run ``makeitso''.
MAKEITSO Program to Initialize the ENTERPRISE, SPP Version of 12-SEP-93 Executed on: Sun 18:31:03 12-Sep-93 MAKEITSO: G0100 Run Enterprise Program. MAKEITSO: \ Create Neutral Buffer. MAKEITSO: R 00000800 Using fangle 00000800. MAKEITSO: | 00000000 00000000 Creating circle. MAKEITSO: B B000 Using buffer B000. MAKEITSO: # Conversion to steps. MAKEITSO: | 00010000 00000000 Creating circle. MAKEITSO: B B800 Using buffer B800. MAKEITSO: # Conversion to steps. MAKEITSO: B C400 Using default buffer C400. MAKEITSO: B 0000 List buffers. MAKEITSO: A/ Reset controllers. MAKEITSO: A* Initializing all probes. MAKEITSO: Please wait for probes to complete setup. MAKEITSO is complete.
(fangle = 00000800) Field rotation angle R (portnam= /dev/ttya) Name of the serial port (circle = yes) Generate circle buffers? (fix = yes) Replace broken fibers? (move = yes) Move the Probes? (delay = 75) Serial delay in milliseconds (instrum= mxspect) Instrument pset (verbosi= 4) Output verbosity parameter (mode = ql)