SlideShare a Scribd company logo
1 of 30
WIR SCHAFFEN WISSEN – HEUTE FÜR MORGEN
caQtDM: PSI’s display manager
Helge Brands, Anton Mezger :: Paul Scherrer Institut, Switzerland
caQtDM presentation, APS, Argonne, USA, June 2018
 caQtDM: PSI’s new display manager, Version 4.2.1 (already presented
in Lundt, Sweden)
 Multiplatform capability
 A new world for .ui file loading using the web
 Multiple control system support through plugins
 Easy integration of new widgets using the cs interface
 Some recent new features
 Signals and Slots for various interactions
 Howto’s (things that are not just obvious or that you are aware of)
 Conclusion
Outline of the presentation
Page 2
 caQtDM is an EPICS display manager written in C++ and uses Qt as graphical
user interface:
 caQtDM is PSI’s actual successor of MEDM and follows its philosophy regarding
widget functionality. (MEDM manual is still a good reference to begin with)
 caQtDM has been developed as a modern display tool (C++, Qt, plugins)
 caQtDM has now many new features, that makes it very versatile
(multiplatform, multi-CS, easy integration of new widgets, web support,
parallelization of camera data conversion)
 caQtDM is very reactive to its users (bug fixes and features)
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 3
Multiplatform capability:
caQtDM runs on Linux's, MS windows, Mac OS X, iOS and Android. In principle on
any platform where you find Qt and EPICS.
 caQtDM has been tested with Qt4.8 to Qt5.8 with preferentially Qwt6.1.1
(multithreading support) and EPICS 3.14.12 (some users already build caQtDM
with EPICS 3.15, 3.16 and 7.0)
 caQtDM will use the local file system when not specified otherwise (for using a
web server use option –http)
 caQtDM will need on IOS or Android a WEB server in order to get its description
files (.ui). caQtDM will then come then with its start settings display.
caQtDM: PSI’s new display manager, V4.1.0
caQtDM presentation, APS, Argonne, USA, June 2018 Page 4
caQtDM: a new world for ui file loading using the web
 Standard usage is loading a local file: caQtDM [options] filename
 More and more files are located at a web server and versioning becomes
important, caQtDM has to account for this new way of life:
 Actually that is just the way caQtDM is implemented on our handheld
devices like tablets and phones.
 Therefore a natural extension using –httpconfig command line option
caQtDM: PSI’s new display manager, V4.1.0
caQtDM presentation, APS, Argonne, USA, June 2018 Page 5
file based:
• nfs/smb
• local environment
• command line
needed
http based:
• local view
• versioning
• encapsulated
config/environment
caQtDM: a new world for ui file loading using the web (implementation)
caQtDM has multiple ways to get files from a web server:
By using the option –url or the option –httpconfig.
Last option is default for handheld devices; caQtDM will popup with:
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 6
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 7
caQtDM: a new world for ui file loading using the web (implementation)
What is then needed on the file server:
• A config file specified in the start settings (example: Proscan_MA85.config)
• Following contents of config file:
EPICS_CA_MAX_ARRAY_BYTES 150000000
EPICS_CA_AUTO_ADDR_LIST NO
EPICS_CA_ADDR_LIST hipa-cagw02.psi.ch
EPICS_CA_SERVER_PORT 5062
CAQTDM_LAUNCHFILE launcherhipa.ui
CAQTDM_URL_DISPLAY_PATH http://epics.web.psi.ch/software/caqtdm/qtDir/Hipa
• Ui launchfile and other files in CAQTDM_URL_DISPLAY_PATH
Multiple control system support since version 3.9.4:
An effort was made to fully separate the display part from the data acquisition part
by introducing a plugin scheme for the control system support:
 Easy integration of other systems (databases, control systems, any data
source)
 Writing a plugin will not need new code in caQtDM and does not need a
rebuild.
Actual plugins: EPICS, BSREAD ( a beam synchronous data acquisition using  MQ),
EPICS4, channel access archive plugin and other more recent archive using https, a
demo plugin as simple example.
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 8
B
S
R
E
A
D
E
P
I
C
S
Any Plug-In
Example : use of archive data in caCartesian widget through the archive plugin
 Add in designer a channel as follows:
 For http and https:
archiveSF://channel.X;archiveSF://channel.Y
 For channel access:
archiveCA://channel.X; archiveCA://channel.Y
 Add in designer the following dynamic string properties:
(when missing, plugin will use defaults)
 secondsPast with value 3600 seconds
 secondsUpdate with value 10 seconds
 archiverIndex with value:
https::/data-api.psi.ch/sf/query for archiveSF
/gfa/archiver-data/archive_PRO_ST/index for archiveCA
 To use at other labs using a webserver, one could modify the method
«finishreply» in sfRetrieval.cpp
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 9
Example : use of archive data in caCartesian widget through the archive plugin
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 10
Easy Integration of new widgets (get a look at caLineDraw.cpp)
 gives the possibility of an easy integration of widgets, the control system can be
addressed from within a widget.
 The advantage is to give an user the possibility to integrate its own widget,
avoiding that he has to dig into the main code.
o Just populate the routines:
 caActivate to start data acquisition
 caDataUpdate to update the widget
 getWidgetInfo and createContextMenu for context info
o No write routine is implemented, but one could use signal and slots
 A simple demo widget has been integrated that can be used as template for
new widgets: caLineDraw. This widget is almost equivalent to caLineEdit, but
uses less CPU.
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 11
Some recent new features: (detailed in howto’s part)
 Piping gives the possibility to dynamically build ui files for display and pipe to
caQtDM.
 caCamera uses now multicore parallelism of calculations for converting a
waveform to an image and implements various camera formats: mono, rgb,
Bayer, YUV with all possible waveform datatypes)
 Internal macro strings are defined; for example $(CAQTDM_INTERNAL_UIPATH)
can be used for specifying shell script execution relativ to a found ui file.
 Added possibility to close channels instead of suspending channels in invisible
tabs (set environment variable CAQTDM_OPTIMIZE_EPICS3CONNECTIONS)
 Regex modification of macros
 More extensiv use of signals and slots:
maximize/minimize/close/reload window
transfer of values to other widgets
driving animations, hide and show widgets, positioning of widgets
set tabindex of tab widget
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 12
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 13
Howto’s : Signals and slots; window interaction) : designer edit signals/slots
As well as ctrl+ and ctrl- for increasing and decreasing window size, ctrl+R for
reload
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 14
Howto’s : Signals and slots; set index of QTabWidget/QStackedWidget
Example at startup
Define signal and slot from calc to tabwidget
Use caCalc with calculation
on first change
Example : start caQtDM with –macro index=2
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 15
Howto’s : Signals and slots; set index of QTabWidget/QStackedWidget
Example on variable or channel change
Define signal and slot from calc to tabwidget
caMessageButton writing value to
variable/channel caCalc emitting signal onAnyChange of
value
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 16
Howto’s : Signals and slots ; hide objects
unhidden hidden
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 17
Howto’s: signal and slots; animate objects: (use special calc property %QRECT)
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 18
Howto’s: signal and slots; camera widget, setting channels by cursor
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 19
Howto’s: signal and slots; camera widget, setting channels by cursor
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 20
Howto’s: animated gif against visibility:
One may overlap symbols and use visibility calc to show and hide according value;
this is the usual medm way, however:
Using an animated gif and using a frame value is more efficient and easier to
handle in the designer
Some vacuum symbols:
Some other symbols:
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 21
Howto’s: modify macro using regex substitution
Normal macro: IOC=$(NAME)
RegEx macro: IOC=$(NAME{"regex":"(-.+-|-(?=D)|-(?=P))","value":"-CPCW-"})
SLG-LCAM-C061 => SLG-CPCW-C061
SARBD01-DSCR050 => SARBD01-CPCW-DSCR050
SARES10-PSS055 => SARES10-CPCW-PSS055
This method simplifies long macro lists by using names that can be generated
through some simple rules and conventions.
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 22
Howto’s: add a menu to a window (use actions and signals)
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 23
Howto’s: display with externally defined positions and channels in cainclude
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 24
Howto’s: build and display a waveform from a multitude of channels
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 25
Howto’s: QTextBrowser in caQtDM can also display a html file from a webserver
Filesystem filename;
file will be watched
for changes (however
nfs …)
Url; file will be
copied at caQtDM
startup to temporary
cache
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 26
Howto’s: internal macro strings
$(CAQTDM_INTERNAL_UIPATH) can be used for specifying shell script execution
relatif to the used ui file.
caQtDM: PSI’s new display manager, V4.2.1
caQtDM presentation, APS, Argonne, USA, June 2018 Page 27
Howto’s:
Most of the examples shown here
can be found in the file tests.ui !
(in GIT)
Page 28
Wir schaffen Wissen – heute für morgen
Conclusion:
• caQtDM replaced successfully MEDM and follows the demands.
• caQtDM very mature now.
• caQtDM is well adapted to our needs for all synoptic views
• caQtDM is used on all possible platforms at PSI
Page 29
Wir schaffen Wissen – heute für morgen
My thanks go to
• The authors of
MEDM for their
powerful application
• All contributors for
their input and code
• All users for their
suggestions and bug
finding
caQtDM: PSI’s new display manager, V4.1.0
Spring 2016 EPICS Collaboration meeting, Lund, Sweden, May 2016 Page 30
 Thank you for your attention
and have a look at:
http://epics.web.psi.ch/software/caqtdm/
Downloads:
Linux: sources (you may also clone github/caqtdm or download a zip)
MS windows: binary installation package (msi)
Mac OS X: binary distribution package (dmg)
iOS : binary distribution package from apple store (iPad and iPhone)
Android : binary distribution package

More Related Content

Similar to caQtDM_Argonne.pptx

Pivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookPivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookVMware Tanzu
 
PGI Compilers & Tools Update- March 2018
PGI Compilers & Tools Update- March 2018PGI Compilers & Tools Update- March 2018
PGI Compilers & Tools Update- March 2018NVIDIA
 
Catia product enhancement_overview_v5r20
Catia product enhancement_overview_v5r20Catia product enhancement_overview_v5r20
Catia product enhancement_overview_v5r20Jimmy Chang
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuVMware Tanzu
 
Power Apps Component Framework - Dynamics Power! 365 Paris 2019
Power Apps Component Framework - Dynamics Power! 365 Paris 2019  Power Apps Component Framework - Dynamics Power! 365 Paris 2019
Power Apps Component Framework - Dynamics Power! 365 Paris 2019 Allan De Castro
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volutionQAware GmbH
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseC4Media
 
Yannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowYannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowMarynaHoldaieva
 
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...Lviv Startup Club
 
Add the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitAdd the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitIgalia
 
Ds white papers_caa_radebyexample
Ds white papers_caa_radebyexampleDs white papers_caa_radebyexample
Ds white papers_caa_radebyexampleTrần Đức
 
OpenACC Monthly Highlights: July 2020
OpenACC Monthly Highlights: July 2020OpenACC Monthly Highlights: July 2020
OpenACC Monthly Highlights: July 2020OpenACC
 
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...Anil Sharma
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookVMware Tanzu
 
Webinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python DriverWebinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python DriverDataStax Academy
 
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018Amazon Web Services
 
Multimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/futureMultimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/futurephiln2
 
OSDC 2018 | Katello: Adding content management to Foreman by Dirk Götz
OSDC 2018 | Katello: Adding content management to Foreman by Dirk GötzOSDC 2018 | Katello: Adding content management to Foreman by Dirk Götz
OSDC 2018 | Katello: Adding content management to Foreman by Dirk GötzNETWAYS
 
Pivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First LookPivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First LookVMware Tanzu
 

Similar to caQtDM_Argonne.pptx (20)

Pivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookPivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First Look
 
PGI Compilers & Tools Update- March 2018
PGI Compilers & Tools Update- March 2018PGI Compilers & Tools Update- March 2018
PGI Compilers & Tools Update- March 2018
 
Catia product enhancement_overview_v5r20
Catia product enhancement_overview_v5r20Catia product enhancement_overview_v5r20
Catia product enhancement_overview_v5r20
 
PyQt.pptx
PyQt.pptxPyQt.pptx
PyQt.pptx
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
 
Power Apps Component Framework - Dynamics Power! 365 Paris 2019
Power Apps Component Framework - Dynamics Power! 365 Paris 2019  Power Apps Component Framework - Dynamics Power! 365 Paris 2019
Power Apps Component Framework - Dynamics Power! 365 Paris 2019
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
 
Yannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowYannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflow
 
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
 
Add the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitAdd the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKit
 
Ds white papers_caa_radebyexample
Ds white papers_caa_radebyexampleDs white papers_caa_radebyexample
Ds white papers_caa_radebyexample
 
OpenACC Monthly Highlights: July 2020
OpenACC Monthly Highlights: July 2020OpenACC Monthly Highlights: July 2020
OpenACC Monthly Highlights: July 2020
 
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
 
Webinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python DriverWebinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python Driver
 
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
 
Multimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/futureMultimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/future
 
OSDC 2018 | Katello: Adding content management to Foreman by Dirk Götz
OSDC 2018 | Katello: Adding content management to Foreman by Dirk GötzOSDC 2018 | Katello: Adding content management to Foreman by Dirk Götz
OSDC 2018 | Katello: Adding content management to Foreman by Dirk Götz
 
Pivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First LookPivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First Look
 

Recently uploaded

Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...ssifa0344
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 

Recently uploaded (20)

The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 

caQtDM_Argonne.pptx

  • 1. WIR SCHAFFEN WISSEN – HEUTE FÜR MORGEN caQtDM: PSI’s display manager Helge Brands, Anton Mezger :: Paul Scherrer Institut, Switzerland caQtDM presentation, APS, Argonne, USA, June 2018
  • 2.  caQtDM: PSI’s new display manager, Version 4.2.1 (already presented in Lundt, Sweden)  Multiplatform capability  A new world for .ui file loading using the web  Multiple control system support through plugins  Easy integration of new widgets using the cs interface  Some recent new features  Signals and Slots for various interactions  Howto’s (things that are not just obvious or that you are aware of)  Conclusion Outline of the presentation Page 2
  • 3.  caQtDM is an EPICS display manager written in C++ and uses Qt as graphical user interface:  caQtDM is PSI’s actual successor of MEDM and follows its philosophy regarding widget functionality. (MEDM manual is still a good reference to begin with)  caQtDM has been developed as a modern display tool (C++, Qt, plugins)  caQtDM has now many new features, that makes it very versatile (multiplatform, multi-CS, easy integration of new widgets, web support, parallelization of camera data conversion)  caQtDM is very reactive to its users (bug fixes and features) caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 3
  • 4. Multiplatform capability: caQtDM runs on Linux's, MS windows, Mac OS X, iOS and Android. In principle on any platform where you find Qt and EPICS.  caQtDM has been tested with Qt4.8 to Qt5.8 with preferentially Qwt6.1.1 (multithreading support) and EPICS 3.14.12 (some users already build caQtDM with EPICS 3.15, 3.16 and 7.0)  caQtDM will use the local file system when not specified otherwise (for using a web server use option –http)  caQtDM will need on IOS or Android a WEB server in order to get its description files (.ui). caQtDM will then come then with its start settings display. caQtDM: PSI’s new display manager, V4.1.0 caQtDM presentation, APS, Argonne, USA, June 2018 Page 4
  • 5. caQtDM: a new world for ui file loading using the web  Standard usage is loading a local file: caQtDM [options] filename  More and more files are located at a web server and versioning becomes important, caQtDM has to account for this new way of life:  Actually that is just the way caQtDM is implemented on our handheld devices like tablets and phones.  Therefore a natural extension using –httpconfig command line option caQtDM: PSI’s new display manager, V4.1.0 caQtDM presentation, APS, Argonne, USA, June 2018 Page 5 file based: • nfs/smb • local environment • command line needed http based: • local view • versioning • encapsulated config/environment
  • 6. caQtDM: a new world for ui file loading using the web (implementation) caQtDM has multiple ways to get files from a web server: By using the option –url or the option –httpconfig. Last option is default for handheld devices; caQtDM will popup with: caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 6
  • 7. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 7 caQtDM: a new world for ui file loading using the web (implementation) What is then needed on the file server: • A config file specified in the start settings (example: Proscan_MA85.config) • Following contents of config file: EPICS_CA_MAX_ARRAY_BYTES 150000000 EPICS_CA_AUTO_ADDR_LIST NO EPICS_CA_ADDR_LIST hipa-cagw02.psi.ch EPICS_CA_SERVER_PORT 5062 CAQTDM_LAUNCHFILE launcherhipa.ui CAQTDM_URL_DISPLAY_PATH http://epics.web.psi.ch/software/caqtdm/qtDir/Hipa • Ui launchfile and other files in CAQTDM_URL_DISPLAY_PATH
  • 8. Multiple control system support since version 3.9.4: An effort was made to fully separate the display part from the data acquisition part by introducing a plugin scheme for the control system support:  Easy integration of other systems (databases, control systems, any data source)  Writing a plugin will not need new code in caQtDM and does not need a rebuild. Actual plugins: EPICS, BSREAD ( a beam synchronous data acquisition using  MQ), EPICS4, channel access archive plugin and other more recent archive using https, a demo plugin as simple example. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 8 B S R E A D E P I C S Any Plug-In
  • 9. Example : use of archive data in caCartesian widget through the archive plugin  Add in designer a channel as follows:  For http and https: archiveSF://channel.X;archiveSF://channel.Y  For channel access: archiveCA://channel.X; archiveCA://channel.Y  Add in designer the following dynamic string properties: (when missing, plugin will use defaults)  secondsPast with value 3600 seconds  secondsUpdate with value 10 seconds  archiverIndex with value: https::/data-api.psi.ch/sf/query for archiveSF /gfa/archiver-data/archive_PRO_ST/index for archiveCA  To use at other labs using a webserver, one could modify the method «finishreply» in sfRetrieval.cpp caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 9
  • 10. Example : use of archive data in caCartesian widget through the archive plugin caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 10
  • 11. Easy Integration of new widgets (get a look at caLineDraw.cpp)  gives the possibility of an easy integration of widgets, the control system can be addressed from within a widget.  The advantage is to give an user the possibility to integrate its own widget, avoiding that he has to dig into the main code. o Just populate the routines:  caActivate to start data acquisition  caDataUpdate to update the widget  getWidgetInfo and createContextMenu for context info o No write routine is implemented, but one could use signal and slots  A simple demo widget has been integrated that can be used as template for new widgets: caLineDraw. This widget is almost equivalent to caLineEdit, but uses less CPU. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 11
  • 12. Some recent new features: (detailed in howto’s part)  Piping gives the possibility to dynamically build ui files for display and pipe to caQtDM.  caCamera uses now multicore parallelism of calculations for converting a waveform to an image and implements various camera formats: mono, rgb, Bayer, YUV with all possible waveform datatypes)  Internal macro strings are defined; for example $(CAQTDM_INTERNAL_UIPATH) can be used for specifying shell script execution relativ to a found ui file.  Added possibility to close channels instead of suspending channels in invisible tabs (set environment variable CAQTDM_OPTIMIZE_EPICS3CONNECTIONS)  Regex modification of macros  More extensiv use of signals and slots: maximize/minimize/close/reload window transfer of values to other widgets driving animations, hide and show widgets, positioning of widgets set tabindex of tab widget caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 12
  • 13. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 13 Howto’s : Signals and slots; window interaction) : designer edit signals/slots As well as ctrl+ and ctrl- for increasing and decreasing window size, ctrl+R for reload
  • 14. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 14 Howto’s : Signals and slots; set index of QTabWidget/QStackedWidget Example at startup Define signal and slot from calc to tabwidget Use caCalc with calculation on first change Example : start caQtDM with –macro index=2
  • 15. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 15 Howto’s : Signals and slots; set index of QTabWidget/QStackedWidget Example on variable or channel change Define signal and slot from calc to tabwidget caMessageButton writing value to variable/channel caCalc emitting signal onAnyChange of value
  • 16. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 16 Howto’s : Signals and slots ; hide objects unhidden hidden
  • 17. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 17 Howto’s: signal and slots; animate objects: (use special calc property %QRECT)
  • 18. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 18 Howto’s: signal and slots; camera widget, setting channels by cursor
  • 19. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 19 Howto’s: signal and slots; camera widget, setting channels by cursor
  • 20. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 20 Howto’s: animated gif against visibility: One may overlap symbols and use visibility calc to show and hide according value; this is the usual medm way, however: Using an animated gif and using a frame value is more efficient and easier to handle in the designer Some vacuum symbols: Some other symbols:
  • 21. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 21 Howto’s: modify macro using regex substitution Normal macro: IOC=$(NAME) RegEx macro: IOC=$(NAME{"regex":"(-.+-|-(?=D)|-(?=P))","value":"-CPCW-"}) SLG-LCAM-C061 => SLG-CPCW-C061 SARBD01-DSCR050 => SARBD01-CPCW-DSCR050 SARES10-PSS055 => SARES10-CPCW-PSS055 This method simplifies long macro lists by using names that can be generated through some simple rules and conventions.
  • 22. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 22 Howto’s: add a menu to a window (use actions and signals)
  • 23. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 23 Howto’s: display with externally defined positions and channels in cainclude
  • 24. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 24 Howto’s: build and display a waveform from a multitude of channels
  • 25. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 25 Howto’s: QTextBrowser in caQtDM can also display a html file from a webserver Filesystem filename; file will be watched for changes (however nfs …) Url; file will be copied at caQtDM startup to temporary cache
  • 26. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 26 Howto’s: internal macro strings $(CAQTDM_INTERNAL_UIPATH) can be used for specifying shell script execution relatif to the used ui file.
  • 27. caQtDM: PSI’s new display manager, V4.2.1 caQtDM presentation, APS, Argonne, USA, June 2018 Page 27 Howto’s: Most of the examples shown here can be found in the file tests.ui ! (in GIT)
  • 28. Page 28 Wir schaffen Wissen – heute für morgen Conclusion: • caQtDM replaced successfully MEDM and follows the demands. • caQtDM very mature now. • caQtDM is well adapted to our needs for all synoptic views • caQtDM is used on all possible platforms at PSI
  • 29. Page 29 Wir schaffen Wissen – heute für morgen My thanks go to • The authors of MEDM for their powerful application • All contributors for their input and code • All users for their suggestions and bug finding
  • 30. caQtDM: PSI’s new display manager, V4.1.0 Spring 2016 EPICS Collaboration meeting, Lund, Sweden, May 2016 Page 30  Thank you for your attention and have a look at: http://epics.web.psi.ch/software/caqtdm/ Downloads: Linux: sources (you may also clone github/caqtdm or download a zip) MS windows: binary installation package (msi) Mac OS X: binary distribution package (dmg) iOS : binary distribution package from apple store (iPad and iPhone) Android : binary distribution package