CaQtDM: a Qt-based EPICS display manager, status report Helge Brands, Anton Mezger, Paul Scherrer Institut At the Paul Scherrer Institut the new Qt-based.

Slides:



Advertisements
Similar presentations
IIIMF GUI Open Source Software Foundry
Advertisements

Wir schaffen Wissen – heute für morgen A.C.Mezger, Paul Scherrer Institut, Switzerland caQtDM, an EPICS display manager with Qt Paul Scherrer Institut.
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
FalconView In Linux (FalconViewLX)
Wir schaffen Wissen – heute für morgen caQtDM: a Qt-based EPICS display manager, status report Helge Brands, Anton Mezger, Paul Scherrer Institut At the.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Wir schaffen Wissen – heute für morgen A.C.Mezger An EPICS Display manager with Qt The EPICS display manager MEDM is a very powerful tool with many features.
Wir schaffen Wissen – heute für morgen A.C.Mezger An EPICS Display manager with Qt.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
John Sinclair Oak Ridge National Laboratory
EPICS Qt Update Paul Martin 1. Australian Synchrotron 3GeV, 216m circumference synchrotron 8 Beamlines 12 Software Engineers IMBL – Worlds Widest Beam.
Learning Outcomes At the end of this lesson, students should be able to: State the types of system software – Operating system – Utility system Describe.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Introduction to Silverlight. Slide 2 What is Silverlight? It’s part of a Microsoft Web platform called Rich Internet Applications (RIA) There is a service.
DIRAC Web User Interface A.Casajus (Universitat de Barcelona) M.Sapunov (CPPM Marseille) On behalf of the LHCb DIRAC Team.
Introduction Purpose This course describes the process of installing the KPIT GNU toolchain on your PC. Objective Learn how easy it is to get information.
John Daintree Chief Architect Dyalog Andy Shiers Chief Operations Officer Dyalog RIDE.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Chapter 4 System Software. Software Programs that tell a computer what to do and how to do it. Sets of instructions telling computers to perform actions.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS Oct EPICS Meeting, PAL, Korea Control System Studio Training.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Control System Studio (CSS) Overview Kay Kasemir, July 2009.
Prachi Chitnis.  The CSS feel  SDS – Synoptic Display Studio  ADL Converter  PV table, Probe…
Accelerator Physics SNS EPICS Integration with Web-based Technologies Presentation by Madhan Sundaram.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS Jan Control System Studio, CSS Overview.
CS 7: Introduction to Computer Programming Java and the Internet Sections ,2.1.
Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi.
Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills.
CSS – Control System Studio
Copyright © by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University.
EPICS Qt Fall Meeting October 2014 Saclay
QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Applications Kay Kasemir ORNL/SNS Using Information and pictures from Matthias Clausen, Jan Hatje, and Helge Rickens (DESY) October 2007.
Predrag Buncic (CERN/PH-SFT) Software Packaging: Can Virtualization help?
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
COMPARING CROSS-PLATFORM DEVELOPMENT APPROACHES FOR MOBILE APPLICATIONS Henning Heitkötter, Sebastian Hanschke and Tim A. Majchrzak Department of Information.
BOY, A Modern Graphical Operator Interface Editor and Runtime Xihui Chen, Kay Kasemir RAD Control Group.
Tango - Icalepcs 2009 ESRF. E Taurel - Icalepcs TANGO kernel status and evolution Brief introduction What's new since Icalepcs 2007 New projects.
WIR SCHAFFEN WISSEN – HEUTE FÜR MORGEN caQtDM: future use of a display manager Helge Brands, Anton Mezger :: Paul Scherrer Institut, Switzerland Spring.
ImageJ2. Why ImageJ2? ● Support the next generation of image data ● Interoperate and collaborate with other projects ● Broaden the ImageJ community ●
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
WebYaST Remote Web Based System Management
«Alfa-Avto: Mobile advisor»
Software Requirements
Android Mobile Application Development
Qt GUI and IDE development in EPICS
Operating System Concepts
OpenWells Cross-Platform Mobile Application
Chapter 18 MobileApp Design
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
CernVM Status Report Predrag Buncic (CERN/PH-SFT).
Web App vs Mobile App.
Introduction to Silverlight
Mobile Application Development with MeeGo™ - Programming with SDK
History Before designing web pages it is important to know how it all came about… History Channel – The Invention of the Internet Start at 17mins.
Chapter 4.
caQtDM: future use of a display manager
Alan Chalker and Eric Franz Ohio Supercomputer Center
Bring existing desktop apps to UWP with the Desktop Bridge
Control System Studio (CSS)
The Most Popular Android UI Automation Testing Tool Andrii Voitenko
05 | Desktop Applications
Web Application Development Using PHP
Presentation transcript:

caQtDM: a Qt-based EPICS display manager, status report Helge Brands, Anton Mezger, Paul Scherrer Institut At the Paul Scherrer Institut the new Qt-based EPICS display manager has successfully replaced the previous used display manager MEDM. Qt and therefore Qt-based applications  present many advantages like portability and usability over several platforms, independent of the underlying graphical layer, integration of new display objects by the Qt plugin mechanism and has its own extendable graphical design editor.   We will give a short explanation of the Qt-based systems, show the possibilities of our EPICS display manager and how the display manager can be used on different platforms. Moreover we will give some information about the EPICS-QT initiative and how several products can integrate into a single one.

Outline of the presentation Qt: a new system for writing graphic user interfaces. The Qt-Collaboration. caQtDM: our new display manager. caQtDM: features. caQtDM on IOS, problems to solve, startup of App, human interaction. Writing applications using caQtDM core libraries. adl2ui, the translator for converting MEDM files. Conclusion. Offline Demo on IPAD.

Qt: a new system for writing graphic user interfaces What is Qt: Qt is an application framework used for developing application software with a graphical user interface. Qt is open source, but enterprise licenses can be obtained for support. Qt is a cross platform framework, thus available for Desktop, Mobile and Embedded devices. Qt is widely used and programming techniques can be easily found (OOOH, Google, smurfs!). Qt provider is very reactive to new developments as well as to problems.

The Qt-Collaboration A new collaboration has been setup last year to develop new EpicsQt tools by: The Paul Scherrer Institute caQtDM display manager and graphical widgets the .adl to .ui conversion tool The Australian light source Australian display manager and epics aware widgets Lyncean technologies Science applications (Python) Both display managers can integrate the functionality of the other widget sets.

caQtDM: our new display manager caQtDM is an EPICS display manager written in C++ and using Qt as graphical user interface: caQtDM is PSI’s actual successor of MEDM caQtDM can be extended with other control systems (at PSI 3 CS were used simultaneously) caQtDM follows mainly the MEDM philosophy, Composite=Include files MEDM .adl files can be converted to .ui files with the adl2ui application caQtDM can be easily extended with other plugins (Australian lightsource) and with other widget sets.

caQtDM features caQtDM relies on the Qt-Designer for developing GUI’s modern open source as well as commercial tool powerful, reliable, plugin support for widgets. Resizing of displays fast and reproducible (fonts resize too !) Any custom widget can be integrated. Widget set is growing. Performance optimizations and use of multiple cores when available (waveforms with several 100 kpoints, images, waterfall plots) Libraries of caQtDM can be used to develop new Qt applications

caQtDM platform availability Qt is widely used for many platforms, i.e. caQtDM will run on these platforms too when EPICS is available: as of today: Linux’s, Windows, MacOS and IOS The PSI site for caQtDM allows to download the sources, as well as installation packages for Windows and MacOS. http://epics.web.psi.ch/software/caqtdm/ Why IOS: When constructing a new accelerator, it is important to be able to test the apparatus on the spot !! For IOS an App can be made available too and is already running on our Ipad’s (However can only be distributed when the application follows Apple’s rules and requirements. This has not yet been verified).

caQtDM on IOS : problems to solve Philosophy of Ipad/Iphone is different from a classical pc: It is a touch device only (no mouse) It has only access to its application sandbox For distribution, Apple licensing is necessary the application needs another approach for loading files and human interaction caQtDM has some extensions to account for these: All these extensions are actually developed with Qt-code and the latest version of Qt5.4 is necessary on IOS 10. However on Mac OSX and IOS some problems with EPICS still exist that have to be addressed by the core developers: disconnection of channels when the ipad is closed. (port closing?). Spurious disconnection and reconnection of channels.

caQtDM: Startup on IOS At startup a configuration file is loaded with information about http file server and configuration file, that can be changed by the user: <?xml version="1.0" encoding="UTF-8"?> <configuration> <url value="http://epics.web.psi.ch/software/caqtdm/qtDir"/> <config value="ProScan_MA85.config"/> <config value="HIPA_MA85.config"/> </configuration> The configuration file contains environment definitions, url display path, caQtDM display path and launcher file to be loaded. EPICS_CA_MAX_ARRAY_BYTES 150000000 EPICS_CA_AUTO_ADDR_LIST NO EPICS_CA_ADDR_LIST some_gateway EPICS_CA_SERVER_PORT 5062 CAQTDM_LAUNCHFILE launcher.ui CAQTDM_URL_DISPLAY_PATH http://epics.web.psi.ch/software/caqtdm/qtDir/Office CAQTDM_DISPLAY_PATH ../Documents All other ui files will be loaded from the server when needed !

caQtDM: human interaction on IOS Gestures have to be implemented for human interaction: Fingerswipe Gestures are implemented for closing windows and cycling through displays. TapAndHoldGesture is implemented for getting the context menu Other gestures for moving slider and for wheelswitch are default interactions given by Qt. Activ objects like sliders and wheelswitches have to be made big enough in order to be manipulated !! Otherwise your usual files are displayed without problems.

caQtDM class libraries for application development The class libraries can be used to write your own application with GUI support. Initialisation and display of ui file: MutexKnobData *data = new MutexKnobData(); MutexKnobDataWrapperInit(data); caQtDM_Lib *mainwindow = new caQtDM_Lib(this, uifile, macro, data); Mainwindow->show(); Adding own monitors: monitorIndex = mainwindow->addmonitor(mainwindow, &kdata, monitorName, this, specData, map, &pv); Controlsystem data: knobData *ptr = data->GetMutexDataPtr(monitorIndex); qDebug() << ptr->edata.rvalue << ptr->edata.units; A complete example can be found on our web site. http://epics.web.psi.ch/software/caqtdm/

adl2ui, the translator for converting MEDM files. Easy conversion of adl files to the new ui files, but files have to be checked! The widget ordering after conversion has some problems: Active widgets can be occulted by other objects. This can be changed in the designer. In Qt, the width of a text widget has to fit the text, but in MEDM the width is not always adjusted. MEDM caQtDM

Conclusion caQtDM replaced successfully MEDM, but not everything has yet been replaced; adl2ui gives good results. caQtDM has been extended with new features like images, waterfall plot, Led, table and wavetable caQtDM has been optimized for performance, so that cartesian plots with over 100’000 points can be used. caQtDM runs on many platforms including IOS, where still some problems have to be solved. caQtDM is continuously responding to the users requests and bugs finding !!! The Qt designer presents a good editor tool.

Thank you for your attention Acknowledgments: The authors of MEDM for their code. Elettra people for providing some widgets. Thank you for your attention and have a look at: http://epics.web.psi.ch/software/caqtdm/