spec

Software for Diffraction

changes

highlights of modifications for spec release 2.11

DESCRIPTION

These notes summarize the modifications made for spec release 2.11, as finalized on February 6, 1989.

CHANGES

If the command file /usr/lib/spec.d/site.mac exists, it will be read each time any user runs spec. Site administrators are encouraged to put site-specific commands in this file, for example, commands to assign synchrotron-beamline monochromator parameters.

The ascan and a2scan macros now include the values of H, K and L at each data point in the data file.

In the prescan limit checking for the various hkl scans, a check for motor-limit problems at the last point of the scan has been added before the limit checking at the rest of the points in the scan. Thus, a limit problem that occurs at the extreme points in H, K and L will be caught earlier.

New scan macros a3scan and d3scan are included for scanning three motors at a time.

A new scan macro hklmesh is provided that does a mesh scan of any two of H, K and L.

The scan_on macro that restarts aborted scans now also works with mesh scans.

A setplot macro is now included that lets you configure the output generated at the conclusion of a scan. You can choose from several combinations of printer and screen output.

The do and qdo macros have been modified to look for command files in a directory given by the global variable DO_DIR if they can't be found in the current directory.

A new macro scan_tail, defined by default as _tail, is called at the end of each scan. This construction is similar to the scan_head and scan_loop macros already in place and is related to the setplot macro described above.

New macros for the folks at X-20 NSLS related to setting the X-ray beam energy are included in the standard distribution. These macros are set_E, get_E, move_E and Escan.

The config macro now does a waitall and a sync before invoking the edconf program.

The CAMAC driver for the VENIX system on the AT computers has been changed to solve a problem with losing LAM interrupts that come in during servicing of a prior LAM interrupt. The bug would manifest itself with spec being hung and DSP 6001 LAM lights being lit. (Affected sites should be sure to install the new driver.) (The problem does not occur on PDP systems.)

For folks running spec using VENIX on AT clones, spec is now compiled using the large-model compiler. This gives a larger memory arena than otherwise available. The added memory comes at a slight loss of execution speed, though. (The regular-model version is still available.)

spec now allows you to use more than one kind of motor controller at a time. (This feature entailed revising much motor-related code - please inform CSS if you notice any new bug manifestations.)

The edconf program (invoked by the config macro) has undergone some changes. A third screen is used to configure the device names. The order of the screens is changed so that the motor screen appears first. A new parameter for each motor indicates the type of controller to be used for that motor.

A presence check is now performed on all types of motor controllers, not just on the E500. The check is performed with the reconfig command now, rather than with the sync command. When a controller fails the presence test, the associated motors are marked as unusable.

The "clearing remaining steps" message that occurred on ^C aborts of E500 motors has been eliminated from normal operation. The message will appear when hardware debugging is turned on, though.

A bug with using the mcount() function (counting to monitor) with the RTC-018 controller has been fixed. Previously the monitor counts would be off by a factor of 64.

The first draft of general serial device routines, ser_get() and ser_put() is now available. See the serial help file for more information.

A bug where spec tended to dump core after you typed three ^C's to stop motors and got the message

Giving up on waiting.

If motor control is hung, type `sync'.

is fixed.

A bug where spec would screw up if you had more than nine arguments in a macro has been fixed.

A bug where macro definitions very close to the maximum length caused spec to screw up badly has been fixed.

To aid in debugging and testing new versions of spec, a new command line argument, .BI -D " specdir" is available. It selects the name of the auxiliary file directory to be used instead of the compiled in directory, normally /usr/lib/spec.d. It is also possible to change the compiled in directory name when remaking spec on site. See the comments at the top of the file u_hook.c for an explanation of how.

There is an awk script, aux/show.awk in the distribution directory that can be used with C-PLOT to produce summary plots of scans, twelve per page. The file contains comments explaining its usage.

The scripts to install kernel drivers, install_dsp and install_386, now take several command-line options. See the README file in the camac subdirectory of the distribution for details.