epicsQt

EPICS Qt at GitHub

Introduction

Welcome to EPICS Qt at GitHub.

EPICS Qt is a layered framework based on Qt for accessing Experimental Physics and Industrial Control System (EPICS) data using Channel Access (CA) and PV Access (PVA). It has been designed for rapid development of control system graphical interfaces, initially developed at the Australian Synchrotron.

The EPICS Qt (QE) Framework can be used in three ways:

Note, there are many variations to the above, such as using another Integrated Development Environment like Eclipse, or developing new plugin widgets to implement desired functionality, then using those widgets within a code free GUI development.

Other documents you may be interested in are:

License

The EPICS QT Framework is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The EPICS QT Framework is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the EPICS QT Framework. If not, see https://www.gnu.org/licenses/.

Repository Structure

The repository structure is documented separately in structure.html.

Quick Road-map for Code Free GUI Development

Getting Started

This is documented separately in getting_started.html.

Release Notes

These are documented separately and are available here.

Environment Variables

There are two classes of environment variables, namely those that affect the building EPICS Qt and those that impact EPICS Qt at runtime. Both of these are documented separately in environment_variables.html.

Archiver Appliance (Optional)

Please visit EPICS Archiver Appliance support documentation.

PV Access Support

Please visit the PV Access support documentation for details.

PSI’s caQtDM Integration

Please visit the caQtDM integration documentation for details.

Andrew Rhyder’s Notes for Windows 10

For in house EPICS Qt Windows builds, we use the mingw compiler. However, EPICS Qt has been successfully built using MSVC. Please see Andrew Rhyder’s notes for details. This is somewhat old now, any contructive feed back is welcome.

Future Plans

In brief:

Qt6.4+

Update the EPICS Qt framework to build against later version of Qt.

PV Access

Update PV Access functionality to support all image formats. Currently we only support mono.

Feed Back and Collaboration

Please email: andrews@ansto.gov.au

Note: this is new e-mail address - the old synchrotron.org.au address is no more.

Credits

Developers

Andrew Ryder, Glenn Jackson, Anthony Owen, Ricardo Fernandes, Anton Maksimenko, Andraz Pozar, Andrew Starritt, Zai Wang.

3rd Party Software

Apart from EPICS base and Qt itself, the EPICS Qt framework uses the following:

The framework relies on QWT for plotting https://sourceforge.net/projects/qwt/.

To access the Channel Access Archive data, the framework relies on the maiaXmlRpcClient and support classes written by Frerich Raabe raabe@kde.org, Ian Reinhart Geiser geiseri@kde.org, Karl Glatz and Sebastian Wiedenroth wiedi@frubar.net.

When build with EPICS Archiver Appliance support, the EPICS Qt framework relies on Google Protocol Buffers https://developers.google.com/protocol-buffers/.

When built with MPEG support, the EPICS Qt framework relies on FFmpeg for reading MPEG image streams https://www.ffmpeg.org/.

The QEGui application can be built to support caQtDM (version 3 and after EPICS Qt release 3.7.2 will support version 4) widgets provided by The Paul Scherrer Institute. http://epics.web.psi.ch/software/caqtdm/.

Last updated: Sat Dec 21 14:24:10 2024