2. Release Notes

2.1. Summary

This release includes the following artefacts:

  • Control UI Toolkit 3.0.0

And depends on the following:

  • ELT Development Environment (ELT DevEnv)

  • Middleware Abstraction Layer (CII MAL)

  • Common Integration Instructure Services (CII SRV)

  • Pointing Kernel (PTK)

  • Qt

  • PySide

  • Shiboken

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?

This release provides adds support for Qt6 and updates all documentation and examples to Qt6 version. At the same time, it introduces changes to wscripts and code to be version agnostic whenever possible, to avoid most of the tedious version changes search/replace tasks for futures versions.

2.1.2. What is the scope of this version?

Added support for Qt6.

The most important features of this release are:

Widgets

  • Angle Label

  • Dartboard

  • Led

  • State Widget

  • Detailed State Widget

  • RaDec Widget

  • OLDB Heartbeat

  • Notification Banner

  • Command Combo Box

  • Python Bindings

  • Qt Designer Plugins

Data Access

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

  • MAL Requests declarative support. Returns values: basic datatypes and void. Arguments: basic datatypes and void.

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. PySide

Python bindings for the Qt libraries. It is provided by Qt. It uses Shiboken 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. PTK

Pointing Kernel is the ELT library that provides positional astronomy routines.

https://gitlab.eso.org/ecos/ptk

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