update in table writes to LASTPWR
This commit is contained in:
@@ -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":{
|
||||
|
||||
70
src/gui.py
70
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)
|
||||
|
||||
Reference in New Issue
Block a user