Reports 1-1 of 1 Clear search Modify search
AdV-ISC (Subsystem management)
michimura - 22:14 Monday 23 July 2018 (42186) Print this report
Comment to PyQt graphical user interfaces for ISC (42150)

I also made a GUI for ISC photodiodes, which can be used to monitor DC and RF signals, and to tune demodulation phases (screenshot attached).
Latest stable version live in /virgoDev/PyIscGui/.
You can open the GUI by

> python ISCphotodiodes.py


Details:
 - Use _phi0 channels to tune the demodulation phase (_phi0_offset for SSFS_B4)

 - You can also press Enter/Return key to apply values (you don't have to click "Apply" button). This is also true for LSCoverview.py and ASCoverview.py.

 - "datadisplay" buttons show the data display which can be used to tune demodulation phases. The configuraton file for the data display live in /olusers/virgorun/ISC/dataDisplay.

 - It also shows the current values of channels to select PD1 and PD2 so that it is apparent which photodiodes are used and what gain we have between PD1/PD2 and the combined signal sent to LSC. To get these channels with ConnectOnline, I had to connect with something like 'V1:SNEB_B7' (not 'V1:SNEB'). To monitor the weight channels, I added/modified the following lines in Acl configurations files:

SNEB_Photodiodes.cfg line 265
ACL_SMS    "SNEB_"    B7_6MHz_I    B7_6MHz_Q    B7_56MHz_I    B7_56MHz_Q    B7_DC;

SWEB_Photodiodes.cfg line 250
ACL_SMS    "SWEB_"    B8_6MHz_I    B8_6MHz_Q    B8_56MHz_I    B8_56MHz_Q    B8_DC;

SIB2_Photodiodes.cfg line 423
ACL_SMS    "SIB2_"    B2_6MHz_I    B2_6MHz_Q    B2_8MHz_I    B2_8MHz_Q    B2_DC;

SDB2_Photodiodes.cfg line 779-782
ACL_SMS "SDB2_"    B1p_DC_20kHz    B1p_6MHz_I    B1p_6MHz_Q    B1p_8MHz_I    B1p_8MHz_Q    B1p_56MHz_I    B1p_56MHz_Q;
ACL_SMS "SDB2_"    B1s1_DC_20kHz    B1s1_6MHz_I    B1s1_6MHz_Q;
ACL_SMS "SDB2_"    B1s2_DC_20kHz;
ACL_SMS "SDB2_"    B5_DC_20kHz    B5_6MHz_I    B5_6MHz_Q;

SPRB_Photodiodes.cfg line 428
ACL_DAQ            "SPRB_"    ""    B4_PD_select


 - Photodiode channels are not symmetric. Very confusing. Below are the list of exceptions;
  - SNEB_B7_PD#_DC_100Hz and SWEB_B8_PD#_DC_100Hz exists, but not _DC
  - SPRB_B4_PD_select is used for PD selection, not weights
  - PD#_Blended signals, not PD#_DC are used for SNEB_B7, SWEB_B8, SDB2_B5, SDB2_B1s1, SDB2_B1s2
  - SNEB_B7_PD1_56MHz, SWEB_B8_PD2_56MHz, SIB2_B2_PD1_8MHz, SDB2_B5_PD1_6MHz, SDB2_B1s1_PD2, SDB2_B1s2_PD2 channels do not exist
  - SIB2_B2_PD1_6MHz, SIB2_B2_PD1_DC and SDB2_B5_PD1_DC exist, but weights do not exist
  - for SDB2 PDs, weight channels are *_PD#_DC_20kHz_*, not *_PD#_DC_*


IscGui.py for parsing and showing GUI:
 I also made a script IscGui.py which parses the Qt GUI configuration file (*.ui) and show the GUI. For example, you can also open ISC Photodiodes screen with

> python IscGui.py ISCphotodiodes.ui

 This is useful because you only need to make .ui file with Qt Designer to make a new GUI. However, it can only parse limited widgets with certain names, and give fixed functions to them. Below are the widgets IscGui.py can handle.

Widget class   Name                          Function
QLineEdit      {channelname}_value           show the current value (QTextEdit for showing current filter name)
QPushButton    {channelname}_apply           apply the requested value in QLineEdit explained below
QLineEdit      {channelname]_request         enter the requested value
QPushButton    {channelname}_filter_apply    apply the filter requested in QTextEdit explained below
QTextEdit      {channelname}_filter_request  enter the requested filter
QPushButton    {channelname}_weight_apply    apply the weight for the input channel in QComboBox with the requested weight in QLineEdit explained below
QComboBox      {channelname}_channel_request select the requested input channel
QTextEdit      {channelname}_weight_request  enter the requested weight
QLineEdit      {channelname}_channel_1 or _2 show the input channels which has the largest and second largest weight
QLineEdit      {channelname}_weight_1 or _2  show the largest and second largest weight


 I think this is useful to initiate GUIs (but the final versions should be different python codes for different .ui files for maintenance point of view).

Images attached to this comment
Search Help
×

Warning

Error

The present report has been modified outside this window. Please check for its integrity in the main page.

Refreshing this page will move this report into drafts.

×