Skip to content

Releases: DiamondLightSource/fastcs

0.15.0-beta.4

27 May 11:54

Choose a tag to compare

0.15.0-beta.4 Pre-release
Pre-release

Pre-release to test fastcs PR#383 with fastcs-catio controllers

Full Changelog: 0.15.0-beta.3...0.15.0-beta.4

0.15.0-beta.3

22 May 13:10

Choose a tag to compare

0.15.0-beta.3 Pre-release
Pre-release

Full Changelog: 0.14.0...0.15.0-beta.3

0.14.0

19 May 15:16
c80a13c

Choose a tag to compare

What's Changed

Full Changelog: 0.12.0...0.14.0

0.14.0-beta.2

07 May 13:06

Choose a tag to compare

0.14.0-beta.2 Pre-release
Pre-release

0.14.0-beta.1

06 May 16:14

Choose a tag to compare

0.14.0-beta.1 Pre-release
Pre-release

What's Changed

Full Changelog: 0.12.0...0.14.0-beta.1

0.12.0

09 Mar 11:47
afcbf45

Choose a tag to compare

Breaking Changes

  • EpicsCAIOC options parameter removed - The options parameter has been removed from EpicsCAIOC(pv_prefix, controller_api, options=...)
    • Pass EPICS options via the transport config instead.
  • AttrR.update() validates before calling callbacks - If validation fails, an error is logged and the value is not updated.
  • DATATYPE_DTYPES removed - Replaced by the DType union.
    • use DType instead.
  • bind_logger removed from public API - bind_logger has been removed
    • from fastcs.logging import bind_logger; bind_logger(...) -> from fastcs.logging import logger
  • ControllerVector is now generic on Controller_T
    • ControllerVector must now be parameterised with a specific Controller
  • add_on_update_callback(always=False) - always flag added to AttrR.add_on_update_callback to let callbacks fire even when the value hasn't changed. The default is now to not fire the callback if the value has not changed, the previous behaviour was always=True.

Fixes

  • AttrRW setpoint callbacks called with validated value - Sync setpoint callbacks in AttrRW now receive self._value (the validated value) rather than the raw input.
  • 2D+ Waveforms skipped in EPICS CA - Multi-dimensional waveforms are skipped (with a warning) in the EPICS CA transport rather than raising an error. This allows serving 2D waveforms in PVA alongside CA.

New Features

  • AttrR.wait_for_value / wait_for_predicate - New async methods on AttrR to block until an attribute reaches a target value or satisfies a custom predicate, with a timeout.
  • DataType.equal / DataType.all_equal - Static helper methods on all DataType subclasses to compare values correctly (e.g. using np.array_equal for array types).
  • DType union type - Replaces the old DATATYPE_DTYPES tuple. DType is a proper union type alias; DType_T is now TypeVar("DType_T", bound=DType).
  • Improved scan task handling / reconnect - Scan tasks are now paused on exception and can be restarted with Controller.reconnect, rather than requiring restarting the entire application.
    • Note: To make use of this overridden Controller.connect methods must now set self._connected = True, and Controller.reconnect should be implemented to restore the connection for scan tasks - by default reconnect will just start the scan tasks again
    • reconnect() can be called in the interactive shell, or a driver can implement a @scan method that checks for disconnect and automatically handles reconnection.
  • Logger uses file path and line numbers - Log messages now include source file path and line number for easier debugging.

Other

  • Package rename: FastCSfastcs

What's Changed

New Contributors

Full Changelog: 0.11.3...0.12.0

0.12.0a2

05 Mar 15:29
5fc0836

Choose a tag to compare

0.12.0a2 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: 0.12.0a1...0.12.0a2

0.12.0a1

22 Dec 14:32
aad1a85

Choose a tag to compare

0.12.0a1 Pre-release
Pre-release

What's Changed

Full Changelog: 0.11.3...0.12.0a1

0.11.3

02 Dec 10:41
db37f8b

Choose a tag to compare

What's Changed

Full Changelog: 0.11.2...0.11.3

0.11.2

01 Dec 14:43
1a11c3a

Choose a tag to compare

What's Changed

Full Changelog: 0.11.1...0.11.2