EUROPEAN SOUTHERN OBSERVATORY
Organisation Européenne pour des Recherches Astronomiques dans l'Hémisphère Austral
Europäische Organisation für astronomische Forschung in der südlichen Hemisphäre
VLT PROGRAMME
---
Base ICS control panel
Doc. No.:
Issue:
Date:
Name Date Signature
Prepared: A.Longinotti
Name Date Signature
Approved: G.Raffi
Name Date Signature
Released: M.Ziebell
VLT PROGRAMME * TELEPHONE: (089) 3 20 06-0 * FAX: (089) 3 20 06 514
CHANGE RECORD
ISSUE |
DATE |
SECTION/PAGE AFFECTED |
REASON/INITIATION DOCUMENTS/REMARKS |
1.0 |
30/10/2001 |
All |
First issue |
2 |
28/03/2002 |
2.0 |
MAR2002, SPR VLTSW20010501, VLTSW20010502, VLTSW20010666, VLTSW20010690 |
1 INTRODUCTION
*1.1 Purpose
*1.2 Scope
*1.3 Applicable Documents
*1.4 Reference Documents
*1.5 Abbreviations and Acronyms
*1.6 Glossary
*1.7 Stylistic Conventions
*1.8 Naming Conventions
*1.9 Problem Reporting/Change Request
*2 OVERVIEW
*2.1 ICS control panel architecture
*2.1.1 Software Modules
*3 OPERATOR’S GUIDE
*3.1 Panel Start-up
*3.1.1 Menu bar
*3.1.2 Global ICS Control
*3.1.3 Single Devices Control
*4 TUTORIAL: IMPLEMENTING ICS CONTROL PANEL FROM SCRATCH
*4.1 Create the ICS control panel module
*4.2 Design the ICS control panel layout
*4.3 Configure the ICS control panel layout
*4.4 Starting the ICS control panel
*4.5 Creating a special device
*4.5.1 Overriding default behavior
*4.5.2 Building an uifClass from scratch
*5 CONFIGURATION GUIDE
*6 REFERENCE
*6.1 icbpan specific
*6.1.1 icbpanLib.tcl
*6.1.2 icbpanGUIcfg.tcl
*6.1.3 icbpanUIF.tcl
*6.1.4 icbpanICSControl.tcl
*6.1.5 icbpanICSCmd.tcl
*6.1.6 icbpanICSDevControl.tcl
*6.1.7 icbpanLamp.tcl
*6.1.8 icbpanShutter.tcl
*6.1.9 icbpanNamedPos.tcl
*6.1.10 icbpanContPos.tcl
*6.1.11 icbpanSlit2Len.tcl
*6.1.12 icbpanSlit2Wid.tcl
*6.1.13 icbpanTilt.tcl
*6.1.14 icbpanGrat.tcl
*6.1.15 icbpanDpol.tcl
*6.1.16 icbpanAdc.tcl
*6.1.17 icbpanDrot.tcl
*6.1.18 icbpanSensor.tcl
*6.1.19 icbpanSensorVer.tcl
*6.1.20 icbpanSensorHor.tcl
*6.1.21 icbpanSensorSqr.tcl
*6.1.22 icbpanPmt.tcl
*The software described in this manual is intended to be used in the ESO VLT project by ESO and authorized external contractors only.
While every precaution has been taken in the development of the software and in the preparation of this documentation, ESO assumes no responsibility for errors or omissions, or for damage resulting from the use of the software or of the information contained herein.
PurposeAll instruments need an ICS stand-alone Graphical User Interface (GUI) to be able to operate its functions, e.g. for engineering and maintenance purposes.
As from the OCT2001 release of the VLT Software, the Base ICS package provides instrumentation applications with common code dedicated to the development of ICS GUIs. The purpose is to make the ICS GUIs development faster, reducing the amount of application specific code and therefore the maintenance efforts associated to it, and at the same time to make the look & feel more homogeneous.
The common code is implemented in the module icbpan. An example of application using it is provided by the Template Instrument (see
[RD 13]) and in particular the module xxipan.This document covers only the part of Base ICS dedicated to the development of ICS GUIs.
The part dedicated to the ICS control applications is described in .
The following documents, of the exact issue shown, form a part of this document to the extent specified herein. In the event of conflict between the documents referenced herein and the contents of this document, the contents of this document shall be considered as a superseding requirement.
Reference |
Document Number |
Issue |
Date |
Title |
VLT-PRO-ESO-10000-0228 |
1.0 |
10/03/1993 |
VLT Software Programming Standards |
|
VLT-MAN-ESO-17210-0667 |
1.0 |
03/12/1997 |
Guidelines for VLT applications. |
|
VLT-SPE-ESO-17212-0001 |
2.0 |
23/02/1995 |
INS Software Specification |
|
VLT-SPE-ESO-17240-0385 |
2.1 |
15/07/1996 |
INS Common Software Specification |
The following documents are referenced in this document.
Reference |
Document Number |
Issue |
Date |
Title |
VLT-MAN-ESO-17200-0888 |
1.0 |
17/08/1995 |
VLT Common Software Overview |
|
VLT-MAN-ESO-17200-0642 |
2 |
30/03/2002 |
VLT Common Software Installation Manual |
|
VLT-MAN-ESO-17210-0669 |
1.4 |
20/10/1997 |
Motor Engineering Interface User Manual |
|
VLT-MAN-ESO-17210-0619 |
2.2 |
31/03/2002 |
Central Control Software User Manual |
|
VLT-MAN-ESO-17210-0707 |
1.6 |
30/09/1999 |
On Line Database Loader User Manual |
|
VLT-MAN-ESO-17210-0690 |
4.3 |
31/03/2002 |
Panel Editor User Manual |
|
VLT-MAN-ESO-17240-0853 |
1.4 |
25/04/2001 |
INS Common sw - oslx User Manual |
|
VLT-MAN-ESO-17240-0934 |
3 |
30/03/2002 |
Base ICS User Manual |
|
VLT-MAN-ESO-17240-1913 |
2 |
30/03/2002 |
Installation Tool for VLT Sw packages |
|
VLT-MAN-ESO-17240-2153 |
2 |
30/03/2002 |
INS Startup Tool User Manual |
|
VLT-MAN-ESO-17220-0737 |
3 |
28/03/2002 |
HOS - Sequencer User Manual |
|
VLT-MAN-ESO-17240-2240 |
2 |
28/03/2002 |
INS Common Software for Templates |
|
VLT-MAN-ESO-17240-1973 |
3 |
28/03/2002 |
Template Instrument Software User Manual |
This document employs several abbreviations and acronyms to refer concisely to an item, after it has been introduced. The following list is aimed to help the reader in recalling the extended meaning of each short expression:
CCS |
Central Control Software |
CPU |
Central Processing Unit |
ESO |
European Southern Observatory |
FITS |
Flexible Image Transport Format |
GUI |
Graphical User Interface |
HW |
Hardware |
ICS |
Instrument Control Software |
INS |
Instrumentation Software Package |
I/O |
Input/output |
IWS |
Instrument Workstation |
LAN |
Local Area Network |
LCU |
Local Control Unit |
MS |
Maintenance Software |
N/A |
Not Applicable |
RAM |
Random Access Memory |
SW |
Software |
TBC |
To Be Clarified |
TBD |
To Be Defined |
UIF |
(Portable) User Interface (Toolkit) |
VLT |
Very Large Telescope |
WS |
Workstation |
No special definition is introduced in this manual
The following styles are used:
in the text, for commands, filenames, pre/suffixes as they have to be typed.
italic
in the text, for parts that have to be substituted with the real content before typing.
teletype
for examples.
<name>
in the examples, for parts that have to be substituted with the real content before typing.
bold and italic are also used to highlight words.
This implementation follows the naming conventions as outlined in
[AD 01].The form described in
[RD 02] shall be used.This chapter gives a short overview of the ICS control panel philosophy and underlying architecture.
The rest of the manual is organized as follows:
ICS is responsible for controlling the different devices of an instrument, such as motors, lamps and sensors. Most of these devices are driven by standard ESO hardware and software (see
[RD 08]) and share therefore the same functionality.The Base ICS package (also called ICB, see
[RD 08]) aims to implement all common aspects of the various instruments ICS in one central place, such that different instrumentation applications, using it, become more homogeneous and therefore easier to operate and maintain. The same principle applied to the control code has been extended to the ICS stand-alone control panel: base ICS provides, within the module icbpan, means to speed up the ICS GUI development and reduce the amount of code to be maintained.The basic components of icbpan are a set of "uifClasses-widgets" (hereafter called simply uifClasses), created with the VLT Panel Editor and therefore compatible with its usage (see
[RD 06]).The concept of uifClasses alone, though very useful, poses some problems when building the ICS control panel: sets of global variables are indeed needed to localize single widgets inside a class, which is difficult to maintain and still more difficult to extend. To overcome this drawback, for every uifClass an itcl wrapper class was created; it inherits the corresponding uifClass and adds new methods dealing with single (internal) widgets. In this way, not only the need of global variables disappears but also every single uifClass can be treated as a self-consistent unit which can be extended for special needs by using well-known object-oriented features (inheritance, overriding etc.). Moreover, variable name collision is automatically solved.
Based on this philosophy, for every ICB software devices (see
[RD 08]), a corresponding uifClass and itcl wrapper class is available in the icbpan module.Table 1 lists all uifClasses with the corresponding wrapper and device identification.
Description |
ICB class |
uifClass |
itcl wrapper class |
Lamp |
icbLAMP |
icbpanLamp_uifClass |
icbpanLamp |
Shutter |
icbSHUTTER |
icbpanShutter_uifClass |
icbpanShutter |
Filter wheel |
icbMOT_FILTER |
icbpanNamedPos_uifClass |
icbpanNamedPos |
Mirror wheel |
icbMOT_MIRROR |
icbpanNamedPos_uifClass |
icbpanNamedPos |
Slit wheel |
icbMOT_SLITS |
icbpanNamedPos_uifClass |
icbpanNamedPos |
Generic wheel |
icbMOT_OPTI |
icbpanNamedPos_uifClass |
icbpanNamedPos |
Generic slide |
icbMOT_POS |
icbpanContPos_uifClass |
icbpanContPos |
Slit length |
icbMOT_SLIT2_LEN |
icbpanSlit2Len_uifClass |
icbpanSlit2Len |
Slit Width |
icbMOT_SLIT2_WID |
icbpanSlit2Wid_uifClass |
icbpanSlit2Wid |
Tilt |
icbMOT_TILT |
icbpanTilt_uifClass |
icbpanTilt |
Grating |
icbMOT_GRATING2 |
icbpanGrat_uifClass |
icbpanGrat |
Depolarizer |
icbMOT_DPOR |
icbpanDpol_uifClass |
icbpanDpol |
ADC |
icbMOT_ADC |
icbpanAdc_uifClass |
icbpanAdc |
Derotator |
icbMOT_DROT |
icbpanDrot_uifClass |
icbpanDrot |
Cryostat sensor |
icbSEN_ADAM |
icbpanSensor_uifClass |
|
Pressure sensor |
icbSEN_BAROMETER |
icbpanSensor_uifClass |
icbpanSensornnn |
Cryo. Temp. sensor |
icbSEN_CN77000 |
icbpanSensor_uifClass |
icbpanSensornnn |
Cabinet cool. sensor |
icbSEN_COOLING |
icbpanSensor_uifClass |
icbpanSensornnn |
Digital sensor |
icbSEN_DIGITAL |
icbpanSensor_uifClass |
icbpanSensornnn |
Temp. sensor |
icbSEN_ESTERS |
icbpanSensor_uifClass |
icbpanSensornnn |
Humidity sensor |
icbSEN_HUMIDITY |
icbpanSensor_uifClass |
icbpanSensornnn |
Exposure meter |
icbSEN_EXPM |
icbpanPmt_uifClass |
icbpanPmt |
Table 1: implemented uifClasses.
The specific instrument configuration file (see [RD 08]) provides the input necessary to establish the number and type of instrument devices and, with a set of dedicated keywords, also to define the appearance of the ICS control panel (see section 5).
Finally, the communication with the ICS front-end control process is hidden in specific itcl classes built using the philosophy explained before.
Table 2 contains a list of such classes.
Description |
uifClass |
itcl wrapper class |
Allows sending cmd affecting only global behavior of the ICS control process. |
icbpanICSControl_uifClass |
icbpanICSControl |
Allows sending all cmds found in the CDT of the ICS control process. |
icbpanICSCmd_uifClass |
icbpanICSCmd |
Allows sending specific cmds only to selected devices. |
icbpanICSDevControl_uifClass |
icbpanICSDevControl |
Table 2: classes dealing with the ICS communication
All uifClasses and relative wrappers are contained in one sw module: icbpan. The ICS GUI application provided by the Template Instrument in the module xxipan could be used as a starting point to build a new instrument ICS GUI.
OPERATOR’S GUIDEThis chapter is intended to provide all information needed to operate an instrument ICS from a GUI based on icbpan.
The example provided by the Template Instrument (see
[RD 13]) is used to better illustrate the concept. Panel Start-upThe ICS GUI should be started using the common startup tool stoo (see
[RD 10]):%xxinsStart –panel ICS
During the startup the panel reads the instrument configuration file $INS_ROOT/SYS-TEM/COMMON/CONFIGFILES/xxmcfgINS.cfg and, in case of no errors, the ICS GUI pops-up (it can take a while, depending on host type and instrument complexity).
Figure 1 shows the example provided by the Template Instrument.
Figure 1: ICS GUI
The panel itself could be logically divided in three sections:
The menu bar contains commands dealing with the panel and/or allows invoking some useful general tools. Figure 2 shows the expanded menu bar:
Figure 2: ICS GUI menu section
This section of the control panel allows controlling the ICS front-end as a whole. As shown in Figure 3, the upper uifClass allows changing the global ICS state (by sending OFF/STANDBY/ONLINE command), while the bottom one allows sending all other valid ICS commands with the parameter values defined by the user.
Figure 3: ICS GUI global control section
For every device defined and configured in the instrument configuration file, a corresponding uifClass is placed in a notebook itk widget. The use of notebook itk widget allows packing various sets of logically linked devices (as could be motorized functions, lamp/shutters and sensors) optimizing the overall dimension of the panel. The operator could easily, simultaneously, check the current state of various devices by simply selecting the required notebook’s tab.
Figure 4 shows the example provided by the Template Instrument.
By using the Function Control uifClass the following operations could be performed:
Note that commands are sent only for the selected devices.
The overall configuration of various devices is done at the panel start-up by extracting all the relevant information from the specific instrument configuration file (e.g. filter names, modes etc.). Every uifClass is moreover connected to the corresponding device branch in the OLDB. Typically the following output is shown:
Sensor devices are treated in a slightly different way. They neither accept the SETUP command nor have a position defined. The only commands affecting the behavior of sensors are those used to change the state or the simulation level. For every sensor devices a list of sensor values is reported. Values are read directly from the OLDB. The label for each single sensor is again extracted from the instrument configuration file.
At the bottom of the main panel a Command Feedback Window gives a log of all sent commands. A short help is also provided for every widget appearing on the panel.
Figure 4: ICS GUI single devices control section
TUTORIAL: IMPLEMENTING ICS CONTROL PANEL FROM SCRATCHThis chapter is intended to software developers, who are starting from scratch with the implementation of the ICS control panel for a new instrument. It will describe how to adapt the template instrument code and extend its functionality to fit the specific instrument requirements.
Please follow step by step the instructions described in this chapter, executing them in the same order as presented.
In the examples provided in this chapter, it is assumed that the new instrument prefix is nn (keyword INS.CON.PREFIX in the configuration file) and its ID is NNNN (keyword INS.CON.ID). These strings should be adapted to the specific instrument case.
It is assumed that:
Please refer to
[RD 08] if one of these points is not fulfilled.It is also assumed that the icbpan software module, as part of VLT common sw (from OCT2001 release), is already installed, and that the user is familiar with the VLT sw panel editor, its functionality and its operations (see
[RD 06]). Create the ICS control panel moduleSkip this section if you have created the new instrument code with the utility xxinsCreateNewInstrument (see
[RD 13]).The simplest and fastest approach to build a new ICS control panel from scratch is to start from the code provided with the template instrument in the module xxipan.
The following steps must be done:
Edit the panel source file (nnipanControl.pan) with the VLT panel editor. After all steps described in section 4.1, this panel contains five frames:
The first three frames should be left unchanged.
The nnipanNotebooki frames instead are the only ones, whose size and number depend on the instrument characteristics.
Decide in how many notebooks you want to distribute the instrument devices and make sure that the panel contains as many nnipanNotebooki frames as you want (remember to rename the widgets name to nnipanNotebooki i=1,..,N). Make also sure that their position and size correspond to the expected one (they can be refined in a second iteration) and that the "Automatic Re-size" option is selected.
Save the panel and build the module:
% make clean all man install
To configure the ICS GUI layout, edit the instrument configuration file nnmcfgINS.cfg (see
[RD 08] and chapter 5 of this manual for the details).Make sure that the total number of notebooks defined by the keyword INS.UIF.NBOOKS (default 1) in the instrument configuration file corresponds to the number of frame widgets nnipanNotebooki created during step 4.2.
When building an ICS GUI from scratch, it is recommended to skip the uifClasses for special devices. This is accomplished by setting the <prefix>.UIFCLASS keyword to "" (see chapter 5). To create a special device class and add it to the GUI see section 4.5
At this point the panel is ready to be started. Type:
% nnipanControl &
The ICS control panel should pop-up. See section 3 for a complete description on how to operate with it. Depending on the instrument complexity (i.e. on the number of the defined devices) the various frames could overlap or could not show the whole content (or more simply you don’t like the current positioning). In this case a manual resizing is necessary. See section 4.2
Every ICB standard device (see
[RD 08]) has a corresponding wrapper class (see 2.1), which implements all the basic (standard) features for this device.It could happen that a specific instrument owns a device with a slightly different behavior respect to the standard. By using the inheritance mechanism it is possible to adapt and/or override the default.
An example is provided in the module xxipan for the GRAT device of the XXXX instrument. The ICB standard grating device accepts, among others, also a keyword specifying the current grating order. The corresponding uifClass (icbpanGrat.tcl) has therefore an "order" entry widget to insert the required number. In case of the XXXX instrument such an order is not needed. A new class (xxipanGrat) is therefore implemented which simply:
When the class is packed in the notebook, the field of the entry widget is disabled and the user cannot send anymore any order number, as shown in Figure 5.
Figure 5: Example of wrapper class inheritance
The inheritance mechanism allows also adding functionality to the standard uifClasses. For example one could think to add a check for values passed by the user, before calling the standard method which actually sends the SETUP command to ICS and so on. Of course, what you cannot do, is to block or selectively inherit some properties; to this purpose a new class should be created from scratch as described hereafter.
For really specific instrument devices, which are not (and could not be) supported by the standard ICB, new uifClasses and corresponding itcl wrapper classes should be created. Once created, by means of the configuration keywords, they can be placed everywhere on the control panel (see section 5). The procedure to build such a "special uifClass" is quite simple (an example of such special device for the XXXX instrument is provided in the module xxipan). The following steps are required:
Figure 6: Example of special class construction
Once a special uifClass is created you can pack it everywhere on the control panel by means of the configuration keywords (as described in section 5).
NOTE 1: The internal procedures of the ICB control panel rely on these methods and public variables to recognize and to distinguish the selected devices, to send a correct SETUP string and to correctly load/save a setup file. Therefore they must exist with names as reported above. If, during the panel construction, the methods or the public variables are not found an undefined behavior is to be expected.
CONFIGURATION GUIDE
A set of keywords (defined in the dictionary ESO-VLT-DIC.ICB_CFG) is dedicated to the configuration of the ICS control GUI layout. They are described in the Table 3.
Keyword |
Description |
INS.UIF.NBOOKS |
Specify how many notebooks should be present. |
INS.UIFi.TABS |
Specify how many tabs should be present in notebook i |
INS.UIFj.LABELi |
Specify label to be assigned to the tab "i" in the notebook "j" |
INS.FILTi .UIFCLASS |
uifClass to be used for this device. Same as INS.FILTi for all other type of devices. |
INS.FILTi .UIFNB |
Index of notebook where widget for this device should appear |
INS.FILTi .UIFTB |
Index of tab where widget for this device should appear. |
INS.FILTi .UIFSPECIAL |
If T, the coding of the states for the associated output field are those of an icb special device. Needed when a default icbpan uifClass is used for an icb special device. |
Table 3: configuration keywords for ICS control panel
The following example, taken from the Template Instrument, produces the layout shown in Figure 1 (see file xxmcfgINS.cfg):
# create two notebooks
INS.UIF.NBOOKS 2
#add in the first notebook two tabs
INS.UIF1.TABS 2
# add in the second notebook seven tabs
INS.UIF2.TABS 7
# configure the first notebook’s tabs with the following labels
INS.UIF1.LABEL1 "Motors"
INS.UIF1.LABEL2 "Lamps/shutters"
# configure the second notebook’s tabs with the following labels
INS.UIF2.LABEL1 "FCS"
INS.UIF2.LABEL2 "BARO"
INS.UIF2.LABEL3 "FCTC"
INS.UIF2.LABEL4 "CCC1"
INS.UIF2.LABEL5 "DIS1"
INS.UIF2.LABEL6 "ENCH"
INS.UIF2.LABEL7 "TEMP"
# place INS.LAMP1 device on the first notebook, second tab
INS.LAMP1.UIFNB 1
INS.LAMP1.UIFTB 2
# place INS.SHUT1 device on the first notebook, second tab
INS.SHUT1.UIFNB 1
INS.SHUT1.UIFTB 2
# use for INS.GRAT1 device the new class xxipanGrat (example of inheritance)
INS.GRAT1.UIFCLASS "xxipanGrat"
# use for INS.MIRR2 device the new class xxipanSpecial (example of a special device implementation)
INS.MIRR2.UIFCLASS "xxipanSpecial"
# place all sensors device on the second notebook; every device is placed in its own tabs
INS.SENSOR1.UIFNB 2
INS.SENSOR1.UIFTB 1
INS.SENSOR2.UIFNB 2
INS.SENSOR2.UIFTB 2
# INS.SENSOR2 is implemented on LCU as an icb special device. State coding must be set accordingly
INS.SENSOR2.UIFSPECIAL T
INS.SENSOR3.UIFNB 2
INS.SENSOR3.UIFTB 3
INS.SENSOR4.UIFNB 2
INS.SENSOR4.UIFTB 4
INS.SENSOR5.UIFNB 2
INS.SENSOR5.UIFTB 5
INS.SENSOR6.UIFNB 2
INS.SENSOR6.UIFTB 6
INS.SENSOR7.UIFNB 2
INS.SENSOR7.UIFTB 7
Note 1: Every sensor device usually controls many sensors. It is a good idea therefore to place every single sensor device in a separate tab.
Note 2: If for any reason you don’t want that a class will be drawn, simply define the {devicename}.UIFCLASS with an empty string.
icbpanCmd
NAME
icbpanCmd, icbpanCmdQueryCommands, icbpanCmdQueryParameters,
icbpanExecCmd, icbpanWaitPid, icbpanDbRead, icbpanSelectAll,
icbpanDeselectAll, icbpanEditCfgFile, icbpanSetLCUCfg,
icbpanSaveAsSetup, icbpanSaveSetup, icbpanLoadSetup,
icbpanLcuBoot, icbpanGetDevice - tcl procedures used within ICB control panel.
SYNOPSIS
icbpanCmd <envName><procName> <cmd> [parms] [timeout] [disp]
icbpanCmdQueryCommands <Process>
icbpanCmdQueryParameters <Process> <Command>
icbpanExecCmd <args> [bg] [wait] [xterm]
icbpanWaitPid <pid>
icbpanDbRead <attr>
icbpanSelectAll <listAllDevices>
icbpanDeselectAll <listAllDevices>
icbpanEditCfgFile <file>
icbpanSetLCUCfg <INS>
icbpanSaveAsSetup <listAllDevices> <dic>
icbpanSaveSetup <allDevices> <file> <dic>
icbpanLoadSetup <allDevices> <file> <dic>
icbpanLcuBoot <lcuenv>
icbpanGetDevice <listAllDevices> <devName>
DESCRIPTION
icbpanCmd
sends a command to ICS front-end process and waits for last reply
icbpanCmdQueryCommands
query cmdManager for cmds accepted by Process
icbpanCmdQueryParameters
query cmdManager for parameters accepted by Command of Process
icbpanExecCmd
execute args; wait=0 return immediately; wait=1 waits completion
of invoked process; xterm=1 start applictation in a new xterm;
bg = "" doesn't start in background
icbpanWaitPid
wait until process terminate
icbpanDbRead
is the specific implementation of seq_dbReadSymbolic
icbpanSelectAll, icbpanDeselectAll
set/unset checkbutton for all devices in "listAllDevices"
icbpanEditCfgFile
invoke emacs on the cfg file
icbpanSetLCUCfg
invoke icbConfigSet on instrument INS
icbpanSaveAsSetup, icbpanSaveSetup
saves parameters of the selected devices to a file
icbpanLoadSetup
loads the content of a setup file and sets panel widgets
accordingly
icbpanLcuBoot
reboot LCU lcuenv
icbpanGetDevice
return the object corresponding to the device <devName>.
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
### generated by docDeroff ###
icbpanGUIcfg
NAME
icbpanGUIcfg - itcl class used to construct ICB control panel.
SYNOPSIS
icbpanGUIcfg xxinsGUI xxinsCfg
DESCRIPTION
This itcl class is an utility class which contains a set
of methods to pack notebooks and control classes on the
ICB control panel.
PUBLIC METHODS
icbpanGUIcfg xxinsGUI xxinsCfg
constructor. An object of type ctooCONFIG must be passed to
properly read all the requested information.
lcuBootMenu <menuPath>
add on the specified panel menu (individuated by the passed menuPath
string) commands to reboot LCU(s)
(the number of added cmds correspond to the number of defined LCUs).
wdgICScontrol <frameICS1>
pack class icbpanICSControl on frame frameICS1.
wdgICScmd <frameICS2>
pack class icbpanICSCmd on frame frameICS2.
funcICScontrol <frameFunc> <devicesList>
pack class icbpanICSDevControl on frame frameFunc. DevicesList
contains the number of configured devices. This method must be
called after notebooks are created.
createNotebooks <framesList>
pack notebooks on frames extracted from framesList.
The number of tabs in each notebook and the relative labels
are extracted from INS.UIFi.TABS and INS.UIFi.LABELj.
After notebooks construction the method reads the configuration
file and places all configured devices in the specific
notebook. The look and feel is controlled by a set of dedicated
configuration keywords.
At the end it returns the number of drawn devices as a list.
The just created list could be used then as a parameter for
the "funcICScontrol" method.
getNotebooks <cv>
return a list conisting of { <framesList> <framesGeometry> } where
<framesList> is the list of notebook frames to be passed to createNotebooks
<framesGeometry> is a list of items { <xCoord> <yCoord> <width> <height> }
<cv> is the panel variable associated to the canvas where
notebook frames are.
setNotebookDim [<nbIdx 1>] [<width 300>] [<height 300>]
set new dimension for the notebook identified by a number.
setNotebookDimAll <framesGeometry>
set new dimension for all notebooks in <framesGeometry>
Every element of <framesGeometry> consists of <xCoord> <yCoord> <width> <height>
setPanelDim [<framesGeometry/width >] [<height>]
set new dimension for the panel.
If two parameters are passed, they are interpreted as <width> <height>
If only one parameter is passed, it is interpreted as <framesGeometry>
as from getNotebooks
initClass <cv> <imList>
initialize uifClasses and frames in the panel
At the end it returns the number of drawn devices as a list.
<cv> is the panel variable associated to the canvas where
notebook frames are.
<dimList> is the list of notebooks dimension
Every element of <dimList> consists of <width> <height>
PRIVATE METHOD
putUifClasses
For every device defined in the cfg file, pack the relative
class. The position (notebook+tab) is extracted from
$devType.UIFNB and $devType.UIFTB (devType==INS.CON.DEVICE); the
class to be placed is read either from devType.UIFCLASS or
extracted with the method getUifClass of icbpanUIF class.
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanUIF
NAME
icbpanUIF - itcl class used for managing icbpan devices classes
SYNOPSIS
icbpanUIF handleUif -cfgObj $cfgObj
where cfgObj is a ctooCONFIG object;
DESCRIPTION
This class is used internally by the icbpan control panel to
associate an uifClass to the corresponding devices. It constructs
an internal keyed list containing pairs device/uifClass
(the key is actually the device name).
PUBLIC METHODS
icbpanUIF xxx
constructor. Calls two private methods. "defaultUifclasses"
method simply fill a keyed list (defuif) with default
associations; "initUifclasses" instead, by comparing
current instrument settings with the default keyed list,
extract and construct instrument specific keyed list (keylist).
From this list, during panel construction, the uifClass to be drawn
is extracted.
getUifClass devType
according to the passed "devType" the corresponding uifClass
is returned.
addUifClass devType className
add in the keyed list a new pair device/uifClass.
delUifClass devType
delete an entry in the keyed list having devType as a key.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
CAUTIONS
This class is used internally and should not be modified.
### generated by docDeroff ###
icbpanICSControl
NAME
icbpanICSControl - wrapper class for icbpanICSControl_uifClass
SYNOPSIS
icbpanICSControl .w
-background Grey90
-relief raised
-cwp "<alias>${insName}:ICS:PROCESSES:WS:icsControl"
-procName $procName
-cfgObj $cfgObj]
where cfgObj is a ctooCONFIG object;
procName is the name of the ICS control process
DESCRIPTION
Itcl wrapper class to handle ICS control process. The corresponding
ibcpanICSControl_uifClass contains a set of output widgets
(linked to OLDB) which display the ICS global state, substate
and operational mode. An option button is used to send OFF/
STANDBY/ONLINE cmds.
PUBLIC METHODS
icbpanICSControl xxx
constructor. Calls "initFunction" which initialize the option
button with the appropriate function (chgState); it is called
whenever the option button is selected. This function then send
the selected cmd to the ICS control process.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
procName
name of the front-end WS ICS process
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8), icbpanLib
### generated by docDeroff ###
icbpanICSCmd
NAME
icbpanICSCmd - wrapper class for icbpanICSCmd_uifClass
SYNOPSIS
icbpanICSCmd .w
-background Grey90
-relief raised
-cwp "<alias>${insName}:ICS:PROCESSES:WS:icsControl"
-procName $procName]
where procName is the name of the ICS control process
DESCRIPTION
Itcl wrapper class to handle ICS control process. The corresponding
ibcpanICSCmd_uifClass contains a set of option button
and one entry widget which can be used to select the command
+ parameters to be sent to the ICS WS process.
The button "Send" takes care to send the selected cmds to ICS.
PUBLIC METHODS
icbpanICSControl xxx
constructor. Calls "initFunction" which initialize the option
buttons with the list of valid ICS cmds and the corresponding
list of valid parameters. Both lists are extracted from CDT
by quering the cmdManager process. The Send button uses the
internal method "sendParString" to actual send the constructed
list of command(s) to the ICS process.
PUBLIC VARIABLES
procName
name of the front-end WS ICS process
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8), icbpanLib
### generated by docDeroff ###
icbpanICSDevControl
NAME
icbpanICSDevControl - wrapper class for icbpanICSDevControl_uifClass
SYNOPSIS
icbpanICSControl .w
-background Grey90
-allDevices $devicesList
-cfgObj $cfgObj
-procName $procName
-relief raised]
where cfgObj is a ctooCONFIG object;
procName is the name of the ICS control process
allDevices is the list containing all devices to be controlled
DESCRIPTION
Itcl wrapper class to handle ICS functions.The corresponding
ibcpanICSDevControl_uifClass contains a set of (option) buttons
to send OFF/STANDBY/ONLINE/SETUP/STOP cmds and to change simulaton level.
All cmds affect only devices selected by toggling on the checkbutton.
PUBLIC METHODS
icbpanICSDevControl xxx
constructor. By looking for the "isSensor" public variable
a split is made between the motors/lamps/shutters devices and
sensors devices (this is necessary because not all
devices behave in the same way; e.g. for sensors the SETUP/STOP
cmds doesn't have any effect).
It calls then "initFunction" which initialize every button with the
appropriate function (called whenever the corresponding button
is selected). These functions
allow to change the state of selected devices (chgFuncState),
to change the operational mode (chgFuncOpMode) or to send
a setup/stop cmd (moveFunc/stopFunc).
Before sending the requested cmd, every function checks the current
state of all checkbuttons (by calling the isSelected method).
The cmd is sent only if the checkbutton of the corresponding
device is selected.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
procName
name of the front-end WS ICS process
allDevices
list containing all devices to be controlled
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8), icbpanLib
### generated by docDeroff ###
icbpanLamp
NAME
icbpanLamp - wrapper class for icbpanLamp_uifClass
SYNOPSIS
icbpanLamp .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB LAMP device. The corresponding
ibcpanLamp_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanLamp xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanShutter
NAME
icbpanShutter - wrapper class for icbpanShutter_uifClass
SYNOPSIS
icbpanShutter .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB SHUT device. The corresponding
ibcpanShutter_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanShutter xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanNamedPos
NAME
icbpanNamedPos - wrapper class for icbpanNamedPos_uifClass
SYNOPSIS
icbpanNamedPos .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB motorized devices with discrete (named)
positions, such as FILT, MIRR, OPTI etc. The corresponding
ibcpanNamedPos_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanNamedPos xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PROTECTED METHODS
updateWdg item
this method is called to modify on-the-fly the appareance of
the widgets. E.g. if a particular param. selection requires also some
input values, the corresponding entry widget is enabled,
otherwise it is disabled. User can override this method to
implement some specific behaviour.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanContPos
NAME
icbpanContPos - wrapper class for icbpanContPos_uifClass
SYNOPSIS
icbpanContPos .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB POS device. The corresponding
ibcpanPos_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanContPos xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PROTECTED METHODS
updateWdg item
this method is called to modify on-the-fly the appareance of
the widgets. E.g. if a particular param. selection requires also some
input values, the corresponding entry widget is enabled,
otherwise it is disabled. User can override this method to
implement some specific behaviour.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanSlit2Len
NAME
icbpanSlit2Len - wrapper class for icbpanSlit2Len_uifClass
SYNOPSIS
icbpanSlit2Len .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB SLIT2 device. The corresponding
ibcpanSlit2Len_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit -left/right). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanSlit2Len xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PROTECTED METHODS
updateWdg item
this method is called to modify on-the-fly the appareance of
the widgets. E.g. if a particular param. selection requires also some
input values, the corresponding entry widget is enabled,
otherwise it is disabled. User can override this method to
implement some specific behaviour.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanSlit2Wid
NAME
icbpanSlit2Wid - wrapper class for icbpanSlit2Wid_uifClass
SYNOPSIS
icbpanSlit2Wid .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB SLIT2 device. The corresponding
ibcpanSlit2Wid_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit -left/right). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanSlit2Wid xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PROTECTED METHODS
updateWdg item
this method is called to modify on-the-fly the appareance of
the widgets. E.g. if a particular param. selection requires also some
input values, the corresponding entry widget is enabled,
otherwise it is disabled. User can override this method to
implement some specific behaviour.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanTilt
NAME
icbpanTilt - wrapper class for icbpanTilt_uifClass
SYNOPSIS
icbpanTilt .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB TILT device. The corresponding
ibcpanTilt_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanTilt xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PROTECTED METHODS
updateWdg item
this method is called to modify on-the-fly the appareance of
the widgets. E.g. if a particular param. selection requires also some
input values, the corresponding entry widget is enabled,
otherwise it is disabled. User can override this method to
implement some specific behaviour.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanGrat
NAME
icbpanGrat - wrapper class for icbpanGrat_uifClass
SYNOPSIS
icbpanAdc .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB GRAT device. The corresponding
ibcpanGrat_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit). The class contains also an option
button to select among various setup parameters and two entry widget
for setting position values (wlen/encoder + order). Finally a
checkbutton is used to indicate if the corresponding device is
selected for some actions.
PUBLIC METHODS
icbpanGrat xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PROTECTED METHODS
updateWdg item
this method is called to modify on-the-fly the appareance of
the widgets. E.g. if a particular param. selection requires also some
input values, the corresponding entry widget is enabled,
otherwise it is disabled. User can override this method to
implement some specific behaviour.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanDpol
NAME
icbpanDpol - wrapper class for icbpanDpol_uifClass
SYNOPSIS
icbpanDpol .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB DPOR device. The corresponding
ibcpanDpol_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanDpol xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PROTECTED METHODS
updateWdg item
this method is called to modify on-the-fly the appareance of
the widgets. E.g. if a particular param. selection requires also some
input values, the corresponding entry widget is enabled,
otherwise it is disabled. User can override this method to
implement some specific behaviour.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanAdc
NAME
icbpanAdc - wrapper class for icbpanAdc_uifClass
SYNOPSIS
icbpanAdc .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB ADC device. The corresponding
ibcpanAdc_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanAdc xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PROTECTED METHODS
updateWdg item
this method is called to modify on-the-fly the appareance of
the widgets. E.g. if a particular param. selection requires also some
input values, the corresponding entry widget is enabled,
otherwise it is disabled. User can override this method to
implement some specific behaviour.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanDrot
NAME
icbpanDrot - wrapper class for icbpanDrot_uifClass
SYNOPSIS
icbpanDrot .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB DROT device. The corresponding
ibcpanDrot_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active) and the current position
(named and in encoder unit). The class contains also an option
button to select among various setup parameters and an entry widget
for setting position values. Finally a checkbutton is used to
indicate if the corresponding device is selected for some actions.
PUBLIC METHODS
icbpanDrot xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. This method reads
from the option button and entry widget the current user
settings and prepare a string to be sent to ICS control process.
This method is normally called when the SETUP cmd is invoked.
setKeyw val
extract from "val" the keyword parameter + value and fill the
corresponding option button + entry. This method is called usually
during a reading of a previously saved setup file.
PROTECTED METHODS
updateWdg item
this method is called to modify on-the-fly the appareance of
the widgets. E.g. if a particular param. selection requires also some
input values, the corresponding entry widget is enabled,
otherwise it is disabled. User can override this method to
implement some specific behaviour.
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
icbpanSensor
NAME
icbpanSensor - wrapper class for icbpanSensor_uifClass
SYNOPSIS
icbpanSensor .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle sensor devices. The corresponding
ibcpanSensor_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, the current simulation level
(N=normal,S=simulate) and the current device state. A checkbutton
is used to indicate if the corresponding device is selected.
PUBLIC METHODS
icbpanSensor xxx
constructor. Read from ICS configuration file the number of
sensors, the corresponding names and descriptions. Dinamically
construct a set of output widgets linked to OLDB; every widget displays
the current value reported by the corresponding sensor. The
description is used as a short help text.
Calls "initFunction" which initialize every output widget with
data read from OLDB. It also attach an OLDB event to display every
change in the sensor's reported value. This is done by means of
the public method "dbUpdate".
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
dbUpdate
update output widgets associated to OLDB vector "last"
evtDbRestart
detach and attach event on OLDB vector "last"
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
isSensor
used (internally) during the construction
of the control panel to distinguish between a "normal" device
and a "sensor" device (see icbpanGUIcfg).
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8), icbpanGUIcfg(8)
### generated by docDeroff ###
icbpanSensorVer
NAME
icbpanSensorVer - subclass of icbpanSensor disposing sensors vertically
SYNOPSIS
icbpanSensorVer .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Subclass of icbpanSensor to handle sensor devices.
Sensor values are displayed vertically.
SEE ALSO
icbpanSensor(8)
### generated by docDeroff ###
icbpanSensorHor
NAME
icbpanSensorHor - subclass of icbpanSensor disposing sensors horizontally
SYNOPSIS
icbpanSensorHor .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Subclass of icbpanSensor to handle sensor devices.
Sensor values are displayed horizontally.
SEE ALSO
icbpanSensor(8)
### generated by docDeroff ###
icbpanSensorSqr
NAME
icbpanSensorSqr - subclass of icbpanSensor optimizing space in a square
SYNOPSIS
icbpanSensorSqr .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Subclass of icbpanSensor to handle sensor devices.
Sensor values are displayed equally distributed
vertically and horizontally.
SEE ALSO
icbpanSensor(8)
### generated by docDeroff ###
icbpanPmt
NAME
icbpanPmt - wrapper class for icbpanPmt_uifClass
SYNOPSIS
icbpanPmt .w
-background Grey90
-relief flat
-cfgObj $cfgObj
-cwp "<alias>${devName}"
-devType $devType]
where cfgObj is a ctooCONFIG object;
devType is extracted from INS.CON.DEVICE${i}
devName is extracted from ${devType}.DEVNAME
DESCRIPTION
Itcl wrapper class to handle ICB PMT (photomultiplier) device. The corresponding
ibcpanPmt_uifClass contains a set of output widget (linked to OLDB)
which in turn display the device name, keyword used to identify the
device, the current simulation level (N=normal,S=simulate), the current
device state, handset mode (H, if active), the current and the cumulated counts.
Finally a checkbutton is used to indicate if the corresponding device is
selected for some actions.
PUBLIC METHODS
icbpanPmt xxx
constructor. Calls "initFunction" which initialize the option
button with appropriate parameters.
isSelected
get the current status of the checkbutton (0/1).
setSelected 0/1
set the checkbutton state to 0 or 1 (unselected or selected).
getKeyw
returns the associated setup keyw. + value. Dummy
setKeyw val
This method is called usually during a reading of a previously
saved setup file. Dummy
PUBLIC VARIABLES
cfgObj
ctooCONFIG object (configuration file interface)
devType
device type extracted from INS.CON.DEVICE${i}
FILES
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES/*CONFIG.cfg
ENVIRONMENT
INS_ROOT Instrument root area
INTROOT Integration area
VLTROOT VLT area
SEE ALSO
ctooCONFIG(8)
### generated by docDeroff ###
___oOo___