|
NAME changes - highlights of modifications for
spec release 5.07
February 2, 2008 - RELEASE 5.07.04-5
Updates For Micos Motor Controllers
A number of problems with the spec support
for the Micos Pegasus, Pollux and Pollux2 motor controllers have
been addressed. Setting of the optional
"dc_settle_time" and "dc_dead_band"
parameters (via the Micos "setcltime" and
"setclwintime" commands) has been fixed. A new non-
builtin parameter "home_distance" is recognized and
will be used as the argument to the "nrefmove"
command, if set. Otherwise, the default value of +/-100 is used.
A number of other issues have been addressed, mostly concerned
with syntax differences in the Venus-2 language among different
models.
Fix For Configuration Editor New Parameter Screen
A problem where non-integers could only be entered in
string mode in the value field of the new parameter screen on the
edconf configuration editor has been fixed.
January 30, 2008 - RELEASE 5.07.04-4
Fix For Screen Plot Inconsistency When Plotting Multiple
Counters
Previously, if more than one counter was chosen to be plotted
via the plotselect macro, the last counter specified
was used to calculate the derived values displayed on the screen
plots (full width at half max, maximum value, center of mass),
while the macros which refer to corresponding values, such as
pl_CFWHM (also known as CEN),
pl_COM, pl_MAX, etc., would use the
first counter, leading to confusion. The plotting macros have
been revised so that the first counter specified with
plotselect is used to calculate the values displayed
at the top of the screen plots.
Merged counters and plotselect
Macros
The functionality of the counters and
plotselect macros has been combined, so that when
invoked without arguments, both ask for which counters to plot
and which counters to assign to the DET and
MON global variables. Note, though, when invoked
with arguments the behavior of the two macros is unchanged in
order to preserve backward compatibility. As a reminder, the
counter assigned to DET will be the last column in
the data file during scans. The MON counter will
appear as the #M data file entry, and will be the
second to last column in the scan data file. Also, the
MON counter is used to calculate the value for the
MON_RATE global variable.
Fixed Issues With tty_fmt()
Long standing (but unreported) formatting issues with the
tty_fmt() command, such as it breaking lines
prematurely under certain combinations of text and space
characters, have been addressed.
New Server Mode For Alternate Motor-Limit Behavior
The standard behavior of spec when a motor
hits a limit is to stop all currently moving motors, clear the
input buffers and reset to the high level prompt. In the
original server mode, however, when a motor hits a limit, the
server does not stop other motors and reset to the top
input level. A new server mode is now available that behaves as
normal non-server mode with respect to motor limits. This new
server mode (called a "mode-2 server") is activated by
starting spec with a -S2 flag
rather than the original -S flag. Note, a
-S1 flag will also now be recognized and is
equivalent to a plain -S.
Macro Motor "get_status" Update
Additional bits are interpreted in the macro motor
"get_status" return value. Returning a value with
bit 0x10 set indicates an emergency-stop situation and bit 0x20
set indicates a motor fault, which are both currently treated in
a similar manner to hitting a limit, with all motors stopped and
control returned to the top level prompt. See the
mac_hdw help file.
New Support For FZD Sergen Motor Controller
Support for a new motor controller developed at the
Foschungzentrum Dresden Rossendorf is included in this
spec release. The name of the controller is
Sergen, and communication is over a serial interface.
Fixes For fivec and sixc Geometry Calculations
A very old sign error in the calculation of the
AZIMUTH variable from motor positions (via the
calcHKL macro) in the fivec and sixc
geometries has been fixed. Note, the error only affected the
value displayed on the screen or printed to the data file. The
value used to calculate motor positions (via the
calcA macro) wasn't affected. Also, the sign of the
CHI angle found via the calcA macro at
a particular singular point in the PHI-fixed mode
was also sometimes incorrect, and that has been fixed.
Renaming From ESRF To TACO
The built-in functions esrf_io(),
esrf_db() and esrf_dc() are now
available as taco_io(), taco_db() and
taco_dc(), although the original names will remain
supported. Also, the library named libESRF.a, included
with the spec distribution, has been renamed
libTACO.a.
Fix For ACS MCB-4B Motor Controller
A spurious error message with the text "Motor is
stopped" that sometimes appeared when aborting a move on the
ACS MCB-4B motor controllers has been eliminated.
November 8, 2007 - RELEASE 5.07.04-3
Timing Adjustment For Built-In PCI-GPIB Support
A small increase in the length of a delay during the I/O port
programming for GPIB write operations seems to have fixed a time-
out problem on at least one system that uses a PCI-GPIB rev 1
board.
November 4, 2007 - RELEASE 5.07.04-2
Update For Compumotor SX Encoder Option
The support for the Compumotor SX motor controller has been
updated to work properly with a relative encoder. When
configured for an encoder (CMSX_E in the
config file), moves will be relative rather than absolute,
position read back will be from the encoder and the
set_dial command will set both the encoder and the
commanded position.
November 1, 2007 - RELEASE 5.07.04-1
New Parameter Screen For Configuration Editor
A new configuration screen is available in the edconf
hardware configuration editor to add values for motor and counter
parameters and device controller parameters that aren't built
into spec or aren't included as standard
optional parameters. The new p command displays the
additional parameter screen. Usage is available from that screen
with the ? and H commands. The ability
to edit additional optional parameters will be useful with macro
hardware and with future built-in support for non-standard
configuration parameters.
New output Property For spec
Server
A new output property is available in the
spec server. A client can register to have
string events sent that mirror output sent to specific files or
to the screen. This property is not useful for
spec clients, but may be of interest to third
party client programs that communicate with a
spec server. See the
server help file for details.
Redundant Server Motor Position Events Eliminated
The spec server will now only send motor
position events to clients when the value of the position
changes. Previously, position events were sent more frequently.
settings File Now Updated After sync
After executing the sync command from user
level, spec will update the motor
settings file whether or not any values have changed. The
motivation is to insure positions of calculational pseudomotors
will be updated before a subsequent invocation of the
edconf hardware configuration editor, as is the sequence
in the standard config macro.
Fix For Short Integer Array Assignment
A compiler bug on a number of Linux platforms, where
assignments of values greater than 32768 to data array elements
of type short were improperly truncated rather than
converted to negative values, has been addressed.
Updates To Trinamic Support
The support for the Trinamic QUADpack and SIXpack motor
controllers has been updated. spec now supports
configuration of most of the controller's parameters, making most
home search operations possible. See the new
trinamic help file for details.
Update To Accommodate OMS Position Maintenance
Although spec doesn't currently include
commands to program an OMS motor controller for position
maintenance, it is possible for users to activate the mode via
the motor_par() command pass-through feature. To
accommodate such users, spec will now program
OMS moves (on controllers that support it) with the
IP (interrupt when in position) command rather than
the ID (interrupt when done) command for axes
configured with encoders. When not using encoders, the
IP command behaves the same as ID.
Update For TACO ESRF General CCD Device Server
spec's built-in support for the the TACO
general CCD device server has been updated to work with three-
bytes-per-pixel cameras. Previously, spec would
crash if used with such a camera.
October 16, 2007 - RELEASE 5.07.03-5
Micos Update For Encoder
When a Micos motor controller channel is configured to use an
encoder, spec will now check bit 0x20 of the
status (position out of target window) in addition to the busy
bit (0x01) for move completion. In addition, the
"dc_dead_band" parameter will now set the Micos
setclwindow value and the
"dc_settle_time" parameter will now set the Micos
setcltime value.
Fix For Mclennan Segmentation Fault
A bug, where spec could crash if configured
for a Mclennan motor controller on a serial interface that
couldn't be opened, has been fixed.
September 21, 2007 - RELEASE 5.07.03-4
Support For XIA DXP USB Interface
This spec release supports the USB interface
on the XIA Saturn DXP device.
Hangup Signals (After the First) Masked On Exit
In release 5.02.03-5, the spec code was
modified to catch the SIGHUP (hang-up) signal
generated, for example, by window managers when the terminal
window containing the spec process was closed. On receipt of the
signal, spec saves its state to the state files
and exits. In some environments multiple hang-up signals arrive,
which could end up corrupting the state file. In this release,
subsequent hang-up signals are blocked.
Better Time-Out Recovery For Built-In GPIB-ENET
Due to reports that the recently introduced built-in support
for the National Instruments GPIB-ENET had problems with
subsequent communications after a timeout while attempting to
communicate at an address not present on the bus, this
spec release now issues an interface-clear (IFC)
message after timeouts, which clears the problem. Note, this
IFC-after-timeout feature has only been added to the built-in
GPIB-ENET support.
New GPIB Feature For Detecting Listeners
For selected GPIB controllers (currently NI GPIB-ENET and
PCI-GPIB), writing a null string to a GPIB device with
gpib_put(addr, ""), will now
return 1 if a listener is present at address
addr or zero if no listener is present. A -1
is returned if the feature is not available with the configured
GPIB controller.
Fix For Phytron Segmentation Faults
A bug, where spec could crash if configured
for a Phytron controller but no controller was present, has been
fixed.
Improved Error Recovery For Mclennan Multiplexed Controllers
The support for the Mclennan PM381 and PM608 multiplexed
motor controllers has been updated to avoid certain communication
errors and to better recover from those that do occur.
August 29, 2007 - RELEASE 5.07.03-3
New Argument For Macro Hardware Functions
When more than one instance of a macro-hardware counter or
motor controller was configured, calls to the macro function that
apply to all channels would be made for each such unit with the
mnemonic argument set to the string "..". However,
all such calls looked identical. spec now
includes the controller unit number as the last argument in such
calls. See the
mac_hdw help file for details.
Fix For Phytron Motor Controllers Over Ethernet-Serial
Connection
A problem that prevented Phytron motor controllers to be
accessed via Ethernet-to-serial devices has been fixed.
Bug Fixes For Built-In PCI-GPIB Support
A bug in the new built-in support for the National
Instruments PCI-GPIB cards, where the end-of-string character for
EOS-mode reads was not always programmed correctly, has been
fixed. Another bug, where the gpib_put() function
didn't return the number of bytes written, has also been fixed.
Another Fix For Built-In GPIB-ENET Support
A bug in the recently added built-in support for the National
Instruments GPIB-ENET module, where reading a message longer than
255 bytes could produce a segmentation fault, has been fixed.
July 26, 2007 - RELEASE 5.07.03-2
Fix For Built-In GPIB-ENET Support
A bug in the recently added built-in support for the National
Instruments GPIB-ENET module, where reads having a byte count
with bits 7 or 15 set (128 or 32768) could produce errors or
segmentation faults, has been fixed.
Preliminary Support For AllMotion EZStepper Motor Controllers
This spec release contains initial support
for the AllMotion, Inc. EZStepper motor controllers. Steppers
and steppers with encoders are supported over a serial interface.
July 20, 2007 - RELEASE 5.07.03-1
Assignment Allowed To Built-In Associative Arrays
In the associative-array assignment feature introduced in
spec release 4.05.09 that allowed usage such
A0 = A, where both A0 and
A are associative arrays, assignment to the built-in
associative arrays such as A[], S[] and
UB[] was forbidden. Now such assignment is
possible. Only elements that match existing elements of the
built-in array can be assigned, and only number values are
allowed. Elements of the right-hand side array that don't exist
in the built-in array or are string valued are silently ignored.
Fix For chg_offset() For EPICS and
spec Server Motors
A problem in changing the user offset for calculational
pseudomotors (see the
mac_hdw help file) where the
associated real motors were EPICS motors or spec
server motors has been fixed. Previously the
chg_offset() call (as used by the set
macro) did not send commands to the EPICS data base or the
spec server to indicate the user-offset change
to the real motors when the chg_offset() was invoked
for the calculational pseudomotor.
Fix For Detecting spec Server Connections
From Self
The code added in spec release 5.07.02-4 to
detect a spec server connecting to itself as a
client (which is not allowed) produced false positives under some
conditions when the server and client were on the same host.
That problem should be fixed in this release.
Debouncing Filters for NI 6601/6602
This spec release implements support for the
digital debouncing filters available on the National Instruments
PCI 6601/6602 counter/timer cards. See the
ni660x help file for details.
Update For Tsuji Counter/Timers
The support for the Tsuji counter/timers has been extended to
include model NCT08-01 in addition to model CT16-01B. In
addition, a bug which reported incorrect elapsed time for
intervals over 2,147 seconds has been fixed.
Update For GE Fanuc VME Driver Support
The support for the Linux kernel drivers for the GE Fanuc
(formerly SBS, formerly Bit-3) PCI-to-VME model 61x/62x
controllers (and compatible models) has been updated to work with
the version 3 drivers. Note, spec still
includes driverless support (no kernel drivers are installed) for
these controllers.
June 30, 2007 - RELEASE 5.07.02-10
EPICS Monitors Available
Process variable monitors for user-level
epics_get() calls are now available using the new
epics_par() "monitor_set",
"monitor_check" and "monitor_clear"
options. Monitors eliminate unnecessary network traffic for
process variables that are checked often but change seldom. See
the
epics help file for details.
EPICS Put Callbacks Implemented
A new wait-time option for the user-level
epics_put() function allows spec to
wait until the specified channel-access put has been processed.
The optional third argument to epics_put() specifies
the maximum wait time. See the
epics help file for details.
EPICS 3.14 Signal Handling Improved
Previously, due to the threaded implementation used with
EPICS 3.14, signal handling in spec,
particularly that associated with a ^C interrupt
from the keyboard, could easily cause spec to
hang in the EPICS library code. spec now blocks
signals during key calls to the EPICS channel access library,
which should prevent most, if not all, such problems.
June 7, 2007 - RELEASE 5.07.02-9
New "disable_limit_checks" Optional Motor
Parameter
A new "disable_limit_checks" optional motor
parameter is available. Its value can be set on the second
optional motor parameter screen of the configuration editor or
with the motor_par() function. A nonzero value
disables software limit checks for the designated motor.
New CCDS Built-In Global Variable
A new read-only CCDS built-in global variable is
available. Its value is the number of CCD-type devices in the
config file, similar to the existing MCAS,
MOTORS and COUNTERS global variables.
Increase In Number of GPIB Controllers
Up to eight GPIB controllers can now be configured. The
previous limit was four.
Limit Values Limited
The edconf configuration editor tests for corruption
of the settings file by checking that none of the dial
limits or user offset values are greater than 1e40 in absolute
value. Previously, if a user explicitly set the motor limits or
offset to values outside that range, the next time the
configuration editor was invoked, it would discard the
settings file. Now, both spec and the
configuration editor silently limit the values of the limits and
the user/dial offset to a magnitude of 1e20.
Macro Hardware Value Precision Fixed
Previously, numbers returned by macro-hardware macro
functions for commands such as "position" and
"counts" were rounded to six significant digits.
The precision is now kept to fifteen significant digits.
Fix For Newport NSC200/PZC200 Motor Controllers
A bug that would misassign unit/crate/channel numbers for
Newport NSC200/PZC200 motor controllers if the motors weren't
numbered consecutively in the config file has been fixed.
Preliminary Support For Detel S21DC Counter/Timer
This spec release includes preliminary
support for a counter/timer from GE Inspection Technologies,
model Detel S21DC, for use over a serial interface.
May 4, 2007 - RELEASE 5.07.02-8
Fix For Macro Hardware Config Bug In Recent Release
A new feature introduced in release 5.07.02-6 associated with
the edconf hardware configuration editor had the
unintended consequence of changing the order in which parameters
associated with macro-motor and macro-counter controllers were
saved. The order has been restored in this release.
April 27, 2007 - RELEASE 5.07.02-7
Non-backwards Compatible Update For Trinamic Motor
Controllers
The units of the optional generic motor parameter
misc_par_1, have been changed from mA to percent of
maximum for the Trinamic motor controller peak current setting.
Percent of peak current is a more logical choice for the
parameter, as both the old QUADpack and the new SIXpack-2 models
have switch-selectable peak-current settings which can't be read
by software, so the actual mA value was a best guess by
spec in any case.
Fix For CANnes Bug In Last Release
A bug introduced in release 5.07.02-6, where the CANnes PCI
card CAN baud rate wasn't set from the value in the config
file, has been fixed.
April 23, 2007 - RELEASE 5.07.02-6
Built-In Support for National Instruments PCI-GPIB Modules
This spec release contains a preliminary
version of built-in support for both the rev 01 and rev 02
National Instruments PCI-GPIB cards. The rev 01 support
introduced in release 5.07.02-1 has been replaced with the new
support that works with both revisions. With the built-in
support, there is no need to install kernel drivers for GPIB.
See the
nigpib help file for details.
New Configuration Option For PCI Cards
Most PCI cards do not have switches to select an address.
Previously, for such cards, if more than one of the same type was
configured, spec assigned the cards unit numbers
in the order the cards were discovered. It is now possible to
configure bus:slot numbers in the ADDR field of the
configuration editor to distinguish among identical PCI cards.
If the ADDR is set to zero, spec
will behave as before. In this spec release,
only the NI PCI-GPIB (built-in) and CANnes PCI cards support the
bus:slot addressing. Subsequent spec releases
will include support for the feature for other PCI cards.
Updated Support the XIA DXP Modules
Several updates have been made to the support for the XIA DXP
modules (both the CAMAC and the parallel port models). The dead-
time calculation returned by the mca_par()
"dead" option has been modified based on information
provided by a user who did a careful reading of the XIA
documentation. The value returned is now
100 * [1 - (ocr *
livetime) / (icr * realtime)] where
ocr is the output count rate and icr is the input
count rate. The previous calculation was
100 * (1 - livetime /
realtime) In addition, mca_par() options
"elapsed_real" and "elapsed_live" have
been introduced as synonyms for the current "real"
and "live", respectively.
Fixes For Trinamic Motor Controller
Problems identifying the Trinamic model (QUADpack vs. SIXpack
vs. SIXpack-2) have been addressed. Also, support for
spec's "lim+" and
"lim-" chg_dial() homing options has
been added.
April 5, 2007 - RELEASE 5.07.02-5
Fix For Newport XPS Controller
A bug in the code for the Newport XPS motor controller, where
the list of configured positioners obtained from the controller
was not parsed correctly, has been fixed.
April 1, 2007 - RELEASE 5.07.02-4
Built-In Support For National Instruments GPIB-ENET
This spec release includes experimental
built-in support for the National Instruments GPIB-ENET Ethernet-
to-GPIB modules. With the built-in support, it is not necessary
to link spec with any NI modules or install any
additional drivers. See the
nigpib help file for more
information.
Installable On 64-Bit Platforms
spec should now install cleanly on 64-bit
platforms, assuming the 32-bit compatible library packages are
installed. Note, though, spec remains a 32-bit
application.
spec Client/Server Updates
Previously, if a spec client's initial
connection to a spec server was by port number,
then that server exited and a new server with a different
spec name became available at the same port
number, the client could refer to the new server by the old name.
That behavior is no longer allowed. Note, if the initial
connection is by name and not by port number, a server
reconnecting with the same name at a different port will be
considered the same server.
Also fixed, an attempt by a spec server to
connect to itself as a client (which wouldn't work well, in any
case) is detected and prevented with an error message displayed.
New Sync Option For Certain Motor Controllers
A new option is available to deal with limits when there is a
position discrepancy on the few models of motor controllers that
only allow the position registers to be set to zero and don't
retain the current position if the power is cycled. If the
controller position register is zero (likely due to a power
reset) and the spec software dial position is
nonzero, if the user chooses the option to adjust the user offset
(to maintain the user position), there is a new option available
to offset the dial limits by the same amount.
spec suggests not offsetting the limits, but
rather after adjusting the user offset, move the motor to zero
and reset the dial position to zero (or do a home search). Such
a procedure will restore the dial positions to what they were
before the motor controller was reset.
Multiple CANnes PCI Cards Should Now Work
Support for the CANnes PCI cards has been fixed to allow more
than one card to be used at a time.
Updates For Trinamic SIXpack-2
The support for the Trinamic QUADpack and SIXpack motor
controllers has been updated to accommodate the newer SIXpack-2
model. The 0x45 command (to set power-down mode) is no longer
used. (The command isn't supported by the SIXpack-2 and can
possibly cause problems with the EEPROM data integrity on the
older models.)
Fix For gmci, w21v, id10b, gonio
and pi1go Geometries
Code that incorrectly restricted reciprocal space access in
the gmci, w21v, id10b, gonio and
pi1go geometries with the message "Q > 2k"
has been fixed. A factor-of-two error resulted in
Q magnitudes greater than k, rather
than greater than 2k being rejected.
Bug Fix For ESRF TACO MAR Image Plate Scanner
An old bug in the support for the ESRF TACO MAR image plate
scanner where spec would crash unless a
particular preventive image_par() command was issued
has been fixed.
Fix For ESRF TACO MAXE Motor Device Server
The acceleration calculation in spec for the
ESRF TACO MAXE device server has been updated so that the higher
slew rates used with motor controllers newly supported by the
MAXE no longer result in an integer overflow.
March 16, 2007 - RELEASE 5.07.02-3
Increase In Maximum Number Of Serial Devices
The maximum number of serial devices that can be associated
with spec's built-in hardware support has been
increased from twenty to forty.
Fix For Software Timer On spec Server
A problem when using the software timer in interrupt mode on
a spec server where macro-hardware counters are also configured,
where the server command thread would hang at the end of a count
period, has been fixed.
Fix For Recent Multiport II Support
Problems in the Canberra Multiport II MCA support introduced
in release 5.07.01-11 and associated with setting the number of
points (and possibly other parameters) on modules with more than
one MCA device have been fixed.
Fix For ESRF TACO/TANGO Camera Device Server
Problems in using a new TANGO device server with the
image_par() commands "file_dir",
"file_prefix", "file_suffix",
"file_inum" and "overwrite", associated
with the ESRF general-CCD and image-plate support in
spec, have been fixed.
Fix For XIA Huber Slit Controllers (HSC)
spec support for the XIA HSC motor
controllers has been updated to accommodate the changed serial
number format used in the device's more recent firmware releases.
March 6, 2007 - RELEASE 5.07.02-2
Multiple GPIB Controller Syntax Update
When using multiple GPIB controllers with the generic GPIB
functions gpib_put(), gpib_get(), etc.,
a new addressing option unit.address is available in
addition to the existing "unit:address" syntax. See
the
gpib help file for details.
Multiple GPIB Controller Improved Presence Tracking
spec now keeps better track of the presence
of individual GPIB controllers of the same type. Previously, a
segmentation fault was possible if a configured controller of a
particular type was accessed but not installed, while another of
the same type was configured and usable.
New Option To Set Data Bits For Generic Serial Devices
A new ser_par() option "data_bits"
can be used to set the number of data bits for generic serial
devices. Although the default values set by
spec work for almost all serial devices,
specific values can be set, if necessary, with this new option.
See the
serial help file for details.
Preventive Fix For ESRF/TACO Error Message Display
The code that prints error messages from the ESRF TACO device
servers has been updated to avoid segmentation faults possible
when unexpectedly long error messages are returned by the TACO
devices.
Old Motor Position Rounding Bug Fixed
An old bug, where a very particular combination of motor step
size, position and user offset could lead to a motor being moved
by single steps while other motors are commanded to move, has
been fixed.
Recently Introduced Bug With MCA "auto_run"
Fixed
A bug introduced in release 5.07.1-11 and associated with the
new support for the Canberra Multiport II MCA, but affecting the
behavior when using mca_par() to set
"auto_run" mode for any MCA, has been fixed.
February 4, 2007 - RELEASE 5.07.02-1
Built-In Support For Additional Older NI GPIB cards
This release of spec contains the option to
use built-in support for the National Instruments PCI-GPIB (rev
01) and AT-GPIB (ISA) controllers. With the built-in support,
there is no need to install kernel drivers from National
Instruments or the open source drivers from Source Forge. See
the
nigpib help file for details.
January 29, 2007 - RELEASE 5.07.01-11
Support For the Canberra Multiport II MCA
Support for the Canberra Multiport II MCA over both Ethernet
and USB interfaces is included is this spec
release. See the
MPII help file for details.
January 11, 2007 - RELEASE 5.07.01-10
Support Compumotor AX/OEM750 Updated
The support for the Compumotor AX and OEM750 motor
controllers has been updated to use separate configuration
entries (CMAX and CM750 controller
types) so that spec can handle the small
differences between the controllers correctly. Choosing the
OEM750 controller type will allow spec to
properly set the motor speed.
November 28, 2006 - RELEASE 5.07.01-9
Support For Newport PZC200 Motor Controllers
Preliminary support for Newport's PZC200 motor controller is
included in this spec release.
Encoder Support For Galil Controllers
Encoder support is now available for Galil motor controllers.
Choose controller type GALIL_E on the motor screen
of the configuration editor, and set the optional encoder steps-
per-degree parameter if the encoder step size differs from the
commanded-position step size.
Further Fixes For Hecus ASA-32 MCA
Problems reading back data from the Hecus ASA-32 MCA ISA
cards on fast computers are addressed in this
spec release by performing a series of heuristic
tests on the data and retrying the read if any of the tests fail.
Due to limitations within the board's firmware, there is no fail-
safe way to ensure the data has been read back correctly.
Update For IMS MDrive Plus Controllers
The support for the IMS MDrive motor controllers has been
updated to be compatible with the newer firmware on the MDrive
Plus models.
November 24, 2006 - RELEASE 5.07.01-8
Fix For Trinamic Motor Controller Serial Interface
A problem using the serial interface on the Trinamic motor
controllers has been fixed.
Additional Fix For start_all Macro Motor Calls
A problem with the update in spec release
5.07.01-4 that eliminated unnecessary "start_all"
calls of the macro motor _cmd() function had an
unwanted side effect of preventing the calls when the
"read_mode" optional motor parameter was set to
include the PREMOVE flag. That problem has been
fixed.
November 7, 2006 - RELEASE 5.07.01-7
Fix For Hecus ASA-32 MCA
Problems using the Hecus ASA-32 ISA card MCA on faster
computers have been addressed with this spec
release by slowing down the I/O port access.
motor_par() Bug Fix
A bug, where an out-of-range motor number used as the first
argument to motor_par() could cause a crash with the
new "add" option, has been fixed.
November 3, 2006 - RELEASE 5.07.01-6
Preliminary Support For IMS MicroLYNX Motor Controllers
This spec release includes preliminary
support for the IMS MicroLYNX motors controllers over a serial
interface.
Home Search Improvement
For motor controllers with home-search support where the
direction of the home search can be specified, if the
"home" option (rather than "home+" or
"home-") to chg_dial() is used,
spec chooses the direction of the home search
based on the current dial position. Previously,
spec chose the search direction to be towards
zero. With this release, the the search direction is chosen to
be towards the home position given as the optional third argument
to chg_dial() or if that is unset, the
"home_position" optional parameter from the
config file. If neither is set, then the search is
towards zero, as before.
November 1, 2006 - RELEASE 5.07.01-5
Server Events Added For motor_par("disable")
The spec server will now send events to
clients when the "disable" argument to
motor_par() is used on the server to change the
enabled/disabled state of the associated motor. The
spec client will keep track of the
enabled/disabled state from both local commands and remote
events, and the motor must be enabled with both in order to be
moved. The return value of motor_par() with the
"disable" argument will have bit two set if the
motor has been disabled by a remote event.
Home Search Update Delta-Tau Controllers
Home searches are now implemented for the Delta-Tau PMAC
motor controller.
New user_filecheck() Hook In
newfile
The standard newfile macro contains a new macro
hook user_filecheck() which can be used to test or
modify the file name to be used as the data file. See the
macros/file.mac file in the spec
distribution for an example.
Debugging Crash Fixed
A bug, where spec might crash when the debug
level was set to 0x40000 (print input context on execution-time
errors), has been fixed.
XIA-HSC Bug Fix
A bug introduced in spec release 5.06.02-8,
where a reconfig could cause spec
to crash if a serial node associated with XIA HSC-1 Huber slit
controllers couldn't be opened, has been fixed.
October 22, 2006 - RELEASE 5.07.01-4
Improvement For Macro-Hardware Motors
A problem associated with configurations with multiple macro-
hardware motor controllers, where all the
prefix_cmd() functions were called with the
"prestart_all" and "start_all" commands
when any of the macro-hardware motors were moved, even if no
motors associated with a particular prefix
were being moved, has been fixed.
October 13, 2006 - RELEASE 5.07.01-3
Fix For Recently Broken chg_dials() With Macro
Motors
A programming error in spec release
5.06.05-9 that made it impossible to change dial positions for
macro motors has been fixed.
EPICS Install Updated
The path for the directory containing the EPICS libraries
(the epics_home parameter in the install_data
file) can now either be the directory containing the subdirectory
named base (as before), or the base directory containing
the subdirectory named lib.
October 4, 2006 - RELEASE 5.07.01-2
New Check For Calculational Pseudomotor Limits
spec now checks whether moves of real motors
will send any associated calculational pseudomotors outside of
the configured limits. Calculational pseudomotors motors are
either associated with geometry code (such as the pseudomotors
associated with kappa geometries) or implemented via the macro
hardware feature (see the
mac_hdw help file). In previous
releases, limits for calculational pseudomotors were ignored.
Update For x11filt
The x11filt process uses the X library
XListFonts() call to obtain a list of possible fonts
matching a pattern, using either the default built-in pattern or
one obtained from the Font property, as explained in the
x11 help file. Previously, the
returned list was limited to 512 items. That limit has been
raised to 8192 to accommodate the increased number of possible
fonts on a modern X installation. Also, a new font debugging
property, FontDebug, is available for the x11filt
program. See the
x11 help file for details.
Fix For Old Mac Science (Now Bruker) MXC Controllers
Code added for support of a new model of the Mac Science (now
Bruker) MXC controller in spec release 5.02.04-1
generates an error with prior models that don't support an added
MXC command PM (which sets speed and acceleration).
spec now silently checks whether the command is
available and and will stop sending it if the device doesn't
support it.
Preliminary Support For Compumotor ViX Motor Controller
This spec release contains preliminary
support for the Parker Compumotor ViX motor controllers over a
serial interface.
September 20, 2006 - RELEASE 5.07.01-1
New Invocation Option To Specify Start-Up Command Files
A new -C file start-up option is
available to specify command files to be read after all the
standard start-up commands files, but before the optional
spec.mac file in the current directory. Up to 32 such
files may be specified on the command line. See the
spec help file for details.
Fixed Timeout Behavior For data_pipe()
The "timeout" parameter added to the
data_pipe() function in release 5.06.04-1 was not
implemented correctly. This release fixes that problem. By
default, the data_pipe() processes block as long as
necessary. With this release, setting the "timeout"
parameter will prevent the process from taking any longer than
the timeout value. Also, if the process exits on its own
(perhaps due to a crash), spec will print a
message indicating that is what happened. The default timeout of
zero will maintain the traditional blocking behavior. See the
data_pipe help file for
details.
One More Fix For Updated motor_par()
A remaining bug, where some of the standard optional motors
parameters could not have values set if the parameters weren't
configured in the config file, associated with the new
motor_par() features added in release 5.06.04-1 and
mostly fixed in release 5.06.04-9, is completely fixed in this
release.
Update For Compumotor 6K Motor Controller
The support for the Compumotor 6K motor controllers has been
made a bit more robust by flushing out the read buffers before
new commands are sent.
... Meeting the software needs of scientists since 1985 ...
Last Formatted Feb 1, 2008
Last Updated 02/01/08
Send comments, queries, suggestions to
info@certif.com
© 1995-2003 Certified Scientific Software. All rights reserved
|