|
NAME changes - highlights of modifications for
spec release 5.10
May 12, 2012 - RELEASE 5.10.02-11
New "timestamp" Option For
epics_par()
A new "timestamp" option is available with the
epics_par() function to return the EPICS timestamp
associated with a process variable. See the
epics help file for details.
Fix For Using Named Pipes As Output Devices
A problem with spec hanging when opening a
named pipe when no process had the named pipe open for reading
has been fixed.
New "bl18b" surf Geometry
A new liquid surface diffractometer geometry for beamline
BL18B at the Photon Factory is included in this
spec release.
May 8, 2012 - RELEASE 5.10.02-10
Fix For EPICS Crash
On certain platforms, use of epics_put() with
the optional third argument to have the code wait for a callback
to indicate the value has been sent resulted in a segmentation
fault. The crash might also appear when reading using the built-
in EPICS serial device support. The problem has been fixed.
Update To Recognize New Model Tsuji Counter
This spec release will recognize the new
Tsuji model CT08-01D counter/timer.
May 5, 2012 - RELEASE 5.10.02-9
Fix For Recently Introduced Bug With PCI Am9513
The configuration updates included in spec
release 5.10.02-1 introduced a bug that could cause a
segmentation fault when a PCI Am9513 was configured. This
release fixes that problem.
TACO Serial Driver Support Reversions
The changes to the support for TACO serial driver introduced
in spec release 5.10.02-3 to display additional
error messages have been removed. However, an issue where
HDW_ERR could be incorrectly set when reading a
serial device has been fixed.
April 6, 2012 - RELEASE 5.10.02-8
Fix For Slow Reads Using Built-In NI PCI-GPIB Support
A timing issue with spec's built-in support
for the National Instruments PCI-GPIB controller, where GPIB
reads of large blocks of data (on the order of 10,000 bytes or
more, depending on the transfer rate) could take much longer than
necessary, has been fixed.
April 2, 2012 - RELEASE 5.10.02-7
More Controllers Allowed In Configuration
The maximum number of motor controller and timer/counter
entries on the Devices screen of the configuration editor
has been increased from 40 to 64. In addition, a bug where the
configuration editor could crash if there were more than the
allowed number of controllers in the config file has been
fixed.
Fixed decode() Function
A bug, where the newly added decode() function
did not allow assignment of its return value when the return
value was an associative array, has been fixed.
Updates For Micos MMC-100
A problem where spec would consider a move
complete too early with the newly added Micos MMC-100 support has
been fixed. In addition, a new "initialize"
motor_par() option is available to locate the limit
and home position of a stage. See the
mmc100 help file.
Update For New Struck SIS1100ecmc Model
The hardware signature of Struck's new SIS1100ecmc 2G link
PCIe-to-VME adapter is now recognized by spec's
driverless built-in support.
Fixed ANC300 Support
A bug in the newly added support for the Attocube ANC300,
where spec could crash if a controller was
configured but not connected, has been fixed.
OMS Motor Controller Updates
spec will now allow up to ten channels per
controller for the OMS MAXnet controller in order to work with
the new models. Also, a bug, where the
"init_sequence" parsing did not recognize the
BD command to configure digital I/O direction, has
been fixed.
OMS Motor Multiplexing Fixed and Updated
The configuration updates in spec release
5.10.02-1 broke the old motor multiplexing support in the OMS
code. The code been brought up to date and is working again. In
addition, the support now allows a multiplexed channel for each
controller module. Previously, only one multiplexed channel was
allowed among all the controllers. With multiplexing, one OMS
channel can drive up to sixteen motors. spec
uses five digital output lines on the OMS controller to control
external hardware that switches the motor driver power lines
among the multiplexed motors. See the new section on
multiplexing in the
oms help file for details.
March 14, 2012 - RELEASE 5.10.02-6
Fix For Serial Support On Linux
Some kernel-level serial device drivers on Linux did
not work with the updated code in spec to set
baud rates introduced in spec release 5.08.06-4.
In particular, problems have been seen with drivers for Prolific
PL2303 USB-to-serial adapters and for the Rayon Multiport PCI
cards. This spec release should fix the issue.
March 11, 2012 - RELEASE 5.10.02-5
Support For Micos MMC-100 Motor Controller
This spec release includes preliminary
support for the Micos MMC-100 Modular Motion Controller System.
See the
mmc100 help file for
implementation details.
Updates For OMS Support
Values for the standard optional motor parameters
"dc_integration_limit",
"dc_veloc_feedforward" and
"dc_accel_feedforward" will now set the
KU, KV and KA OMS
parameters, respectively. The non-standard optional motor
parameter "pid_offset" will program the
KO OMS parameter. A new "closed_loop"
motor_par() non-standard optional parameter can
disable/enable closed-loop mode during a session or from the
config file. When using servo motors, the code will now
query the encoder status during moves to detect moves interrupted
by a slip if slip detection is enabled. For firmware versions
greater than 1.30, spec now will send the new
commands for a number of deprecated commands.
Fix For USB-4300 "get_bit" Command
An issue where the "get_bit" option to the
counter_par() function for the Measurement Computing
USB-4300 series timer/counters didn't return the correct value
has been fixed.
Fix For Allowed GPIB Addresses
Previously, spec allowed GPIB device address
31 to be passed to the GPIB controller support code. The maximum
valid address is 30, and spec now respects that.
Support For TANGO GPIB Server
spec supports release 1.0 of the TANGO GPIB
device server. All of the existing GPIB support, including the
user-level commands such as gpib_get() and
gpib_put(), along with the built-in support for
motor controllers, counter/timers and other devices that use GPIB
should work if the "TANGO GPIB server" interface is
selected in the hardware configuration editor.
New TANGO Options To Obtain Attribute Information
Additional options are available to the
tango_get() function to display or return all
available descriptive attribute properties. See the
tangohelp file for details.
Fix For NI 6601/2 Unavailable Channel Access
A bug, where spec could crash if an
unavailable National Instruments 6601 or 6602 counter channel was
accessed with counter_par(), has been fixed.
January 5, 2012 - RELEASE 5.10.02-4
Fix For Linked Configurations
A issue when using linked config files that was
introduced in spec release 5.10.01-9 where in
some configurations spec would quit immediately
after reading the hardware configuration with a message of the
sort "user(): Not configured for motor ..." has been
fixed.
December 28, 2011 - RELEASE 5.10.02-3
Support For NI GPIB-ENET/1000
spec will now work with the National
Instruments GPIB-ENET/1000 using spec's built-in
support. The programming for the GPIB-ENET/1000 is a bit
different than that for the GPIB-ENET/100 and the GPIB-ENET
models, which continue to be supported.
Restored Compatibility With NI Linux Drivers
spec can now be linked with release 2.9.0 of the
National Instruments GPIB drivers on Linux, although use
has not been well tested and isn't recommended. Use of
spec's built-in GPIB support is preferred. See
the
nigpib help file for details.
Update For Newport SMC100 Controller
A too short serial timeout for the Newport SMC100 controller
has been fixed.
Update For Newport NSC200 Controller
Checks on maximum values for the velocity and acceleration
when using the Newport NSC200 motor controller have been removed,
as the maximum values built into the software were too low for
some actuator models. spec will now program the
values requested. Users should make sure the configured values
do not exceed the specifications for the particular actuator
model.
Preliminary Support For the Attocube ANC300
This spec release contains preliminary
support for the Attocube ANC300 controller. The current release
is only for controllers with one active channel. Updated support
will be provided when the ANC300 firmware is updated to
accommodate easier programming of multi-channel configurations.
Update For Attocube ANC350 Support
spec now recognizes the
"targetground" parameter for the Attocube ANC350
positioner.
Trinamic Check-For-Reset Feature Updated
The check-for-reset feature for Trinamic motor controllers,
implemented in spec release 5.09.01-1, will now
also restore motor position when restoring parameters.
TACO Serial Driver Update
Some error messages associated with the TACO serial device
that had been suppressed are now shown.
Update For Miscellaneous State File Data
Some internal improvements have been made for the handling of
certain miscellaneous data that is saved in the user state file.
Such data includes spec_par() parameters and some
persistent hardware parameters. In most cases, the data will now
be properly restored if saved by one computer and read by another
of different endianess, such as an Intel PC (little endian) and a
Sun SPARC station (big endian).
New Option For show_state Command
The show_state command now includes a new
+/-x option to show or not show miscellaneous
values, which include the spec_par() parameters and
some persistent hardware parameters. Only the values are
displayed, not the parameter descriptions.
November 8, 2011 - RELEASE 5.10.02-2
Support For SmarAct Controller
spec now supports the SmarAct GmbH Modular
Control System for micro- and nanopositioning. The support is
for the serial interface. See the new
smaract help file for details.
October 25, 2011 - RELEASE 5.10.02-1
New Option to Disable Controllers In Configuration Editor
A new option is available to disable the configuration of
motor and counter controllers, interface controllers, serial
devices, MCA-type devices and image-type devices from the
edconf configuration editor without removing the
configuration from the config file. The YES/NO column of
the configuration for each of these items now has an additional
OFF option, which can be selected by typing an O or
an o. When "off", the configuration
information will remain in the config file, but
spec will treat the controller or device as
disabled and not access it.
Macro Hardware MCA Update For Returned Count
The macro-hardware MCA implementation for the commands
"read" and "write" now accepts a return
value for the number of points actually read or written. The
value will determine how many data elements will be transferred
to the spec data array when mca_get() is called with
an array argument and will be the return value for the
mca_get() and mca_put() functions when
called with group/element arguments. See the
mac_hdw help file for additional
details.
October 21, 2011 - RELEASE 5.10.01-14
Fix For Number Of Generic Serial Devices
The edconf hardware configuration editor allows 21
generic serial devices to be configured, but prior to this
release, spec only allowed 20 to be opened.
October 18, 2011 - RELEASE 5.10.01-13
Fix For Tsuji Counter Update
A problem with the previous update for the Tsuji
counter/timers that prevented proper operation of the devices on
some platforms has been fixed.
October 9, 2011 - RELEASE 5.10.01-12
Fix For chg_dials() Crash Bug
An old bug, where spec could crash if
chg_dials() was called to perform a limit search
using an out-of-range motor number, has been fixed.
Updated Support For Tsuji Counters
The built-in support for the various models of the Tsuji
counter/timers has been updated. A reset command is no longer
sent on hardware initialization. Settings for certain internal
parameters, such as maximum allowed preset and preset resolution,
are now correctly assigned based on the capabilities of the
specific model detected during the presence test.
Attocube ANC350 Support Now Includes Limit Searches
Limit searches using the "lim+" and
"lim-" options to chg_dial() are now
available for the Attocube ANC350 controller. See the
attocube help file.
Support For Radicon SCSD-3C
This spec release includes support for the
Radicon SCSD-3C X-ray scintillation detector with integrated
timer/counter. See the
radicon help file for details.
October 1, 2011 - RELEASE 5.10.01-11
Fix For USB Support On openSUSE 10.0 and 10.1
The USB devices supported by spec should now
work with the old openSUSE 10.0 and 10.1 Linux releases.
Preliminary Support For Physik Instrumente E-516 Motor
Controller
This spec release includes initial support
for the Physik Instrumente E-512 controller over serial and GPIB
interfaces. Contact CSS for implementation details.
September 26, 2011 - RELEASE 5.10.01-10
Fix Of Bug In Previous Release That Leads To an Early Exit
This minor update fixes a bug that was put into the previous
release and that would cause spec to terminate
during initial hardware configuration if there was a position
discrepancy that was resolved in favor of the motor controller.
September 23, 2011 - RELEASE 5.10.01-9
Fix For eval() Return Of Associative Array
The stricter validation for assignment of associative arrays
implemented in spec release 5.09.2-2 disabled
the ability to return associative arrays from the
eval() function, which also broke the behavior when
using the remote_eval() function with a
spec server. That problem has been fixed.
Improvements For "Commanded" Position, Reversion Of
mvr Macros
Several instances where the value for the last-commanded
position of a motor was incorrect have been fixed. (The last-
commanded position is available with the new
move_info() function and a new option to
read_motors(), both introduced in
spec release 5.10.01-1. The last-commanded
position saves the requested target position to the fully
specified resolution, while the usual motor position is rounded
to the motor step size. Using the last-commanded position to
calculate target positions in relative moves allows one to
perform successive relative moves in increments less than the
motor resolution.) The last-commanded position will now be set
to the current motor position on a fresh start (with the
-f flag), when leaving simulate mode, and after
correcting a position discrepancy where the software position or
user offset was adjusted to match the hardware. Although the
updated mvr and umvr included in
release 5.10.01-1 should work fine for most users most of the
time, the previous definitions have been restored for the time
being while CSS works to make sure the last-commanded position
feature is as robust as possible. The definitions that use the
last-commanded position are still available as mvr2
and umvr2.
September 15, 2011 - RELEASE 5.10.01-8
String Values Now Available For epics_get()
Character Arrays
When reading arrays of DBF_CHAR with
epics_get(), if the optional argument that specifies
the desired type of the return value is specified as
"string", spec will now return an
ordinary string. Previously, the function would return a single-
row string data array. See the
epics help file.
September 10, 2011 - RELEASE 5.10.01-7
Fix For Canberra Lynx MCA Issues After ^C
A problem with the Canberra Lynx MCA, where socket
communications could become disrupted if a transaction was
interrupted by a a keyboard ^C, has been fixed.
Fix For State File Locking On Mac OS X
Normally, spec prevents the same user from
starting multiple instances of the same spec
version. A problem on Mac OS X, where the locking mechanism
didn't always work correctly with more than ten terminal windows
open, has been fixed.
Fix For GPIB Sharing With Built-in NI GPIB Support
A problem where the sharing feature for GPIB controllers
wasn't working with the built-in support for some of the National
Instruments GPIB models has been fixed.
September 4, 2011 - RELEASE 5.10.01-6
Prompt Now Indicates Simulate Mode
The spec prompt will now contain text to
indicate when simulate mode is active, as in
123.FOURC_sim> .
Mu Pseudomotor Available For Six-Circle Geometry
The six-circle geometry, sixc, now recognizes a
configuration where the mu rotation involves two
real motors, muT and muR. See the
sixc help file.
Fix For Recently Created Pseudomotor Issue
An oversight in spec release 5.10.01-3 that
removed the ability to use motor_par() to retrieve
arbitrarily configured unit and channel numbers for motors with
the NONE controller type has been remedied.
Fix For EPICS Debugging Messages
A bug, where the values printed at debug level 128 for the
epics_put() command were incorrect for non
DBF_DOUBLE number-valued process variables, has been
fixed. The bug only affected the debugging output, not the
values sent through the EPICS channel access calls.
Update For Attocube Controller
The Attocube ANC350 controller support has been updated to
work better with the firmware problem where the controller can
take hundreds of milliseconds to report a motor is busy after
spec sends a move command.
Fix For Number Of Channels For Huber SMC 9300 Controller
A bug, introduced in spec release 5.09.01-3
and associated with the update to the Huber SMC 9300 support for
simultaneous motor starts, where the highest numbered motor
channel wouldn't move unless the number of motor channels
configured was one more than needed, has been fixed.
August 12, 2011 - RELEASE 5.10.01-5
Fix For Motor Sync Issue With spec Client
A bug, where a ^C on a spec
client could be ignored during a move of a motor on a
spec server, has been fixed. The issue only
occurred if the server had sent the client a
"sync_check" message that initiated a motor
discrepancy dialog on the client. (The bug was related to
improper settings of the keyboard-input modes after the
discrepancy dialog.)
Fix For Setting Certain MCA Parameters On Unresponsive Unit
The mca_par() commands
"auto_clear", "auto_run" and
"soft_preset" can now be used to set those modes on
MCA devices that are configured, but not responsive. In
particular, for the EPICS MCA (which isn't flagged as responsive
until all the registered connection events arrive), the
mca_par() commands can now be used immediately after
reading the config file. For example, the commands can be
included in the definition of config_mac, which will
generally execute before the EPICS MCA is fully connected.
Fix For EPICS MCA Polling During wait()
A bug, where EPICS events were not processed during a call of
wait() or wait(0) if the only EPICS
device that was busy was the EPICS MCA, has been fixed.
Fix For TANGO Commands
Implementation of data-array type conversions for
tango_put() input arguments has been completed.
Previously, if the type of the data array passed to
tango_put() didn't match TANGO's expected data type,
incorrect data could be sent. Also, a bug with the
tango_io() and tango_put() functions
with 64-bit spec builds, where incorrect values
were sent when converting elements of an input associative array
to TANGO long (32-bit) data types, has been fixed.
ser_par() "queue" Implemented For
TACO Serial Devices
The ser_par() "queue" option is now
implemented for the TACO serial device server.
July 1, 2011 - RELEASE 5.10.01-4
Fix For OMS Position Maintenance With Negative Encoder Ratio
A problem, where the Oregon Micro Systems position-
maintenance mode would not work if the encoder-step-size
parameter had the opposite sign of the standard step-size
parameter, has been fixed.
June 22, 2011 - RELEASE 5.10.01-3
Fix For Calculational Pseudomotors In Server Mode
A problem, where spec would get stuck
waiting for a move to finish in the seldom encountered
configuration of running in server mode with a calculational
pseudomotor (using the macro hardware feature) having an
associated real motor configured as controller type
NONE, has been fixed.
June 20, 2011 - RELEASE 5.10.01-2
Fix For GPIB-ENET Issues On ^C
An issue with some built-in hardware controlled over GPIB
using the National Instruments GPIB-ENET interface, where a
^C interrupt would lead to a breakdown in
communications with the GPIB-ENET, has been fixed.
June 6, 2011 - RELEASE 5.10.01-1
New move_info() Function
A new move_info() function returns information
about what would happen on a subsequent move_all
command given the current motor positions and current values in
the A[] array. The information returned can include
a list of motors that would be moved. See the new
move_info help page for
details.
New "Commanded" Motor Position Value Available With
read_motors()
spec now retains the value of the commanded
motor position passed to the move code via the motor position
A[] array. The value is retained to the full
precision specified, which can be higher precision than the
normal motor positions, which are rounded to the step size of the
motor. A new option to the built-in read_motors()
function will return this commanded position. If called as
read_motors(0x10), the commanded positions for all
motors will be placed in the A[] array. If called
as read_motors(0x10, mne), the
function will return the commanded position for motor
mne, leaving the A[] array
unchanged. The commanded position is set to the current
(rounded) position on start up, after hardware reconfiguration,
at the end of a homing operation, after hitting a limit, with a
chg_offset() command (called by the set
macro) and when a move is aborted by ^C or an
emergency stop.
Revised _mvr Macro Uses Commanded Position
The standard _mvr macro (used by
mvr and umvr) has been updated to use
the new commanded-position return value of
read_motors() to calculate the target position of
the relative move.
New encode() and decode() Functions
New built-in functions encode() and
decode() are available to convert between
spec data types and data-serialization formats
to aid in exchanging data with other processes. See the new
encode help file for details.
New Macro Hardware MCA Functionality
The macro hardware feature now includes support for MCA
devices, in addition to the existing support for motors and
counter/timers. See the
mac_hdw help file for details.
Restored Auto-Raise Functionality to X Window Plots
The focus-stealing-prevention functionality that has appeared
in window managers over the last years broke the auto-raise
feature of spec's X Window plots. With the
auto-raise feature enabled, hidden or partially hidden plot
windows rise to the top when spec updates the
plot. This release restores the auto-raise functionality. See
spec's
x11 help file for details on setting
plot window options.
Fix For Early Read Of Counters In Server Mode
In server mode, while waiting for command input,
spec will periodically issue calls to read the
active scalers and cache the values in order to be able to
respond to client requests for scaler values without needing to
access the hardware. Previously, as part of this procedure, the
counters would be read immediately after starting the time count
interval. Now, that first read won't occur immediately. The
change will be noticed particularly in the sequence of calls to
macro counter _cmd() functions.
Enhanced Support For 2D Associative Arrays With var
in Syntax
The syntax related to querying 2D associative arrays with a
known second element, as in
|