From bcab5267fa69ebeefed893dd068aeb5f37ee5953 Mon Sep 17 00:00:00 2001 From: chrin Date: Fri, 2 Jun 2023 14:11:55 +0200 Subject: [PATCH] update in table writes to LASTPWR --- hush.json | 2 +- src/gui.py | 70 +++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 54 insertions(+), 18 deletions(-) diff --git a/hush.json b/hush.json index 201343e..1d6be43 100755 --- a/hush.json +++ b/hush.json @@ -87,7 +87,7 @@ -220.024, 404.640, 83.663, -65.592, -11.409, 406.150, 317.827], "pwrref" : [7.037, 2.681, 2.353, 0.074, 0.106, 0.002, 0.006, 4.301, 4.091, 45.333, 1.385, 0.857, 0.064, 44.196, 8.692], - "iocDevice" : ["ABT", "AK1","AK2"] + "iocDevice" : ["ABT", "ABK1","ABK2"] }, "Parameters":{ diff --git a/src/gui.py b/src/gui.py index 356f35f..c0ccbbd 100644 --- a/src/gui.py +++ b/src/gui.py @@ -71,8 +71,12 @@ class AppGui(QWidget): self.I_min = 1.0 + sec_state_list = ['SEC-IP2:STATE','SEC-IW2:STATE','SEC-PK1:STATE','SEC-PK2:STATE', + 'SEC-SINQ:STATE','SEC-UCN:STATE'] + self.cafe.openPrepare() self.cafe.open(['HUSH:LASTPWR','HUSH:TOTPWR','HUSH:LASTSAVE','HUSH:TOTSAVE']) + self.cafe.open(sec_state_list) self.cafe.openNowAndWait(0.1) @@ -152,8 +156,27 @@ class AppGui(QWidget): self.gui_header.beam_current_wgt_dict[ "PK2"].trigger_monitor_float.connect(receive_pk2_update) - #self.cafe.monitor("MWC2:IST:2", cb) - #print(dir(self.gui_header.header_wgt.layout().widget()), flush=True) + + def receive_sec_state(handle, pv, pvdata): + #print(pv) + #pvdata.show() + pvsplit = pv.split(":") + secsplit = pvsplit[0].split("SEC-") + sec = secsplit[1] + if pvdata.value[0] == 'ON': + #print("sec-ON", secsplit[1], flush=True) + self.table_sol_dict[sec].init_value_button.setEnabled(True) + self.table_pwr_dict[sec].init_value_button.setEnabled(True) + else: + #print("sec-OFF", secsplit[1], flush=True) + self.table_sol_dict[sec].init_value_button.setEnabled(False) + self.table_pwr_dict[sec].init_value_button.setEnabled(False) + + #print("sec", secsplit[1], flush=True) + + for state in sec_state_list: + self.cafe.monitor(state, receive_sec_state) + def group_sector_status(self): @@ -202,6 +225,7 @@ class AppGui(QWidget): for i, sector in enumerate(self.settings.data["header"][idx:]): a, b, c, d, e, f = self.sector_status(sector) + a.setContentsMargins(2, 0, 0, 0) qgrid.addWidget(a, i+1, 0, 1, 1) qgrid.addWidget(b, i+1, 1, 1, 1) qgrid.addWidget(c, i+1, 2, 1, 1) @@ -216,9 +240,9 @@ class AppGui(QWidget): qtot = QLabel("Total:") - f = qtot.font() - f.setPixelSize(13) - qtot.setFont(f) + fnt = qtot.font() + fnt.setPixelSize(13) + qtot.setFont(fnt) qgrid.addWidget(qtot, _row+1, 0, 1, 1) qgrid.addWidget( CAQLineEdit(self, pv_name="HUSH:LASTPWR", show_units=True), @@ -239,7 +263,12 @@ class AppGui(QWidget): qw.setContentsMargins(9, 9, 9, 9) qw.setObjectName("OUTER") qw.setLayout(qgrid) - qw.setFixedWidth(490) #480 + qw.setFixedWidth(496) #480 + + #for column_no in range(0, 5): + # qgrid.itemAtPosition(1, column_no).widget().setStyleSheet("QWidget { background: lightblue; }") #addStyleName( + #item = qgrid.itemAt(2) #.widget().setStyleSheet("QLabel { background-color: green }") + #item.widget().setStyleSheet("background-color: green") #widgets on grid from left to right starting at top rtow return qw @@ -278,17 +307,17 @@ class AppGui(QWidget): #print("device", device, flush=True) def cb_outtime(handle, pv, pvdata): - _delta = "{}".format(str(timedelta(seconds=(pvdata.value[0])))) - if ", " in _delta: - _split = _delta.split(", ") - if len(_split[1]) == len("0:00:00"): - _delta = _split[0] + ", " + _split[1] - if 'days,' in _delta: - _delta = _delta.replace("days,", "d") - elif 'day,' in _delta: - _delta = _delta.replace("day,", "d") try: - self.offtime_dict[pv].setText(_delta) + _delta = "{}".format(str(timedelta(seconds=(pvdata.value[0])))) + if ", " in _delta: + _split = _delta.split(", ") + if len(_split[1]) == len("0:00:00"): + _delta = _split[0] + ", " + _split[1] + if 'days,' in _delta: + _delta = _delta.replace("days,", "d") + elif 'day,' in _delta: + _delta = _delta.replace("day,", "d") + self.offtime_dict[pv].setText(_delta) except KeyError: pass @@ -302,8 +331,10 @@ class AppGui(QWidget): qptotsave = CAQLineEdit(self, pv_name=pv_pwr_totsave, show_units=False) qptime = CAQLineEdit(self, pv_name=pv_pwr_timeout, - monitor_callback=cb_outtime, show_units=True) + monitor_callback=cb_outtime, show_units=True) self.offtime_dict[pv_pwr_timeout] = qptime + + qptime.setFixedWidth(104) @@ -675,6 +706,11 @@ class AppGui(QWidget): table_pwr.init_value_button.click() time.sleep(0.1) table_sol.init_value_button.setEnabled(True) + pv = "SEC-" + table_pwr.init_value_button.sector + ":LASTPWR" + _sum = sum(table_pwr.get_init_values().values()) + #print("SUM up all the values", pv, _sum, flush=True) + stat = self.cafe.set(pv, _sum) + self.check_status(pv, stat, _line()) def on_init_update(): table_pwr.init_value_button.setEnabled(False)