caQtDM - a medm replacement based on QT

Table of Contents

1. Introduction

version 4.4.0 can be downloaded below

List of modifications for version 4.4.0

Windows MSI packages as well as an OSX package are available too. You will also find caQtDM on the Apple Store. For linux a build can be initiated with caQtDM_Build.

The EPICS display manager MEDM is a very powerful tool with many features and satisfies most of the needs for synoptic displays. However MEDM is based on MOTIF/Xt and X11, systems/libraries that are getting into age. Moreover applications using those systems are difficult to maintain and to extend. At PSI a new Qt based application was written (download below), reproducing the functionality of MEDM. Moreover a parser was written to convert the MEDM files into Qt files, the resulting displays being an exact reproduction of the MEDM displays.

It has to be noticed that the widgets used are not directly epics aware. The idea was to strictly separate the control system from the display part, in order to be able to add other controlsystems if necesssary (which is still the case for our high intensity particle accelerator).

An application is never finished and can always be improved and new things can be added. This is therefore also the case for caQtDM. The widgets could be improved, not everything has been finished and bugs will be found.

We consider this software as an open source software. Try it, use it and improve it. Yust give us your improvements and bug fixes back to us, so that we can integrate them.

The downloadable tar file contains all sources and build procedures. In the parser directory you will find the adl to ui converter.

The application itsself consists of an main programm (caQtDM) using the display class from a shared object library (libcaQtDM_Lib). The control widgets are given by the shared object library libqtcontrols.so or qtcontrols4.dll. The libraries have to be in the LD_LIBRARY_PATH for linux and for Windows you have to define the System path (you can also use scripts). For the designer and caQtDM the 3 plugin libraries have to be copied to the designer plugin directory.

While the display part is handled by the display class, you can build any application using this class with a designer developed ui file. The display class will take care of the controlsystem defined widgets. The other widgets you define like buttons or frames having to contain something you would like to define in your application can be handled (in order to use this feature contact the author)

caQtDM supports also .prc files. These files can be written by a text editor and are used at PSI. for their syntax take a look at some .prc files in directory caQtDM_tests.

Please give feedback if you are using it, found some bugs or made some additions

The application loads a stylesheet and ui files from the path defined by CAQTDM_DISPLAY_PATH or your actual directory. Inside the ui files a stylesheet can also be defined which is the case for the examples (one example proscanprobe.ui uses a different stylesheet given a different look as the other files). However many styles are defined by the widgets themselves and can not be modified

The following screen was created by using the file tests.ui. It contains all available epics related widgets of caQtDM.

Some more examples of caQtDM displays (click to enlarge):
example 1 example 2


2. Downloads and Tracker

Version 4.4.0 (for higher versions goto github and clone the development path)

This distribution contains all the sources. Of course you will have to install/compile Qt,Qwt,SSL and ZMQ first on your platform.

Installation Packages

The MS Windows and the Mac OS X distribution contain only binaries and you can immediately start to use it after installation. A bug and issue tracker: Issue Tracker for the caQtDM project

3. HowTo


Did you know that the core class of caQtDM can be used to write C++ applications in a quite easy way? You may design an user interface that can be used by the core class and you can introduce in your application then more data acquisition and intelligence. See the two examples given below:

probe scan: An application using caQtDM libraries
rf display: An application using caQtDM libraries

How to install and run caQtDM



4. Presentations

At APS they recorded a caQtDM Tutorial given by Jim Stevens and uploaded it to YouTube: https://www.youtube.com/watch?v=1vdSy0bsenI


5. List of Documented Modifications

4.2.0