synApps 5.7 Release Notes

Version changes from R5-6 to R5-7

moduleold versionnew version highlights, comments
EPICS_BASE3.14.12.13.14.12.3  
ALLEN_BRADLEY2-22-2  
AREA_DETECTOR1-8beta11-9-1 systemic changes release notes
ASYN4-184-21 systemic changes release notes
AUTOSAVE4-85-1 bug fixes, configMenu release notes
BUSY1-41-6 minor changes release notes
CALC2-93-2
  • 80-character calc expressions
  • store operator (":=") in string and array calcs
  • sseq record moved from std to calc
  • acalcout records expression evaluator is now reentrant
  • release notes
CAMAC2-72-7  
DAC128V2-72-7  
DELAYGEN1-0-71-1-0 minor changes release notes
DEVIOCSTATS3-1-73-1-7  
DXP3-13-2 release notes
IP2-132-14 minor changes release notes
IP3302-72-7  
IPAC2-112-12  
IPUNIDIG2-92-9  
LOVE3-2-53-2-5  
MCA7-17-4 release notes
MEASCOMP-1-0 new module
MODBUS2-32-4 release notes
MOTOR6-76-8 release notes
OPTICS2-8-12-9-1 new XIA filter support release notes
QUADEM2-64-0 systemic changes release notes
SNCSEQ2-1-32-1-13 systemic changes
SOFTGLUE2-22-3 release notes
SSCAN2-72-9 release notes
STD3-13-2 release notes
STREAM2-5-12-6 StreamDevice 2.6
VAC1-41-4-1 release notes
VME2-82-8-1 release notes
XXX5-65-7-1 release notes

synApps 5.6 Release Notes

Version changes from R5-5 to R5-6

moduleold versionnew version highlights, comments
EPICS_BASE3.14.113.14.12.1  
ALLEN_BRADLEY090920092-2  
AREA_DETECTORsynApps_5_51-8beta1 systemic changes
ASYN4-134-18 systemic changes
AUTOSAVE4-64-8 systemic changes
BUSY1-31-4 minor changes
CALC2-82-9 minor changes
CAMAC2-62-7 minor changes
DAC128V2-62-7 minor changes
DELAYGEN1-0-51-0-7 minor changes
DEVIOCSTATS-3-1-7 new module
DXPsynApps_5_53-1 significant changes
IP2-102-13 minor changes
IP3302-62-7 minor changes
IPAC2-112-11 no changes
IPUNIDIG2-72-9 minor changes
LOVE3-2-43-2-5 minor changes
MCAsynApps_5_57-1 significant changes
MODBUS2-02-3 minor changes
MOTOR6-56-7 significant changes
OPTICS2-72-8-1 significant changes
QUADEM2-4-12-6 minor changes
SNCSEQ2-0-122-1-3 systemic changes
SOFTGLUE1-02-2 new module
SSCAN2-6-62-7 significant changes
STD2-83-1 significant changes
STREAM2-4-12-5-1 StreamDevice 2.5 (re-release from 9/19/2011) with minor modifications
VAC1-31-4 minor changes;
VME2-72-8 minor changes
VXSTATS1-7-2h1-7-2h deprecated, replaced by devIocStats
XXX5-55-6 significant changes

synApps 5.5.1 Release Notes

Version changes from R5-5 to R5-5-1

moduleold versionnew version
EPICS_BASE3.14.113.14.11 
ALLEN_BRADLEY0909200909092009 
AREA_DETECTORsynApps_5_51-6PerkinElmer, EPICS_AD_Viewer, marCCD (manual,TwoTheta, baseline stabilization), NDPluginStats, Bruker APEX2, FastSweep, new plugins, FindingAreaComponents
ASYN4-134-14asynPortDriver, testIPServerApp, vxi11, asynDriver(SyncIO, connection management)
AUTOSAVE4-64-7bug fix for array valued PV's
BUSY1-31-3 
CALC2-82-8 
CAMAC2-62-6 
DAC128V2-62-6 
DELAYGEN1-0-51-0-5 
DXPsynApps_5_53-0 
IP2-102-10 
IP3302-62-7 
IPAC2-112-11 
IPUNIDIG2-72-7 
LOVE3-2-43-2-4 
MCAsynApps_5_56-12-1mcaSISSupport.dbd changed to mcaSTR7201Support.dbd, docs, drvFastSweep
MODBUS2-02-0 
MOTOR6-56-5-1Aerotech Ensemble, OMS MAXv, OMS MAXnet
OPTICS2-72-7 
QUADEM2-4-12-4-1 
SNCSEQ2-0-122-0-12 
SOFTGLUE1-02-0load FPGA; Drag-And-Drop signal connect; name*, 0!, 1! syntax; interrupts; docs
SSCAN2-6-62-6-7bug fix: fly scans with no det triggers;
STD2-82-9 
STREAM2-4-120100615 
VAC1-31-3 
VME2-72-7 
VXSTATS1-7-2h1-7-2h 
XXX5-55-5-1 

Build notes

synApps 5.5 Release Notes

Version changes from R5-4-2 to R5-5

moduleold versionnew version
EPICS_BASE3.14.103.14.11
ALLEN_BRADLEY2-109092009
AREA_DETECTOR1-4synApps_5_5 (1-6 when tagged)
ASYN4-104-13
AUTOSAVE4-54-6
BUSY1-21-3
CALC2-6-72-8
CAMAC2-52-6
DAC128V2-42-6
DELAYGEN1-0-31-0-5
DXP2-9synApps_5_5 (3-0 when tagged)
IP2-92-10
IP3302-52-6
IPAC2-102-11
IPUNIDIG2-62-7
LOVE3-2-43-2-4
MCA6-11synApps_5_5 (6-12 when tagged)
MODBUS1-32-0
MOTOR6-4-36-5
OPTICS2-6-12-7
QUADEM2-42-4-1
SNCSEQ2-0-122-0-12
SOFTGLUE-1-0
SSCAN2-6-52-6-6
STD2-72-8
STREAM2-42-4-1
VAC1-21-3
VME2-62-7
VXSTATS1-7-2g1-7-2h
XXX5-45-5

synApps 5.4.2 Release Notes

Module changes from R5-4-1 to R5-4-2

SSCAN2-6-42-6-5

Minor improvements in utils/convertIocFiles, and utils/mdaExplorer

synApps 5.4.1 Release Notes

Module changes from R5-4 to R5-4-1

DELAYGEN1-0-21-0-3
MOTOR6-4-26-4-3
OPTICS2-62-6-1
SSCAN2-6-32-6-4

synApps 5.4 Release Notes

Module changes from R5-3 to R5-4

The most obvious change is that the directory in which you build synApps has changed from support/config to support. The support/config directory is no longer used. support/configure is now used instead.
ModuleR5-3R5-4
EPICS_BASE3.14.8.23.14.10
synApps modules
AREADETECTORN.A.1-4
AUTOSAVE4-44-5
BUSYN.A.1-2
CALC2-6-72-7
CAMAC2-52-5
CCD1-81-10
DAC128V2-42-4
DELAYGENN.A.1-0-2
DXP2-8-12-9
EBRICK2-2-22-2-3
IP2-82-9
IP_USEN.A.2-9
IP3302-52-5
IPUNIDIG2-52-6
LOVE3-2-33-2-4
MCA6-116-11
MODBUS1-21-3
MOTOR6-36-4-2
OPTICS2-62-6
PILATUS1-51-6
QUADEM2-42-4
SSCAN2-62-6-3
STD2-62-7
VAC1-11-2
VME2-52-6
Included non-synApps modules
ALLEN_BRADLEY2-12-1
ASYN4-64-10
GENSUB1-6aN.A.
IPAC2-82-10
SNCSEQ2-0-112-0-12
STREAM2-22-4
VXSTATS1-7-2e1-7-2g

Modules named '<name>_USE' are examples, split off from <name> to remove dependencies that are not needed when the modules are used only to provide support (and not to also implement an example of that support). For modules that do not have an example, see the xxx module.

areaDetector

New module

asyn

Switched from version 4.6 to 4.10

autosave

4.5

4.4

busy

1.2

New module

calc

2.7

camac

No changes

ccd

NOTE: This module is now obsolete and has been replaced by the areaDetector module.

1.10

1.9

dac128V

No changes

delaygen

New module

dxp

2.9

ebrick

ip

2.9

ip330

No changes

ipUnidig

2.6

love

3.2.4

mca

No changes

modbus

1.3

motor

6.4.3

Backlash after a new target position

A change in R6-4 prevented the motor from doing its' backlash move when a motor move was interrupted by a new target position. The user would see a "tdir" message in the iocsh and the motor would move to the target position minus the backlash distance.

Multiple STOP commands

A modification was made to prevent multiple STOP commands from occurring while the motor was decelerating to a stop.

6.4.2

OMS MAXv home switch status

Dirk Zimoch (PSI) fixed a bug in the OMS MAXv driver that caused the home switch status in the response string to be overwritten.

asyn motor

Matthew Pearson (Diamond) discovered a bug in the Newport XPS asyn motor port drive that was causing idle polling to interfere with setting positions and preventing auto save/restore from working. This fix was copied to the other asyn motor port drives in the motor record distribution; i.e., attocube ANC 150 (drvANC150Asyn.cc) and the motor simulator (drvMotorSim.c).

old device drive architecture

A problem was introduced in R6-4 (fixed in R6-4-2) of the old motor record device drive architecture. If during the move of one or more motors the motor task did not issue an OS delay during status updates, it could potentially not respond to any further motor commands.


6.4.2

64-bit compatiablity

Fixed 64 bit compile problems with the PI E816 and Aerotech Ensemble device drivers.

6.4.1

64-bit compatiablity

Fixed 64 bit compile problems with the PI E816 and Aerotech Ensemble device drivers.

6.4

Modifications to Existing Features

Stale SET position data from OMS VME58 controllers.

A problem with certain OMS VME58 firmware versions (2.24-8S and all 2.35 versions) has arisen since modifications made under R6-3. When the user sets the motor record's position, the previous target and readback positions are read from the controller on the next update. This occurs with the previous release (R6-3) because the "stale data delay" was changed from 10ms to zero for the drvOms58 driver.

With this release the driver searches all VME58 board ID's for either 2.24-8S or any 2.35 version. If any board is found with these versions, the "stale data delay" is set to a non-zero value for all VME58 boards in the system.

"tdir=" error messages

A problem was reported by Emma Shepherd (Diamond) with the previous release if the "Use RDBL Link" field (URIP) was set to "Yes". The NTM logic was sending stop commands and issuing the "tdir=.." message to the console if the RDBL link was used. This error was the result of changes to the NTM logic in R6-3.

With this release, the NTM logic is restored to using feedback rather than reference positions. In addition, an "NTM deadband factor" field (NTMF) is added to allow the user to set the NTM deadband as follows;

NTM deadband = NTMF * (|BDST| + RDBD)

NTMF must be >= 2. If properly configured, the NTM deadband prevents NTM logic from issuing a STOP command at the end of a DC motor move that overshoots its' target position.

Access Security Level changes

Major changes have been made to the Access Security Level (ASL) attribute of the motor record fields. With previous releases, the following fields were set to ASL=0; FOF, VOF, SSET, SUSE, VBAS, VMAX, SBAS, SMAX, UREV and MRES. All other fields were set to ASL=1 by default.

With this release, the policy is to set all the fields that the user requires to do the following to ASL = 0;

All other fields are set to ASL = 1.

This means that out of the list of fields that were previously set to ASL=0; VBAS, VMAX, SBAS, SMAX, UREV and MRES are now set to ASL=1.

OMS MAXv A24/A32 VMEbus addressing bug fix

Previous releases had a problem with the OMS MAXv device driver when it was configured for more than one board, and, either A24 or A32 addressing was specified. The driver was not sizing the address space occupied by each MAXv correctly.

asyn motor archtecture updates

  • Motor record GET_INFO commands were not supported by the asyn motor archtecture in previous releases.
  • A motor record bug was fixed that caused unscheduled retries to occur with asyn motor.
  • New Features

    Deferred moves for asyn motors

    The asyn motor framework now supports a flag to indicate that moves should be deferred. When at zero, moves proceed as normal. When set to one, moves should be deferred and remembered by the controller driver, but not executed immediately. When set back to zero, the controller driver should then start all the moves (or at least moves to the last requested demand positions) that have been deferred, as near to simultaneously as is possible for the particular model of controller. The flag is implemented per-controller, so all axes on a particular controller instance are affected, but axes on other controllers via the same driver are unaffected.

    It is the responsibility of the motor controller driver to actually provide such functionality, or to give an error if the parameter is not recognised. Currently the Newport XPS controller driver and the Delta Tau PMAC driver (in the tpmac module available from Diamond) support this.

    To use the flag, connect to any asyn port/addr combination on the controller, using the parameter "DEFER". e.g. for a bo record, use DTYP=asynUInt32Digital, OUT=@asynMask(port,1,1)DEFER, ZNAM="Go", ONAM="Defer"

    64-bit compatiablity

    Previous releases of the motor record distribution would not compile for 64-bit platforms. Numerous minor modifications were made for this release to attain 64-bit compatibility. Note that at the time of writing (03/14/08), this release was successfully compiled on a Linux Fedora Core 6 x86_64 host using gcc version 4.1.2, but there are bugs. Since EPICS base (R3.14.9) has not had all the bugs wrung out (Mantis ID's #309, #310), there are no immediate plans to debug 64-bit related problems.

    attocube systems AG ANC150

    Ron Sluiter added support for the attocube systems AG ANC150 Piezo Step Controller.

    Aerotech's Ensemble

    Chad Weimer (Aerotech) added support for Aerotech's Ensemble family of digital servo controllers.

    Physik Instrumente GmbH & Co. Model E-816

    John Hammonds added support of the Physik Instrumente (PI) GmbH & Co. E-816 motor controller.

    optics

    2.6.1

    pilatus

    1.6

    quadEM

    No changes

    sscan

    2.6.5

    2.6.4

    2.6.3

    2.6.2

    2.6.1

    std

    2.7

    stream

    Switched from 2.2 to 2.4

    utils

    vac

    1.2

    vme

    2.6

    vxStats

    No changes

    synApps 5.3 Release Notes

    Module changes from R5-2 to R5-3

    ModuleR5-2R5-3
    EPICS_BASE3.14.8.23.14.8.2
    ALLEN_BRADLEY2-12-1
    ASYN4-64-9 (eventually, 4-10)
    GENSUB1-6a1-6a
    IPAC2-82-8
    SNCSEQ2-0-112-0-11
    STREAM2-22-2 (intend to use 2-3 with patches)
    VXSTATS1-7-2e1-7-2e (f for EPICS 3.14.9)
    AUTOSAVE4-2-14-4
    CALC2-6-32-6-7
    CAMAC2-52-5
    CCD1-61-8
    DAC128V2-32-4
    DXP2-52-8-1
    EBRICK2-0-02-2-2
    IP2-72-8
    IP3302-42-5
    IPUNIDIG2-42-5
    LOVE3-2-33-2-3
    MCA6-96-11
    MODBUSNot used1-2
    MOTOR6-16-3 (eventually, 6-4)
    OPTICS2-5-22-6
    PILATUSNot used1-5
    QUADEM2-32-4
    SSCAN2-5-32-6
    STD2-5-42-6
    VACN.A.1-1
    VME2-4-52-5

    autosave

    Previously, the only way to specify which PV's were to be autosaved was to include PV names in a request file read by create_xxx_monitor_set(). Now, PV's can also be specified in the databases that are loaded into an ioc.

    Autosave reports its status to EPICS PV's if it can. If this behavior is not wanted, it can now be turned off with a function call.

    Autosave's status database now contains a PV that indicates directly whether or not the save_restore task is functioning.

    The calc engine in EPICS 3.14.9 regards an empty calc expression as an error. When autosave is asked to restore an empty calc expression, it restores the expression '0' instead, which has the same effect but is not treated as an error.

    A developer can now specify the file permissions for files that autosave writes. This doesn't work on all operating systems.

    After failing to write a .sav file, autosave will now retry after save_restoreRetrySeconds. Previously, autosave would retry a failed write only when the file system was remounted, otherwise waiting until the next time a save was triggered.

    If an error occurs while a .sav file is being written, that .sav file will not be copied to a sequence file.

    A save list can now get its file name at run time, from a PV that CA clients can change.

    See autosave/documentation/autoSaveRestore.html for more information on these changes.


    calc

    Previously, the calc module required the modules SSCAN, and GENSUB to build. Now the build adjusts itself to the modules that are available.

    The function, len(), was added to array calcs.

    Previously, the transform record would continue its operation when any of its input links propagated an error from the linked record. Now, the the user or database developer can choose whether or not to abort processing when this occurs.

    A new version of user transforms permits individual transform records to be disabled. (The standard set disables all or none.)

    The sCalcout and aCalcout records now honor alarms, and correctly implement the IVOA field. (Thanks to Peter Mueller).

    If an sCalcoutRecord link connects to a link field, or if the WAIT field is true, and the sCalcoutRecord's link does not have the attribute, 'CA', the record now complains to the ioc console. (Such a link cannot function as intended, but the record currently cannot fix the problem.)


    camac


    ccd

    This module is to be replaced by the areaDetector module.


    config

    dac128V

    documentation

    dxp

  • Updated code for DXP4C2X to work again. Based on X10P code from Handel 0.6.47. This makes the DXP4C2X compatible with the Saturn and the xMAP.
  • Changes in Handel code for Saturn to be compatible with Handel version 0.6.47. These are mostly minor. The most important changes are that the Saturn now supports "maxwidth" and "baseline_threshold" as acquisition parameters, so these are now specified in calibrated units (keV), rather than device units. The dxp record device support (devDxp.c) has been changed to take advantage of this. This change makes the Saturn compatible with the xMAP.
  • Updated documentation to explain how to use udev or hotplug to run the USB Saturn on Linux without root privilege. Added USB_DEVFS_PATH environment variable to iocSaturn/st.cmd to fix problem with libusb using /proc/bus/usb when it should be using /dev/bus/usb, and thus not getting permissions right.
  • Fixed problem with EraseAll not displaying the newly erased spectra.
  • This is the first release that builds the xMAP support from source code, rather than from a pre-built DLL from XIA. It uses Handel 0.6.47 from XIA with my modifications to make it work on all supported architectures.
  • Added support for USB 1.0 and USB 2.0 interfaces on Saturn, in addition to existing EPP support. These are supported on the WIN32, Cygwin, and Linux architectures. The following software must be installed on the IOC computer before the USB support will work.
  • Changed the default value of MAXWIDTH in the DXP record from 20 to 4, to be legal on xMAP.
  • Removed architecture specific DBD files and Makefile rules, requires asyn R4-9.
  • Enhancements and additions to 4 element detector ADL files.
  • dxp4c2x_psl.c (CAMAC module). Added support for all of the same parameters that the Saturn (x10p_psl.c) supports. With this enhancement the DXP2X now has the same EPICS interface as the Saturn.
  • dxpMED.st. Increased number of detectors to 32, bug fixes thanks to Dave Madden from SLS.

    ebrick

    ip

    Support for new devices:


    ip330

    ipUnidig

    Now builds for RTEMS and Linux.

    Now supports SBS IPOPTOIO8


    love

    mca

    SIS3820 now supported on Linux.

    Build option to use LLC sockets to communicate with Canberra AIM module. Currently, this works on vxWorks only.

    MCA record forces ACQG=>1 when acquisition is turned on. Without this, a short dwell time resulted in data never being read.

    Can read compressed or uncompressed data from Canberra.


    modbus

    New module.

    modbus supports EPICS communication with Programmable Logic Controllers (PLCs) via the Modbus protocol over TCP, serial RTU, and serial ASCII links. The modbus software provides a layer between standard EPICS asyn device support, and the EPICS asyn TCP/IP or serial port driver.


    optics

    New support for XIA PF4 filter/shutter

    Oxford 4-channel x-ray beam position monitor

    New support for an ASRP optical table


    pilatus

    New module: an enhanced EPICS interface to the Dectris Pilatus pixel-array detector.


    quadEM

    sscan

    Removed race conditions affecting callback counters, and added a mutex to protect them. Changed timing of when to renew positioner links from now-last_scan_start to now-last_scan_end.

    display_fields.adl uses new link-help displays from std R2.6

    The base name for files written by saveData can now be selected at run time by the user.

    The sscan record can now post array data to clients during a scan. By default, this capability is disabled, because it may confuse existing clients of the sscan record.

    If saveData fails to write or update a data file, it can now retry, as controlled by PV's.

    Previously, the standard scan and saveData records were combined into a single database, scan.db. Now, the preferred databases to load are standardScans.db (one or more copies), and saveData.db (one copy only).


    std

    The gpibRecord has been replaced by the asynRecord, which is loaded from the asyn module.

    New databases: alarmClock, autoShutter, countDownTimer, ramp_tweak, scaler16m

    The sseqRecord (string Sequence, a variant of the seq record in EPICS base) can now be told to abort the sequence it's executing.


    cvs log:

    stream

    utils

    New utilities to assist in conversion of an EPICS ioc directory from one version of EPICS to another. (See convertIocFiles.py)


    cvs log:

    vac

    New module to support various vacuum controllers.


    cvs log:

    vme

    vxStats

    xxx

    Many changes to support, comply with, or demonstrate new capabilities in other synApps modules.


    cvs log:


    synApps 5.2 Release Notes

    Module changes from R5-1-1 to R5-2

    ModuleR5-1-1R5-2
    EPICS_BASE3.14.73.14.8.2
    ALLEN_BRADLEY2-12-1
    ASYN4-2-14-6
    GENSUB1-61-6a
    IPAC2-82-8
    SNCSEQ2-0-102-0-11
    VXSTATS1-7-2c1-7-2e
    AUTOSAVE4-1-24-2-1
    CALC2-52-6-3
    CAMAC2-42-5
    CCD1-51-6
    DAC128V2-32-3
    DXP2-22-5
    EBRICKN.A.2-0-0
    IP2-62-7
    IP3302-32-4
    IPUNIDIG2-32-4
    LOVE3-0-13-2-3
    MCA6-56-9
    MOTOR5-66-1
    OPTICS2-4-12-5-2
    QUADEM2-22-3
    SSCAN2-5-12-5-3
    STD2-5-12-5-4
    VME2-4-12-4-4



    Module release notes


    autosave

    4.2.1

    4.2

    4.1.3


    calc

    2.6.3

    2.6.2

    2.6.1

    2.6


    camac

    2.5

    2.4


    ccd

    1.6


    dac128V


    dxp

    2.5

    2.4

    2.3


    ip

    2.7


    ip330

    2.4


    ipUnidig

    2.4


    love

    3.2.3

    minor changes:

    3.2.2

    minor changes:

    3.2.0

    significant architecture changes

    3.1.0

    significant architecture changes


    mca

    6.9

    6.8

    6.7

    6.6


    motor

    5.9.1

    6.1

    6.0

    5.9

    5.8

    5.7


    optics

    2.5.2

    2.5.1

    2.5


    quadEM

    2.3


    sscan

    2.5.3

    2.5.2


    std

    2.5.4

    2.5.3

    2.5.2


    utils


    vme

    2.4.4

    2.4.3

    2.4.2


    xxx

    5.2