SlideShare a Scribd company logo
1 of 8
Title: EPICSQt Design Specification
Document no: 11556
Revision no: 0.2
Date: 23 June 2010
Australian Synchrotron Company Limited
ABN 52 126 531 271
800 Blackburn Road, Clayton Victoria 3168, Australia
p +613 8540 4100 f +613 8540 4200
e info@synchrotron.org.au www.synchrotron.org.au
Prepared by: Name: Glenn Jackson
Title: Senior Control Systems Engineer
Date: 18 November 2008
Reviewed by: Name: Andrew Rhyder
Title: Senior Control Systems Engineer
Date: 18 November 2009
Approved by Name: Anthony Owen
Title: Control Systems Engineer
Date: 18 November 2009
EPICSQt Design Specification
Revision History
Revision Date Prepared by
0 18/11/2008 Glenn Jackson
0.2 13/11/2009 Glenn Jackson
Prepared by Description
Glenn Jackson Initial draft
Glenn Jackson Prepared document for CM
EPICSQt Design Specification
Table of Contents
1 Introduction................................
1.1 Purpose................................................................
1.2 Referenced documents ................................
1.2.1 Australian Synchrotron Documents
1.2.2 External Documents ................................
1.3 Scope ................................................................
1.3.1 Integrating the Qt Framework into EPICS
2 Australian Synchrotron Classes
2.1 AS Core EPICS Classes ................................
2.1.1 CaObject Class................................
2.1.2 QCaObject Class................................
2.2 AS Middle-Layer Classes ................................
2.2.1 QCaString ................................
2.2.2 QCaInteger................................
2.2.3 QCaFloat ................................
2.3 AS EPICS Application Layer Widgets
2.3.1 QCaLabel ................................
2.3.2 QCaLineEdit................................
2.3.3 QCaPushButton ................................
2.3.4 QCaSlider................................
2.3.5 QCaSpinBox ................................
2.3.6 QCaShape................................
2.3.7 GuiPushButton................................
2.3.8 CmdPushButton................................
2.3.9 QCaCombo ................................
2.3.10 ASguiForm ................................
2.4 AS IDE Design-Time Widgets
List of Figures
Figure 1 - Project Overview Diagram
List of Tables
Table 1 - Australian Synchrotron Qt Documentation
Table 2 - Design-Time Plug-ins
................................................................................................................................
................................................................................................
................................................................................................
stralian Synchrotron Documents ................................................................
................................................................................................
................................................................................................
Framework into EPICS ................................................................
Australian Synchrotron Classes...............................................................................................
................................................................................................
................................................................................................................................
................................................................................................
................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
AS EPICS Application Layer Widgets ................................................................
................................................................................................................................
................................................................................................................................
................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................
................................................................................................................................
................................................................................................................................
Time Widgets ................................................................................................
w Diagram ................................................................
Australian Synchrotron Qt Documentation..........................................................
ins.............................................................................................
................................1
..................................... 1
............................................ 1
..............................................................1
........................................................1
........................................ 1
.....................................................2
...............................3
........................................... 3
.................................3
..............................................................3
......................................... 3
.........................................3
........................................3
...........................................3
..................................................... 3
..........................................3
......................................4
...............................................................4
..........................................4
.....................................4
.........................................4
.................................4
...............................................................4
.......................................4
....................................4
.................................. 5
...................................................2
..........................2
.............................5
1 Introduction
EPICSQt is a combination
Channel Access (CA) API extended into the graphical QT framework using C++. It is designed for
rapid development of control system graphical interfaces.
Qt has been chosen by the Australian
(GUI) Framework for writing software applications including GUI applications for use at the Australian
Synchrotron. The control system currently in use at the Australi
Physics and Industry Control System (
standard tools for writing client applications to interact with the control system.
provide a quick way to monitor
is required. For example, more complex client
accomplished with Qt which would not be possible with EDM/MEDM.
address many requirements from the facility which may be more difficult or impossible to achieve
using EDM/MEDM.
The Qt Framework has been discussed
maintain a common code base across many synchrotron
Team is in the process of a common framework for use with EPICS control systems. This facility
should use a common code base for all Qt projects which will be provided
Synchrotron Controls Team. Section
with EPICS.
1.1 Purpose
The purpose of this document
1.2 Referenced documents
1.2.1 Australian Synchrotron Documents
ASP-ICS-2002-A EPICS Installation Procedure (Linux)
ASP-ICS-2002-B EPICS Installation Procedure (Windows™)
ASP-ICS-2009 Perforce Installation Procedure
AS-DOC-0302 Qt Installation Guide
AS-DOC-0303 Developer’s Guide to writing Qt
1.2.2 External Documents
Qt Software http://qt.nokia.com/
EPICS Software http://www.aps.anl.gov/epics/
EPICSQt Repository http://sourceforge.net/projects/epicsqt/
Perforce Software http://www.perforce.com/
EPICS APS http://www.epics.aps.com/
EPICS CA Manual http://epics.aps.anl.gov/epics/base/R3
1.3 Scope
The scope of this document is
GUI applications for the Australian Sy
available for using the Qt Framework at the Australian Synchrotron. The highlighted row indicates the
current document and how this document relates to the available
Document
Qt Requirements Specification
Qt Design Specification
Qt Installation Guide
EPICSQt is a combination of the Experimental Physics and Industrial Control System (EPICS)
Channel Access (CA) API extended into the graphical QT framework using C++. It is designed for
rapid development of control system graphical interfaces.
by the Australian Synchrotron as an officially supported Graphical User Interface
Framework for writing software applications including GUI applications for use at the Australian
Synchrotron. The control system currently in use at the Australian Synchrotron is
Physics and Industry Control System (EPICS). EPICS includes tools such as EDM and MEDM as the
for writing client applications to interact with the control system. In some cases
monitor and manipulate data, however, in many cases, additional functionality
For example, more complex client-side calculations on raw, incoming data can be
accomplished with Qt which would not be possible with EDM/MEDM. Qt is intended to be used to
requirements from the facility which may be more difficult or impossible to achieve
been discussed between several synchrotron labs. Although it is difficult to
maintain a common code base across many synchrotron facilities, the Australian Synchrotron Controls
a common framework for use with EPICS control systems. This facility
use a common code base for all Qt projects which will be provided
eam. Section 1.3 outlines the functionality available for use with integrating Qt
The purpose of this document is to define the Interface between the Qt GUI framework and EPICS.
Australian Synchrotron Documents
EPICS Installation Procedure (Linux)
EPICS Installation Procedure (Windows™)
Perforce Installation Procedure
Qt Installation Guide
Developer’s Guide to writing Qt-CA GUIs
http://qt.nokia.com/
http://www.aps.anl.gov/epics/
http://sourceforge.net/projects/epicsqt/
http://www.perforce.com/
http://www.epics.aps.com/
http://epics.aps.anl.gov/epics/base/R3-14/10-docs/CAref.html
The scope of this document is to address the Requirement Specification for writing and supporting
plications for the Australian Synchrotron(AS). The table below lists the documentation
available for using the Qt Framework at the Australian Synchrotron. The highlighted row indicates the
current document and how this document relates to the available AS Qt documentation.
CM Location Description
11555 Australian Synchrotron Qt GUI Requirements.
11556 Overview of the Qt-EPICS CA functionality.
11557 Installing Qt on Windows™ and Linux operating system.
of the Experimental Physics and Industrial Control System (EPICS)
Channel Access (CA) API extended into the graphical QT framework using C++. It is designed for
Graphical User Interface
Framework for writing software applications including GUI applications for use at the Australian
an Synchrotron is the Experimental
tools such as EDM and MEDM as the
In some cases, it can
late data, however, in many cases, additional functionality
side calculations on raw, incoming data can be
is intended to be used to
requirements from the facility which may be more difficult or impossible to achieve
. Although it is difficult to
facilities, the Australian Synchrotron Controls
a common framework for use with EPICS control systems. This facility
use a common code base for all Qt projects which will be provided by the Australian
available for use with integrating Qt
amework and EPICS.
docs/CAref.html
to address the Requirement Specification for writing and supporting
. The table below lists the documentation
available for using the Qt Framework at the Australian Synchrotron. The highlighted row indicates the
AS Qt documentation.
Description
Australian Synchrotron Qt GUI Requirements.
EPICS CA functionality.
Installing Qt on Windows™ and Linux operating system.
EPICSQt Design Specification
Document
Qt Developers Guide
API Reference Manual
Table
1.3.1 Integrating the Qt Framework into
Section 2 Australian Synchrotron Classes
represented in the diagram. The EPICS Community
and EDM/MEDM screens. Qt provides the GUI Framework required for bu
Linux. The four main objectives of this project
• QCaObject will make available required aspects of the EPICS C Reference Library to C++ and Qt.
• QCa widgets will enable Qt Widgets to be
• User interface definitions will be written to standardise the appearance and base features of all
Australian Synchrotron GUIs. This will be used as the template base form for creating
GUIs.
• An ASGui example application
CA aware widgets to be viewed by users
CM Location Description
11554 Developing Qt GUIs for use in the facility.
AS Doxygen Server Open-source code available for Qt
Table 1 - Australian Synchrotron Qt Documentation
Integrating the Qt Framework into EPICS
Australian Synchrotron Classes of this document provides the details of each of the classes
EPICS Community provides the C Reference Library, Channel Access
and EDM/MEDM screens. Qt provides the GUI Framework required for building software under Windows and
main objectives of this project are:
will make available required aspects of the EPICS C Reference Library to C++ and Qt.
enable Qt Widgets to be EPICS Channel Access aware.
will be written to standardise the appearance and base features of all
Australian Synchrotron GUIs. This will be used as the template base form for creating
application will be written in Qt. This will allow User Interface definitions including
CA aware widgets to be viewed by users.
Figure 1 - Project Overview Diagram
Description
Developing Qt GUIs for use in the facility.
source code available for Qt-EPICS CA API.
of this document provides the details of each of the classes
provides the C Reference Library, Channel Access (CA)
ilding software under Windows and
will make available required aspects of the EPICS C Reference Library to C++ and Qt.
will be written to standardise the appearance and base features of all
Australian Synchrotron GUIs. This will be used as the template base form for creating facility-wide
allow User Interface definitions including
EPICSQt Design Specification
2 Australian Synchrotron
2.1 AS Core EPICS Classes
The CaObject and QCaObject as well as other supporting classes will be responsible for making the
EPICS C Reference Library available in C++.
2.1.1 CaObject Class
The CaObject base class will provide
While available to the developer, it
based QCaObject class. It will be
While the CaObject class will hide
simplify CA access. All CA call
encapsulated in the ‘generic’ class th
stored in the native CA record.
2.1.2 QCaObject Class
The QcaObject class will provide
such as link status, connections and channels.
CaObject class. Data can be written using
status information as required. Qt data types
data.
2.2 AS Middle-Layer Classes
The QCaObject class will send and receive
sources of data require a specific
Middle layer classes provide wrappers for the QCaO
type.
2.2.1 QCaString
The QCaString class will be a s
string data regardless of the underlying EPICS data.
representation of EPICS data i
2.2.2 QCaInteger
QCaInteger will be the integer specific wrapper for
data regardless of the underlying EPICS data.
of EPICS data is required. For example, a slider control
2.2.3 QCaFloat
The QCaFloat class will be a float specific wrapper for
write float data regardless of the underlying EPICS data.
representation of EPICS data is r
2.3 AS EPICS Application Layer Widgets
Widget classes will be provided to allow CA aware controls to be added to a GUI.
2.3.1 QCaLabel
A CA aware Label Widget will be
Australian Synchrotron Classes
Object and QCaObject as well as other supporting classes will be responsible for making the
EPICS C Reference Library available in C++.
will provide a C++ wrapper around the EPICS Channel Access (
While available to the developer, it will be written mainly to provide a level of abstraction within the Qt
will be recommended to be used where a Qt framework is not av
will hide little CA functionality, it will use object oriented techniques to
simplify CA access. All CA call-backs will be routed through a single pure virtual function. Data
encapsulated in the ‘generic’ class that provides functions for extracting and interpreting the data
stored in the native CA record.
will provide full access to EPICS data while hiding most CA specific functionality
such as link status, connections and channels. The QcaObject class will add Qt functionali
CaObject class. Data can be written using Qt slots and Qt signals which will be avai
status information as required. Qt data types will be used directly, or as the base class for all EPICS
lasses
ct class will send and receive data in the form of a QtVariant. Many consumers or
specific data type and will not be able to interpret every EPICS data type.
Middle layer classes provide wrappers for the QCaObject to convert the data to and
a string wrapper for QCaObject variant data. This class will read or write
string data regardless of the underlying EPICS data. This class will be used when a textual
tion of EPICS data is required. For example, a text-edit control widget.
nteger specific wrapper for QCaObject. This class will read or writ
ss of the underlying EPICS data. This class will be used when an integer representation
of EPICS data is required. For example, a slider control widget.
The QCaFloat class will be a float specific wrapper for QCaObject variant data. This class will read or
write float data regardless of the underlying EPICS data. This class will be used when a float
representation of EPICS data is required. For example, a text-edit control widget.
EPICS Application Layer Widgets
provided to allow CA aware controls to be added to a GUI.
will be inherited from the standard Qt Label Widget.
Object and QCaObject as well as other supporting classes will be responsible for making the
EPICS Channel Access (CA) Library.
written mainly to provide a level of abstraction within the Qt
recommended to be used where a Qt framework is not available.
use object oriented techniques to
routed through a single pure virtual function. Data will be
at provides functions for extracting and interpreting the data
full access to EPICS data while hiding most CA specific functionality
Qt functionality to the
available for data and
used directly, or as the base class for all EPICS
data in the form of a QtVariant. Many consumers or
every EPICS data type.
bject to convert the data to and from one specific
This class will read or write
used when a textual
This class will read or write integer
used when an integer representation
This class will read or
This class will be used when a float
provided to allow CA aware controls to be added to a GUI.
EPICSQt Design Specification
2.3.2 QCaLineEdit
A CA aware Line Edit Widget
2.3.3 QCaPushButton
A CA aware Push Button Widget
2.3.4 QCaSlider
A CA aware Slider Widget will be
2.3.5 QCaSpinBox
A CA aware Spin-box Widget
2.3.6 QCaShape
A CA aware Shape Widget will be
2.3.7 GuiPushButton
A push button, based on the standard Qt Push Button Widget,
Widget.
2.3.8 CmdPushButton
A push button, based on the standard Qt Push Button Widget,
command.
2.3.9 QCaCombo
A CA aware Combo-box Widget
2.3.10 ASguiForm
A Form Widget, based on the standard Qt Form
will be inherited from the standard Qt Line Edit Widget
A CA aware Push Button Widget will be inherited from the standard Qt PushButton Widget.
will be inherited from the standard Qt Slider Widget.
will be inherited from the standard Qt Spin-box Widget.
will be inherited from the standard Qt Shape Widget.
A push button, based on the standard Qt Push Button Widget, will be used to open a new
A push button, based on the standard Qt Push Button Widget, will be used to run
x Widget will be based on the standard Qt Combo Box Widget.
on the standard Qt Form widget, will be able to read in a Qt User Interface file
inherited from the standard Qt Line Edit Widget.
inherited from the standard Qt PushButton Widget.
ox Widget.
used to open a new ASguiForm
used to run an operating system
on the standard Qt Combo Box Widget.
read in a Qt User Interface file.
EPICSQt Design Specification
2.4 AS IDE Design-Time Widgets
All new Widgets specified in this design
within the Qt Designer application, or by any other application that
Available design-time plug-ins are as follows:
IDE Plug-in
QCaLabelPlugin
QCaLineEditPlugin
QCaPushButtonPlugin
GuiPushButtonPlugin
CmdPushButtonPlugin
QCaShapePlugin
QCaSliderPlugin
QCaSpinBoxPlugin
QCaComboBoxPlugin
ASguiFormPlugin
Time Widgets
specified in this design will have plug-in wrappers to allow the widgets to be used
within the Qt Designer application, or by any other application that will use a Qt plug
ins are as follows:
in Base Widget
QCaLabelPlugin QCaLabel
QCaLineEditPlugin QCaLineEdit
QCaPushButtonPlugin QCaPushButton
GuiPushButtonPlugin GuiPushButton
CmdPushButtonPlugin CmdPushButton
QCaShapePlugin QCaShape
QCaSliderPlugin QCaSlider
QCaSpinBoxPlugin QCaSpinBox
QCaComboBoxPlugin QCaComboBox
ASguiFormPlugin ASguiForm
Table 2 - Design-Time Plug-ins
wrappers to allow the widgets to be used
plug-in.

More Related Content

Similar to Epics Qt design specification

Documentation - Element and ElementVector
Documentation - Element and ElementVectorDocumentation - Element and ElementVector
Documentation - Element and ElementVectorMichel Alves
 
Using Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross DevelopmentUsing Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross DevelopmentGiacomo Antonino Fazio
 
Evaluation of Real-Time Communication in IoT Services by WebRTC
Evaluation of Real-Time Communication in IoT Services by WebRTCEvaluation of Real-Time Communication in IoT Services by WebRTC
Evaluation of Real-Time Communication in IoT Services by WebRTCChandan Sarkar
 
PEPPOL eInvoicing Pilot Specifications
PEPPOL eInvoicing Pilot SpecificationsPEPPOL eInvoicing Pilot Specifications
PEPPOL eInvoicing Pilot SpecificationsFriso de Jong
 
Project final report
Project final reportProject final report
Project final reportALIN BABU
 
Product description vital qip next generation v7 2_en_feb09(1)
Product description vital qip next generation v7 2_en_feb09(1)Product description vital qip next generation v7 2_en_feb09(1)
Product description vital qip next generation v7 2_en_feb09(1)Roy Muy Golfo
 
Bsis planning guidelines_and_design_standards_10-10-07
Bsis planning guidelines_and_design_standards_10-10-07Bsis planning guidelines_and_design_standards_10-10-07
Bsis planning guidelines_and_design_standards_10-10-07DrAleksandarSimic
 
Software requirements specifications wp2
Software requirements specifications wp2Software requirements specifications wp2
Software requirements specifications wp2ambitlick
 
User manual for Well Plotter 1.0
User manual for Well Plotter 1.0User manual for Well Plotter 1.0
User manual for Well Plotter 1.0HydroOffice.org
 
Specification skt cna ssx2-rc 20160821
Specification skt cna ssx2-rc 20160821Specification skt cna ssx2-rc 20160821
Specification skt cna ssx2-rc 20160821Junho Suh
 
Orangescrum Time Log Gold add-on User Manual
Orangescrum Time Log Gold add-on User Manual Orangescrum Time Log Gold add-on User Manual
Orangescrum Time Log Gold add-on User Manual Orangescrum
 
Version 2 1 interface SIP FFTelecoms pour interconnexion voix (version clean)
Version 2 1 interface SIP FFTelecoms pour interconnexion voix (version clean)Version 2 1 interface SIP FFTelecoms pour interconnexion voix (version clean)
Version 2 1 interface SIP FFTelecoms pour interconnexion voix (version clean)Fédération Française des Télécoms
 
Core i7-900-ee-and-desktop-processor-series-32nm-datasheet-vol-1
Core i7-900-ee-and-desktop-processor-series-32nm-datasheet-vol-1Core i7-900-ee-and-desktop-processor-series-32nm-datasheet-vol-1
Core i7-900-ee-and-desktop-processor-series-32nm-datasheet-vol-1ahanan1
 
AVD & FDS Proposal
AVD & FDS ProposalAVD & FDS Proposal
AVD & FDS ProposalTeam 02
 
AdvFS Storage allocation/reservation
AdvFS Storage allocation/reservationAdvFS Storage allocation/reservation
AdvFS Storage allocation/reservationJustin Goldberg
 

Similar to Epics Qt design specification (20)

Documentation - Element and ElementVector
Documentation - Element and ElementVectorDocumentation - Element and ElementVector
Documentation - Element and ElementVector
 
Using Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross DevelopmentUsing Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross Development
 
Evaluation of Real-Time Communication in IoT Services by WebRTC
Evaluation of Real-Time Communication in IoT Services by WebRTCEvaluation of Real-Time Communication in IoT Services by WebRTC
Evaluation of Real-Time Communication in IoT Services by WebRTC
 
Ateji PX manual
Ateji PX manualAteji PX manual
Ateji PX manual
 
PEPPOL eInvoicing Pilot Specifications
PEPPOL eInvoicing Pilot SpecificationsPEPPOL eInvoicing Pilot Specifications
PEPPOL eInvoicing Pilot Specifications
 
Project final report
Project final reportProject final report
Project final report
 
Product description vital qip next generation v7 2_en_feb09(1)
Product description vital qip next generation v7 2_en_feb09(1)Product description vital qip next generation v7 2_en_feb09(1)
Product description vital qip next generation v7 2_en_feb09(1)
 
Bsis planning guidelines_and_design_standards_10-10-07
Bsis planning guidelines_and_design_standards_10-10-07Bsis planning guidelines_and_design_standards_10-10-07
Bsis planning guidelines_and_design_standards_10-10-07
 
Software requirements specifications wp2
Software requirements specifications wp2Software requirements specifications wp2
Software requirements specifications wp2
 
User manual for Well Plotter 1.0
User manual for Well Plotter 1.0User manual for Well Plotter 1.0
User manual for Well Plotter 1.0
 
Specification skt cna ssx2-rc 20160821
Specification skt cna ssx2-rc 20160821Specification skt cna ssx2-rc 20160821
Specification skt cna ssx2-rc 20160821
 
Orangescrum Time Log Gold add-on User Manual
Orangescrum Time Log Gold add-on User Manual Orangescrum Time Log Gold add-on User Manual
Orangescrum Time Log Gold add-on User Manual
 
Connector python-en.a4
Connector python-en.a4Connector python-en.a4
Connector python-en.a4
 
Version 2 1 interface SIP FFTelecoms pour interconnexion voix (version clean)
Version 2 1 interface SIP FFTelecoms pour interconnexion voix (version clean)Version 2 1 interface SIP FFTelecoms pour interconnexion voix (version clean)
Version 2 1 interface SIP FFTelecoms pour interconnexion voix (version clean)
 
Core i7-900-ee-and-desktop-processor-series-32nm-datasheet-vol-1
Core i7-900-ee-and-desktop-processor-series-32nm-datasheet-vol-1Core i7-900-ee-and-desktop-processor-series-32nm-datasheet-vol-1
Core i7-900-ee-and-desktop-processor-series-32nm-datasheet-vol-1
 
AVD & FDS Proposal
AVD & FDS ProposalAVD & FDS Proposal
AVD & FDS Proposal
 
Amcrest cgi sdk_api_3
Amcrest cgi sdk_api_3Amcrest cgi sdk_api_3
Amcrest cgi sdk_api_3
 
thesis
thesisthesis
thesis
 
thesis
thesisthesis
thesis
 
AdvFS Storage allocation/reservation
AdvFS Storage allocation/reservationAdvFS Storage allocation/reservation
AdvFS Storage allocation/reservation
 

More from Robert-Emmanuel Mayssat

CSS alarm Handler (BEAST) at the EPICS Collaboration meeting 2010
CSS alarm Handler (BEAST) at the EPICS Collaboration meeting 2010CSS alarm Handler (BEAST) at the EPICS Collaboration meeting 2010
CSS alarm Handler (BEAST) at the EPICS Collaboration meeting 2010Robert-Emmanuel Mayssat
 
Honeywell - Alarm management standards taken seriously
Honeywell - Alarm management standards taken seriouslyHoneywell - Alarm management standards taken seriously
Honeywell - Alarm management standards taken seriouslyRobert-Emmanuel Mayssat
 
Sample Beamline Scientist Job Description
Sample Beamline Scientist Job DescriptionSample Beamline Scientist Job Description
Sample Beamline Scientist Job DescriptionRobert-Emmanuel Mayssat
 
The New Soft-IOC Based alarm handler at the SNS
The New Soft-IOC Based alarm handler at the SNSThe New Soft-IOC Based alarm handler at the SNS
The New Soft-IOC Based alarm handler at the SNSRobert-Emmanuel Mayssat
 
BEST, the CSS Alarm Handler - Performance Testing
BEST, the CSS Alarm Handler - Performance TestingBEST, the CSS Alarm Handler - Performance Testing
BEST, the CSS Alarm Handler - Performance TestingRobert-Emmanuel Mayssat
 
BEAST - CSS Alarm Handler Performance Tests
BEAST - CSS Alarm Handler Performance TestsBEAST - CSS Alarm Handler Performance Tests
BEAST - CSS Alarm Handler Performance TestsRobert-Emmanuel Mayssat
 

More from Robert-Emmanuel Mayssat (20)

Alarm management at DeltaV
Alarm management at DeltaVAlarm management at DeltaV
Alarm management at DeltaV
 
Beast alarm guideline_2013
Beast alarm guideline_2013Beast alarm guideline_2013
Beast alarm guideline_2013
 
CSS alarm Handler (BEAST) at the EPICS Collaboration meeting 2010
CSS alarm Handler (BEAST) at the EPICS Collaboration meeting 2010CSS alarm Handler (BEAST) at the EPICS Collaboration meeting 2010
CSS alarm Handler (BEAST) at the EPICS Collaboration meeting 2010
 
CSS - Alarm Management System (AMS)
CSS - Alarm Management System (AMS)CSS - Alarm Management System (AMS)
CSS - Alarm Management System (AMS)
 
Honeywell - Alarm management standards taken seriously
Honeywell - Alarm management standards taken seriouslyHoneywell - Alarm management standards taken seriously
Honeywell - Alarm management standards taken seriously
 
Sample Beamline Scientist Job Description
Sample Beamline Scientist Job DescriptionSample Beamline Scientist Job Description
Sample Beamline Scientist Job Description
 
Sample GUI Style Guide
Sample GUI Style Guide Sample GUI Style Guide
Sample GUI Style Guide
 
ALH user guide 1.2.33 (May 2013)
ALH user guide 1.2.33 (May 2013)ALH user guide 1.2.33 (May 2013)
ALH user guide 1.2.33 (May 2013)
 
CSS Alarm Handler (BEAST) 2009
CSS Alarm Handler (BEAST) 2009CSS Alarm Handler (BEAST) 2009
CSS Alarm Handler (BEAST) 2009
 
Storytelling for startups
Storytelling for startupsStorytelling for startups
Storytelling for startups
 
The New Soft-IOC Based alarm handler at the SNS
The New Soft-IOC Based alarm handler at the SNSThe New Soft-IOC Based alarm handler at the SNS
The New Soft-IOC Based alarm handler at the SNS
 
Manual of the CSS Alarm Handler (Beast)
Manual of the CSS Alarm Handler (Beast)Manual of the CSS Alarm Handler (Beast)
Manual of the CSS Alarm Handler (Beast)
 
BEST, the CSS Alarm Handler - Performance Testing
BEST, the CSS Alarm Handler - Performance TestingBEST, the CSS Alarm Handler - Performance Testing
BEST, the CSS Alarm Handler - Performance Testing
 
CSS Alarm Handling
CSS Alarm HandlingCSS Alarm Handling
CSS Alarm Handling
 
BEAST - CSS Alarm Handler Performance Tests
BEAST - CSS Alarm Handler Performance TestsBEAST - CSS Alarm Handler Performance Tests
BEAST - CSS Alarm Handler Performance Tests
 
Web browser design template
Web browser design templateWeb browser design template
Web browser design template
 
Ipad design template
Ipad design templateIpad design template
Ipad design template
 
Iphone 5 design template
Iphone 5 design templateIphone 5 design template
Iphone 5 design template
 
Pitch anything webinar
Pitch anything webinarPitch anything webinar
Pitch anything webinar
 
Qtc managed-runtimes
Qtc managed-runtimesQtc managed-runtimes
Qtc managed-runtimes
 

Recently uploaded

IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 

Recently uploaded (20)

IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 

Epics Qt design specification

  • 1. Title: EPICSQt Design Specification Document no: 11556 Revision no: 0.2 Date: 23 June 2010 Australian Synchrotron Company Limited ABN 52 126 531 271 800 Blackburn Road, Clayton Victoria 3168, Australia p +613 8540 4100 f +613 8540 4200 e info@synchrotron.org.au www.synchrotron.org.au Prepared by: Name: Glenn Jackson Title: Senior Control Systems Engineer Date: 18 November 2008 Reviewed by: Name: Andrew Rhyder Title: Senior Control Systems Engineer Date: 18 November 2009 Approved by Name: Anthony Owen Title: Control Systems Engineer Date: 18 November 2009
  • 2. EPICSQt Design Specification Revision History Revision Date Prepared by 0 18/11/2008 Glenn Jackson 0.2 13/11/2009 Glenn Jackson Prepared by Description Glenn Jackson Initial draft Glenn Jackson Prepared document for CM
  • 3. EPICSQt Design Specification Table of Contents 1 Introduction................................ 1.1 Purpose................................................................ 1.2 Referenced documents ................................ 1.2.1 Australian Synchrotron Documents 1.2.2 External Documents ................................ 1.3 Scope ................................................................ 1.3.1 Integrating the Qt Framework into EPICS 2 Australian Synchrotron Classes 2.1 AS Core EPICS Classes ................................ 2.1.1 CaObject Class................................ 2.1.2 QCaObject Class................................ 2.2 AS Middle-Layer Classes ................................ 2.2.1 QCaString ................................ 2.2.2 QCaInteger................................ 2.2.3 QCaFloat ................................ 2.3 AS EPICS Application Layer Widgets 2.3.1 QCaLabel ................................ 2.3.2 QCaLineEdit................................ 2.3.3 QCaPushButton ................................ 2.3.4 QCaSlider................................ 2.3.5 QCaSpinBox ................................ 2.3.6 QCaShape................................ 2.3.7 GuiPushButton................................ 2.3.8 CmdPushButton................................ 2.3.9 QCaCombo ................................ 2.3.10 ASguiForm ................................ 2.4 AS IDE Design-Time Widgets List of Figures Figure 1 - Project Overview Diagram List of Tables Table 1 - Australian Synchrotron Qt Documentation Table 2 - Design-Time Plug-ins ................................................................................................................................ ................................................................................................ ................................................................................................ stralian Synchrotron Documents ................................................................ ................................................................................................ ................................................................................................ Framework into EPICS ................................................................ Australian Synchrotron Classes............................................................................................... ................................................................................................ ................................................................................................................................ ................................................................................................ ................................................................................................ ................................................................................................................................ ................................................................................................................................ ................................................................................................................................ AS EPICS Application Layer Widgets ................................................................ ................................................................................................................................ ................................................................................................................................ ................................................................................................ ................................................................................................................................ ................................................................................................................................ ................................................................................................................................ ................................................................................................................................ ................................................................................................ ................................................................................................................................ ................................................................................................................................ Time Widgets ................................................................................................ w Diagram ................................................................ Australian Synchrotron Qt Documentation.......................................................... ins............................................................................................. ................................1 ..................................... 1 ............................................ 1 ..............................................................1 ........................................................1 ........................................ 1 .....................................................2 ...............................3 ........................................... 3 .................................3 ..............................................................3 ......................................... 3 .........................................3 ........................................3 ...........................................3 ..................................................... 3 ..........................................3 ......................................4 ...............................................................4 ..........................................4 .....................................4 .........................................4 .................................4 ...............................................................4 .......................................4 ....................................4 .................................. 5 ...................................................2 ..........................2 .............................5
  • 4. 1 Introduction EPICSQt is a combination Channel Access (CA) API extended into the graphical QT framework using C++. It is designed for rapid development of control system graphical interfaces. Qt has been chosen by the Australian (GUI) Framework for writing software applications including GUI applications for use at the Australian Synchrotron. The control system currently in use at the Australi Physics and Industry Control System ( standard tools for writing client applications to interact with the control system. provide a quick way to monitor is required. For example, more complex client accomplished with Qt which would not be possible with EDM/MEDM. address many requirements from the facility which may be more difficult or impossible to achieve using EDM/MEDM. The Qt Framework has been discussed maintain a common code base across many synchrotron Team is in the process of a common framework for use with EPICS control systems. This facility should use a common code base for all Qt projects which will be provided Synchrotron Controls Team. Section with EPICS. 1.1 Purpose The purpose of this document 1.2 Referenced documents 1.2.1 Australian Synchrotron Documents ASP-ICS-2002-A EPICS Installation Procedure (Linux) ASP-ICS-2002-B EPICS Installation Procedure (Windows™) ASP-ICS-2009 Perforce Installation Procedure AS-DOC-0302 Qt Installation Guide AS-DOC-0303 Developer’s Guide to writing Qt 1.2.2 External Documents Qt Software http://qt.nokia.com/ EPICS Software http://www.aps.anl.gov/epics/ EPICSQt Repository http://sourceforge.net/projects/epicsqt/ Perforce Software http://www.perforce.com/ EPICS APS http://www.epics.aps.com/ EPICS CA Manual http://epics.aps.anl.gov/epics/base/R3 1.3 Scope The scope of this document is GUI applications for the Australian Sy available for using the Qt Framework at the Australian Synchrotron. The highlighted row indicates the current document and how this document relates to the available Document Qt Requirements Specification Qt Design Specification Qt Installation Guide EPICSQt is a combination of the Experimental Physics and Industrial Control System (EPICS) Channel Access (CA) API extended into the graphical QT framework using C++. It is designed for rapid development of control system graphical interfaces. by the Australian Synchrotron as an officially supported Graphical User Interface Framework for writing software applications including GUI applications for use at the Australian Synchrotron. The control system currently in use at the Australian Synchrotron is Physics and Industry Control System (EPICS). EPICS includes tools such as EDM and MEDM as the for writing client applications to interact with the control system. In some cases monitor and manipulate data, however, in many cases, additional functionality For example, more complex client-side calculations on raw, incoming data can be accomplished with Qt which would not be possible with EDM/MEDM. Qt is intended to be used to requirements from the facility which may be more difficult or impossible to achieve been discussed between several synchrotron labs. Although it is difficult to maintain a common code base across many synchrotron facilities, the Australian Synchrotron Controls a common framework for use with EPICS control systems. This facility use a common code base for all Qt projects which will be provided eam. Section 1.3 outlines the functionality available for use with integrating Qt The purpose of this document is to define the Interface between the Qt GUI framework and EPICS. Australian Synchrotron Documents EPICS Installation Procedure (Linux) EPICS Installation Procedure (Windows™) Perforce Installation Procedure Qt Installation Guide Developer’s Guide to writing Qt-CA GUIs http://qt.nokia.com/ http://www.aps.anl.gov/epics/ http://sourceforge.net/projects/epicsqt/ http://www.perforce.com/ http://www.epics.aps.com/ http://epics.aps.anl.gov/epics/base/R3-14/10-docs/CAref.html The scope of this document is to address the Requirement Specification for writing and supporting plications for the Australian Synchrotron(AS). The table below lists the documentation available for using the Qt Framework at the Australian Synchrotron. The highlighted row indicates the current document and how this document relates to the available AS Qt documentation. CM Location Description 11555 Australian Synchrotron Qt GUI Requirements. 11556 Overview of the Qt-EPICS CA functionality. 11557 Installing Qt on Windows™ and Linux operating system. of the Experimental Physics and Industrial Control System (EPICS) Channel Access (CA) API extended into the graphical QT framework using C++. It is designed for Graphical User Interface Framework for writing software applications including GUI applications for use at the Australian an Synchrotron is the Experimental tools such as EDM and MEDM as the In some cases, it can late data, however, in many cases, additional functionality side calculations on raw, incoming data can be is intended to be used to requirements from the facility which may be more difficult or impossible to achieve . Although it is difficult to facilities, the Australian Synchrotron Controls a common framework for use with EPICS control systems. This facility use a common code base for all Qt projects which will be provided by the Australian available for use with integrating Qt amework and EPICS. docs/CAref.html to address the Requirement Specification for writing and supporting . The table below lists the documentation available for using the Qt Framework at the Australian Synchrotron. The highlighted row indicates the AS Qt documentation. Description Australian Synchrotron Qt GUI Requirements. EPICS CA functionality. Installing Qt on Windows™ and Linux operating system.
  • 5. EPICSQt Design Specification Document Qt Developers Guide API Reference Manual Table 1.3.1 Integrating the Qt Framework into Section 2 Australian Synchrotron Classes represented in the diagram. The EPICS Community and EDM/MEDM screens. Qt provides the GUI Framework required for bu Linux. The four main objectives of this project • QCaObject will make available required aspects of the EPICS C Reference Library to C++ and Qt. • QCa widgets will enable Qt Widgets to be • User interface definitions will be written to standardise the appearance and base features of all Australian Synchrotron GUIs. This will be used as the template base form for creating GUIs. • An ASGui example application CA aware widgets to be viewed by users CM Location Description 11554 Developing Qt GUIs for use in the facility. AS Doxygen Server Open-source code available for Qt Table 1 - Australian Synchrotron Qt Documentation Integrating the Qt Framework into EPICS Australian Synchrotron Classes of this document provides the details of each of the classes EPICS Community provides the C Reference Library, Channel Access and EDM/MEDM screens. Qt provides the GUI Framework required for building software under Windows and main objectives of this project are: will make available required aspects of the EPICS C Reference Library to C++ and Qt. enable Qt Widgets to be EPICS Channel Access aware. will be written to standardise the appearance and base features of all Australian Synchrotron GUIs. This will be used as the template base form for creating application will be written in Qt. This will allow User Interface definitions including CA aware widgets to be viewed by users. Figure 1 - Project Overview Diagram Description Developing Qt GUIs for use in the facility. source code available for Qt-EPICS CA API. of this document provides the details of each of the classes provides the C Reference Library, Channel Access (CA) ilding software under Windows and will make available required aspects of the EPICS C Reference Library to C++ and Qt. will be written to standardise the appearance and base features of all Australian Synchrotron GUIs. This will be used as the template base form for creating facility-wide allow User Interface definitions including
  • 6. EPICSQt Design Specification 2 Australian Synchrotron 2.1 AS Core EPICS Classes The CaObject and QCaObject as well as other supporting classes will be responsible for making the EPICS C Reference Library available in C++. 2.1.1 CaObject Class The CaObject base class will provide While available to the developer, it based QCaObject class. It will be While the CaObject class will hide simplify CA access. All CA call encapsulated in the ‘generic’ class th stored in the native CA record. 2.1.2 QCaObject Class The QcaObject class will provide such as link status, connections and channels. CaObject class. Data can be written using status information as required. Qt data types data. 2.2 AS Middle-Layer Classes The QCaObject class will send and receive sources of data require a specific Middle layer classes provide wrappers for the QCaO type. 2.2.1 QCaString The QCaString class will be a s string data regardless of the underlying EPICS data. representation of EPICS data i 2.2.2 QCaInteger QCaInteger will be the integer specific wrapper for data regardless of the underlying EPICS data. of EPICS data is required. For example, a slider control 2.2.3 QCaFloat The QCaFloat class will be a float specific wrapper for write float data regardless of the underlying EPICS data. representation of EPICS data is r 2.3 AS EPICS Application Layer Widgets Widget classes will be provided to allow CA aware controls to be added to a GUI. 2.3.1 QCaLabel A CA aware Label Widget will be Australian Synchrotron Classes Object and QCaObject as well as other supporting classes will be responsible for making the EPICS C Reference Library available in C++. will provide a C++ wrapper around the EPICS Channel Access ( While available to the developer, it will be written mainly to provide a level of abstraction within the Qt will be recommended to be used where a Qt framework is not av will hide little CA functionality, it will use object oriented techniques to simplify CA access. All CA call-backs will be routed through a single pure virtual function. Data encapsulated in the ‘generic’ class that provides functions for extracting and interpreting the data stored in the native CA record. will provide full access to EPICS data while hiding most CA specific functionality such as link status, connections and channels. The QcaObject class will add Qt functionali CaObject class. Data can be written using Qt slots and Qt signals which will be avai status information as required. Qt data types will be used directly, or as the base class for all EPICS lasses ct class will send and receive data in the form of a QtVariant. Many consumers or specific data type and will not be able to interpret every EPICS data type. Middle layer classes provide wrappers for the QCaObject to convert the data to and a string wrapper for QCaObject variant data. This class will read or write string data regardless of the underlying EPICS data. This class will be used when a textual tion of EPICS data is required. For example, a text-edit control widget. nteger specific wrapper for QCaObject. This class will read or writ ss of the underlying EPICS data. This class will be used when an integer representation of EPICS data is required. For example, a slider control widget. The QCaFloat class will be a float specific wrapper for QCaObject variant data. This class will read or write float data regardless of the underlying EPICS data. This class will be used when a float representation of EPICS data is required. For example, a text-edit control widget. EPICS Application Layer Widgets provided to allow CA aware controls to be added to a GUI. will be inherited from the standard Qt Label Widget. Object and QCaObject as well as other supporting classes will be responsible for making the EPICS Channel Access (CA) Library. written mainly to provide a level of abstraction within the Qt recommended to be used where a Qt framework is not available. use object oriented techniques to routed through a single pure virtual function. Data will be at provides functions for extracting and interpreting the data full access to EPICS data while hiding most CA specific functionality Qt functionality to the available for data and used directly, or as the base class for all EPICS data in the form of a QtVariant. Many consumers or every EPICS data type. bject to convert the data to and from one specific This class will read or write used when a textual This class will read or write integer used when an integer representation This class will read or This class will be used when a float provided to allow CA aware controls to be added to a GUI.
  • 7. EPICSQt Design Specification 2.3.2 QCaLineEdit A CA aware Line Edit Widget 2.3.3 QCaPushButton A CA aware Push Button Widget 2.3.4 QCaSlider A CA aware Slider Widget will be 2.3.5 QCaSpinBox A CA aware Spin-box Widget 2.3.6 QCaShape A CA aware Shape Widget will be 2.3.7 GuiPushButton A push button, based on the standard Qt Push Button Widget, Widget. 2.3.8 CmdPushButton A push button, based on the standard Qt Push Button Widget, command. 2.3.9 QCaCombo A CA aware Combo-box Widget 2.3.10 ASguiForm A Form Widget, based on the standard Qt Form will be inherited from the standard Qt Line Edit Widget A CA aware Push Button Widget will be inherited from the standard Qt PushButton Widget. will be inherited from the standard Qt Slider Widget. will be inherited from the standard Qt Spin-box Widget. will be inherited from the standard Qt Shape Widget. A push button, based on the standard Qt Push Button Widget, will be used to open a new A push button, based on the standard Qt Push Button Widget, will be used to run x Widget will be based on the standard Qt Combo Box Widget. on the standard Qt Form widget, will be able to read in a Qt User Interface file inherited from the standard Qt Line Edit Widget. inherited from the standard Qt PushButton Widget. ox Widget. used to open a new ASguiForm used to run an operating system on the standard Qt Combo Box Widget. read in a Qt User Interface file.
  • 8. EPICSQt Design Specification 2.4 AS IDE Design-Time Widgets All new Widgets specified in this design within the Qt Designer application, or by any other application that Available design-time plug-ins are as follows: IDE Plug-in QCaLabelPlugin QCaLineEditPlugin QCaPushButtonPlugin GuiPushButtonPlugin CmdPushButtonPlugin QCaShapePlugin QCaSliderPlugin QCaSpinBoxPlugin QCaComboBoxPlugin ASguiFormPlugin Time Widgets specified in this design will have plug-in wrappers to allow the widgets to be used within the Qt Designer application, or by any other application that will use a Qt plug ins are as follows: in Base Widget QCaLabelPlugin QCaLabel QCaLineEditPlugin QCaLineEdit QCaPushButtonPlugin QCaPushButton GuiPushButtonPlugin GuiPushButton CmdPushButtonPlugin CmdPushButton QCaShapePlugin QCaShape QCaSliderPlugin QCaSlider QCaSpinBoxPlugin QCaSpinBox QCaComboBoxPlugin QCaComboBox ASguiFormPlugin ASguiForm Table 2 - Design-Time Plug-ins wrappers to allow the widgets to be used plug-in.