Skip to content

Releases: aquenos/ChimeraTK-ControlSystemAdapter-EPICS

Release 1.2.0

28 Nov 20:17
Compare
Choose a tag to compare

This is a feature release that introduces new functions and some improvements.

New features in this release:

  • The ChimeraTK::Bool and ChimeraTK::Void data types are now supported. (b3c43c5)

Improvements in this release:

  • The code is now compatible with EPICS Base 7.0.6. (61be676).
  • The initial value possibly set by the device side is no longer overwritten with an uninitialized value during the initialization of the control-system adapter. (8878421)
  • A bug that would sometimes cause the first write operation of an output record to fail has been fixed. (93b2ab0)
  • The initialization logic has been improved, so that when Autosave is used and the record’s PINI field is set to YES or RUNNING, the first write happens with the value restored by Autosave instead of the initial (typically zero) value provided by the device side. (ecb22a2)

Release 1.1.0

27 Apr 21:48
96256ab
Compare
Choose a tag to compare

This is a compatibility release that includes changes that are need in order to make the control-system adapter work with ChimeraTK DeviceAccess version 3.0.

Please note that this version of the EPICS control system adapter is not compatible with ChimeraTK DeviceAccess versions prior to 3.0 and that older versions of the EPICS adapter (version 1.0.0 and below) are not compatible with ChimeraTK DeviceAccess 3.0 (or newer).

Release 1.0.0

02 Mar 13:43
Compare
Choose a tag to compare

This release contains a number of bugfixes and new features.

Features:

  • Process variables of types int64 and uint64 and are now supported by both the ControlSystemAdapter and the DeviceAccess backends. Such process variables can be used with all records that support numeric types except for the aai and aao record.
  • Support for the int64in and int64out records has been added (when compiling against EPICS Base 3.16 or newer). Those record types are primarily useful for process variables of types std::int64_t and std::uint64_t, but they can be used with other numeric types as well.
  • Process variables of type string are now supported by both the ControlSystemAdapter and the DeviceAccess backends. Such process variables can be used with the aai, and aao records as well as with the newly introduced lsi, lso, stringin, and stringout records. Please refer to the documentation for details.
  • Mutiple input records can now be created for the same process variable without losing value updates when using the ControlSystemAdapter backend. This includes records that are polled (instead of using the I/O Intr mode), but setting SCAN to I/O Intr is still strongly recommended for input records using the ControlSystemAdapter backend.
  • Bidirectional process variables are now directly supported by output records (when using the ControlSystemAdapter backend). This means that if such a process variable is changed by the application side, the record's value is updated to reflect the new value coming from the device. This behavior can selectively be disabled on a per-record basis. Please refer to the documentation for details.
  • The ControlSystemAdapter backend now uses a new mechanism for receiving update notifications from the device. This mechanism is blocking, meaning that there is no need to periodically poll for changes any longer. For this reason, the update mechanism now has a smaller latency and is more efficient.

Bugfixes:

  • The backend for DeviceAccess had a bug that caused the both the success and the error callback to be called when there was an I/O error. This lead to problems with record processing in case of an error.
  • If an exception is thrown during record processing, the record is now marked with an INVALID severity and a READ_ALARM or WRITE_ALARM where before only an error message would be printed to the console without marking the record as invalid.
  • The DeviceAccess backend incorrectly signaled that I/O operations had finished synchronously, even when working in asynchronous mode. This could cause problems with record processing when using the asynchronous mode.
  • The DeviceAccess backend did not use version numbers (and thus time stamps) coming from DeviceAccess and created new version numbers instead. Now, the backend correctly passes the original version numbers to the record device support code.
  • The initialization routines for output records now correctly clear the initial INVALID alarm when the record's value can be initialized successfully.

Changes breaking backwards compatibility:

  • Due to the new notification mechanism, the syntax of the chimeraTKConfigureApplication IOC shell command has changed. This command now takes the application name as its single parameter, where before it would take the polling interval as a second parameter.
  • This release uses new APIs introduced in version 01.01.00 of ChimeraTK Device Access, so it will not compile against older versions of Device Access.

Release 0.3.0

02 Mar 12:14
Compare
Choose a tag to compare
Release 0.3.0 Pre-release
Pre-release
  • Change to build environment (new ChimeraTK-DeviceAccess version and name).
  • Necessary update for the recent changes in DeviceAccess and the ControlSystemAdapter:
    The TimeStamp class has been removed and its functionality is integrated into the VersionNumber class.

This release requires version 01.00.00 of the Control System Adapter core library.

Release 0.2.1

21 Jun 13:12
Compare
Choose a tag to compare
Release 0.2.1 Pre-release
Pre-release

This release fixes a problem when compiling an IOC using the device support on Linux.

Before this release, the IOC had to explicitly link to the ChimeraTK Control System Adapter and Device Access libraries, now the library provided by this device support already includes dependencies on these two libraries.

Release 0.2.0

23 Apr 08:45
Compare
Choose a tag to compare
Release 0.2.0 Pre-release
Pre-release

This release adds support for using ChimeraTK Device Access devices without having to explicitly write an application for the Control System Adapter.

As a side effect, the code that provides the bindings between ChimeraTK and EPICS has undergone a major overhaul, that also introduces a few changes when using this device support with a ChimeraTK Control System Adapter application:

  • Multiple records may now refer to the same process variable.
  • The application name specified in the chimeraTKConfigureApplication IOC shell command is now limited to ASCII letters, digits, and the underscore.
  • Process variable names must not contain the space or tab character.
  • The waveform record is not supported any longer. Please use the aai or aao record instead.

Release 0.1.0

28 Feb 10:45
Compare
Choose a tag to compare
Release 0.1.0 Pre-release
Pre-release

This is the first release of the EPICS-specific control-system adapter for ChimeraTK.

This release is intended for first experiments. It is not feature complete and it should not be considered production ready. Future versions might introduce changes that break both ABI and API compatibility.