2. Release Notes

2.1. Summary

This release includes the following artefacts:

  • Control UI Toolkit 2.3.1

And depends on the following:

  • ELT Development Environment (ELT DevEnv) v4.2.0

  • Middleware Abstraction Layer (CII MAL) v3.0.1

  • Common Integration Instructure Services (CII SRV) v3.0.1

  • Qt v5.15.2

  • PySide2 v5.15.2

  • Shiboken2 v5.15.2

  • ERFA v2.0.0

All dependencies are satisfied when using DevEnv. For the purpose of depency versions, CUT adapts to the versions delivered with DevEnv.

2.1.1. What is the purpose of this release?

The purpose of this release is to provide a working version of the basic widgets, and a Taurus plugin that allows connection of widgets to OLDB. Developers can use this version to:

  • follow introduction and basic tutorials, to get a feeling of how the Control UI Toolkit works.

  • familiare with concepts such as models, OLDB datapoints

2.1.2. What is the scope of this version?

To provide an early preview of the toolkit functionality. This release does not yet cover fully the Control UI Toolkit feature set.

Assets that are not yet delivered with this version are depicted without a colored frame. Assets that are part of this release, but are not feature-complete are depicted with an orange frame. Assets that are part of this release and also considered feature-complete are depicted with a green frame.

The most important features of this release are:

Widgets

  • DMS Label

  • HMS Label

  • Dartboard

  • Led

  • State Widget

  • Detailed State Widget

  • RaDec Widget

  • Python Bindings

  • Qt Designer Plugins

Data Access

  • OLDB read/write access, either using subscription or polling. All datatypes are supported.

Long Running Operations

  • Task module

Documentation

  • User Manual (this document)

  • Introduction to CUT

  • Application Example, Template and Tutorial

  • Widget Library Example, Template and Tutorial

  • API Documentation

2.1.3. Limitations and Constraints

This version provides the basic functionality to implement a GUI using the provided libraries. However, not all features are yet available or optimised.

  • Subscription to OLDB datapoints is done at the Taurus Attribute level, and not yet the Device level. The user needs to specify the complete URI to the datapoint. In the future, the user will be able to create a TaurusForm widget that list and subscribe automatically to every datapoints in a tree branch of the OLDB.

  • Matrix datapoint cannot write back to the OLDB. This is a bug, and will be fixed for next version.

Warning

Disclaimer

ESO does not warrant that the provided functions of the Control UI Toolkit will meet all requirements or that the operation of the components and libraries will be flawless. ESO does not ensure that solutions included in this version of the Control UI Toolkit are not subject to changes in future releases. The future upgrade to newer versions of Core Integration Infrastructure (CII) and adaptation to CCS development standards may introduce significant modifications to the actual interfaces and services. While every precaution has been taken in the development of the Control UI Toolkit software and in thepreparation of the documentation, ESO assumes no responsibility for errors or omissions, or for damage resulting from the use of the software or of the information contained in the documentation.

Note

The Control UI Toolkit is distributed outside ESO for the development of applications related to the ELT Project and ruled by the “General Conditions of ESO Contracts”. Any other use is not permitted without prior authorization from ESO. The rights of third party products, whose software is included for convenience in the development environment, are ruled by their copyright notice included in their software.

2.2. Dependencies

2.2.1. Development Environment ETL DevEnv

The ELT Linux Development Environment (DevEnv) comprises a collection of hardware, software procedures and tools for the developing, testing and debugging of software components for the ELT. It has to support large-scale and long-term maintenance of software.

Further information regarding the ELT Development Environment can be found here:

2.2.2. Core Integration Infrastructure CII

The Control UI Toolkit makes use of the CII MAL (Middleware Abstraction Layer) for examples services, and a currently under development Taurus plugin. The two main mechanisms used are request/reply and publish/subscribe.

In addition, this version also supports:

  • CII OLDB (Online Database)

2.2.3. Qt

Qt is a multiplatform graphical rendering library, used in an impressive array of open source projects. It provides a complete C++ framework, of which the Control UI Toolkit uses its graphical rendering libraries, and widgets.

https://www.qt.io/product/framework

2.2.4. PySide2

Python bindings for the Qt libraries. It is provided by Qt. It uses Shiboken2 as bindings generator.

https://wiki.qt.io/Qt_for_Python

2.2.5. Shiboken

Python bindings generator from Qt. It facilities the creation of Qt-based bindings through their highly reusable typesystem framework.

https://doc.qt.io/qtforpython/shiboken2/index.html

2.2.6. ERFA

Essential Routines for Fundamental Astronomy (ERFA) library is used to transform coordinates in some widgets.

https://github.com/liberfa/erfa

2.2.7. msgsend

The msgsend is a python application that provides communication with any MAL ICD defined interface. It is used by the Control UI Toolkit in the currently under development Taurus plugin to access MAL applications.

https://gitlab.eso.org/ccs/msgsend