From 8887c358d28c0e8e4ba7db3c5bcbf3489aa01cd7 Mon Sep 17 00:00:00 2001
From: remilia
Date: Mon, 20 Jan 2025 17:21:53 +0800
Subject: [PATCH] add ui update
---
src/main.py | 2 +-
src/nodes/Device.py | 43 +++++--
src/nodes/MainUI.py | 118 ++++++++++++++++++--
src/ui/Main.py | 172 ++++++++++++++++------------
src/ui/Main.ui | 266 +++++++++++++++++++++++++++-----------------
5 files changed, 413 insertions(+), 188 deletions(-)
diff --git a/src/main.py b/src/main.py
index 9bdee59..49cda58 100644
--- a/src/main.py
+++ b/src/main.py
@@ -21,7 +21,7 @@ if __name__ == '__main__':
Broker(),
WebRTC(),
MainUI(),
- Device(),
+ Device(level=logging.DEBUG),
ImageCV(),
Beamformer(),
Loader(),
diff --git a/src/nodes/Device.py b/src/nodes/Device.py
index d466971..6a505e2 100644
--- a/src/nodes/Device.py
+++ b/src/nodes/Device.py
@@ -15,9 +15,9 @@ logger = logging.getLogger(__name__)
class Device(Node):
topics = [SetDeviceConnectedMsg, SetDeviceEnabledMsg, SetDeviceConfigMsg]
- def __init__(self):
- super(Device, self).__init__()
- self.arg = ImageArgMsg('',t_start=0, t_end=1499)
+ def __init__(self, level=logging.INFO):
+ super(Device, self).__init__(level=level)
+ self.arg = ImageArgMsg('', t_start=0, t_end=1499)
self.seq_meta = None
self.device_rep_socket = None
self.ok = b'ok\x00'
@@ -43,21 +43,25 @@ class Device(Node):
rb = self.device_rep_socket.recv()
if rb == self.ok:
self.send(DeviceEnabledMsg(True))
+ return True
else:
logger.error(f"Device msg: {rb}")
+ return False
def disable(self):
self.device_rep_socket.send(b'disable')
rb = self.device_rep_socket.recv()
if rb == self.ok:
self.send(DeviceEnabledMsg(False))
+ return True
else:
logger.error(f"Device msg: {rb}")
+ return False
def online(self):
code = subprocess.run(['curl', '-m', '1', f'http://{LIVE_REP_SOCKET}'], stderr=subprocess.DEVNULL,
stdout=subprocess.DEVNULL).returncode
- print(code)
+ logger.info(f'detect curl code: {code}')
match code:
case 28 | 7:
self.send(DeviceOnlineMsg(False))
@@ -72,8 +76,10 @@ class Device(Node):
match rb:
case b'true':
self.send(DeviceEnabledMsg(True))
+ return True
case b'false':
self.send(DeviceEnabledMsg(False))
+ return False
case _:
logger.error(f"Device msg: {rb}")
@@ -83,12 +89,14 @@ class Device(Node):
match rb:
case b'true':
self.send(DeviceConnectedMsg(True))
+ return True
case b'false':
self.send(DeviceConnectedMsg(False))
+ return False
case _:
logger.error(f"Device msg: {rb}")
- def setfile(self, s: str):
+ def setfile00(self, s: str):
self.device_rep_socket.send(b'file' + s.encode())
rb = self.device_rep_socket.recv()
if rb == self.ok:
@@ -97,6 +105,25 @@ class Device(Node):
else:
logger.error(f"Device msg: {rb}")
+ def setfile(self, config_str: str):
+ if self.enabled():
+ self.disable()
+ self.setfileonly(config_str)
+ self.enable()
+ elif self.connected():
+ self.setfileonly(config_str)
+ else:
+ logger.warning(f"Device not connect, cannot set config")
+
+ def setfileonly(self, s: str):
+ self.device_rep_socket.send(b'fileonly' + s.encode())
+ rb = self.device_rep_socket.recv()
+ if rb == self.ok:
+ return True
+ else:
+ logger.error(f"Device msg: {rb}")
+ return False
+
def loop(self):
arr = []
self.device_rep_socket = self.context.socket(zmq.REQ)
@@ -108,10 +135,12 @@ class Device(Node):
for f in CONFIG.glob('*.txt'):
arr.append((f.stem, f.read_text()))
self.send(DeviceConfigListMsg(arr))
- if arr.__len__() > 0:
- self.setfile(arr[0][1])
+ # if arr.__len__() > 0:
+ # self.setfile(arr[0][1])
+ logger.debug(f'device start loop')
while True:
msg = self.recv()
+ logger.debug(f'{msg}')
if isinstance(msg, KillMsg):
if msg.name == '':
return
diff --git a/src/nodes/MainUI.py b/src/nodes/MainUI.py
index e4f6177..a95e136 100644
--- a/src/nodes/MainUI.py
+++ b/src/nodes/MainUI.py
@@ -1,5 +1,6 @@
import logging
import sys
+from enum import Enum, auto
from PyQt6 import QtCore
from PyQt6.QtCore import QByteArray
@@ -14,6 +15,12 @@ from utils.Msg import KillMsg, Msg, ImageArgMsg, SelectSeqMsg, SeqIdMinMax, Move
from utils.RfFile import RfSequenceMeta
+class LinkStatus(Enum):
+ RED = auto()
+ YELLOW = auto()
+ GREEN = auto()
+
+
class Adv(QMainWindow, Ui_MainWindow):
def __init__(self, p: Node, parent=None):
super(Adv, self).__init__(parent)
@@ -35,10 +42,34 @@ class Adv(QMainWindow, Ui_MainWindow):
self.record = False
self.device_connected = False
self.device_enabled = False
- self.b_device_enabled.clicked.connect(lambda: self.p.send(SetDeviceEnabledMsg(not self.device_enabled)))
- self.b_device_connected.clicked.connect(lambda: self.p.send(SetDeviceConnectedMsg(not self.device_connected)))
+ # self.b_device_enabled.clicked.connect(lambda: self.p.send(SetDeviceEnabledMsg(not self.device_enabled)))
+ # self.b_device_connected.clicked.connect(lambda: self.p.send(SetDeviceConnectedMsg(not self.device_connected)))
self.c_seq_meta.currentIndexChanged.connect(self.on_m)
+ def set_device_connection(self, status: LinkStatus):
+ match status:
+ case LinkStatus.RED:
+ self.lb_device_connection.setText('Disconnected')
+ self.lb_device_connection.setStyleSheet('background-color: pink;')
+ case LinkStatus.YELLOW:
+ self.lb_device_connection.setText('Waiting')
+ self.lb_device_connection.setStyleSheet('background-color: yellow;')
+ case LinkStatus.GREEN:
+ self.lb_device_connection.setText('Connected')
+ self.lb_device_connection.setStyleSheet('background-color: LightGreen;')
+
+ def set_device_enable(self, status: LinkStatus):
+ match status:
+ case LinkStatus.RED:
+ self.lb_device_enable.setText('Disabled')
+ self.lb_device_enable.setStyleSheet('background-color: pink;')
+ case LinkStatus.YELLOW:
+ self.lb_device_enable.setText('Waiting')
+ self.lb_device_enable.setStyleSheet('background-color: yellow;')
+ case LinkStatus.GREEN:
+ self.lb_device_enable.setText('Enabled')
+ self.lb_device_enable.setStyleSheet('background-color: LightGreen;')
+
def on_play_live(self):
self.b_play_live.setStyleSheet('background-color: red;')
self.b_play_playback.setStyleSheet('')
@@ -57,6 +88,73 @@ class Adv(QMainWindow, Ui_MainWindow):
self.p.send(SetPlayMode('playback'))
self.comboBox.setEnabled(True)
+ def on_device_disable(self):
+ self.p.send(SetDeviceEnabledMsg(False))
+ self.b_device_enable.setEnabled(False)
+ self.set_device_enable(LinkStatus.YELLOW)
+
+ def on_device_enable(self):
+ self.p.send(SetDeviceEnabledMsg(True))
+ self.b_device_enable.setEnabled(False)
+ self.set_device_enable(LinkStatus.YELLOW)
+
+ def on_device_disconnect(self):
+ self.p.send(SetDeviceConnectedMsg(False))
+ self.b_device_connection.setEnabled(False)
+ self.set_device_connection(LinkStatus.YELLOW)
+
+ def on_device_connect(self):
+ self.p.send(SetDeviceConnectedMsg(True))
+ self.b_device_connection.setEnabled(False)
+ self.set_device_connection(LinkStatus.YELLOW)
+
+ def update_device_buttons(self):
+ if self.device_connected and self.device_enabled:
+ self.b_device_connection.setText('Disconnect')
+ self.b_device_connection.setEnabled(False)
+ self.b_device_enable.setText('Disable')
+ self.b_device_enable.setEnabled(True)
+ try:
+ self.b_device_connection.clicked.disconnect()
+ except:
+ pass
+ try:
+ self.b_device_enable.clicked.disconnect()
+ except:
+ pass
+ self.b_device_enable.clicked.connect(self.on_device_disable)
+ if self.device_connected and not self.device_enabled:
+ self.b_device_connection.setText('Disconnect')
+ self.b_device_connection.setEnabled(True)
+ self.b_device_enable.setText('Enable')
+ self.b_device_enable.setEnabled(True)
+ try:
+ self.b_device_connection.clicked.disconnect()
+ except:
+ pass
+ try:
+ self.b_device_enable.clicked.disconnect()
+ except:
+ pass
+ self.b_device_enable.clicked.connect(self.on_device_enable)
+ self.b_device_connection.clicked.connect(self.on_device_disconnect)
+ if not self.device_connected and self.device_enabled:
+ raise Exception("wtf?")
+ if not self.device_connected and not self.device_enabled:
+ self.b_device_connection.setText('Connect')
+ self.b_device_connection.setEnabled(True)
+ self.b_device_enable.setText('Enable')
+ self.b_device_enable.setEnabled(False)
+ try:
+ self.b_device_connection.clicked.disconnect()
+ except:
+ pass
+ try:
+ self.b_device_enable.clicked.disconnect()
+ except:
+ pass
+ self.b_device_connection.clicked.connect(self.on_device_connect)
+
def on_record(self):
if self.record:
self.p.send(SetRecordMsg(False))
@@ -98,19 +196,21 @@ class Adv(QMainWindow, Ui_MainWindow):
self.s_t_end.setMaximum(max(self.seq_meta.shape))
elif isinstance(msg, DeviceConnectedMsg):
if msg.value:
- self.b_device_connected.setStyleSheet("background-color: green;")
self.device_connected = True
+ self.set_device_connection(LinkStatus.GREEN)
else:
- self.b_device_connected.setStyleSheet("background-color: red;")
self.device_connected = False
+ self.set_device_connection(LinkStatus.RED)
+ self.update_device_buttons()
elif isinstance(msg, DeviceEnabledMsg):
if msg.value:
- self.b_device_enabled.setStyleSheet("background-color: green;")
self.device_enabled = True
+ self.set_device_enable(LinkStatus.GREEN)
else:
- self.b_device_enabled.setStyleSheet("background-color: red;")
self.device_enabled = False
+ self.set_device_enable(LinkStatus.RED)
+ self.update_device_buttons()
elif isinstance(msg, DeviceOnlineMsg):
if msg.value:
self.l_online.setStyleSheet("")
@@ -129,6 +229,7 @@ class Adv(QMainWindow, Ui_MainWindow):
self.p.send(KillMsg(''))
# event.accept()
# event.ignore()
+
@QtCore.pyqtSlot(int)
def on_t_start(self, v):
if self.s_t_end.sender() is None:
@@ -154,8 +255,9 @@ class Adv(QMainWindow, Ui_MainWindow):
@QtCore.pyqtSlot(int)
def on_m(self, v):
if self.c_seq_meta.sender() is None or isinstance(self.c_seq_meta.sender(), QFrame):
- self.p.send(SetDeviceConfigMsg(self.c_seq_meta.itemData(v)))
- self.p.send(SeqMetaMsg(self.c_seq_meta.itemText(v)))
+ if self.c_seq_meta.itemText(v) != 'Empty':
+ self.p.send(SetDeviceConfigMsg(self.c_seq_meta.itemData(v)))
+ self.p.send(SeqMetaMsg(self.c_seq_meta.itemText(v)))
class MainUI(Node):
diff --git a/src/ui/Main.py b/src/ui/Main.py
index e2ab047..df2801d 100644
--- a/src/ui/Main.py
+++ b/src/ui/Main.py
@@ -66,43 +66,20 @@ class Ui_MainWindow(object):
self.gridLayout.addLayout(self.gridLayout_6, 1, 0, 1, 1)
self.gridLayout_4 = QtWidgets.QGridLayout()
self.gridLayout_4.setObjectName("gridLayout_4")
- self.spinBox_4 = QtWidgets.QSpinBox(parent=self.centralwidget)
- self.spinBox_4.setObjectName("spinBox_4")
- self.gridLayout_4.addWidget(self.spinBox_4, 1, 2, 1, 1)
- self.spinBox_6 = QtWidgets.QSpinBox(parent=self.centralwidget)
- self.spinBox_6.setObjectName("spinBox_6")
- self.gridLayout_4.addWidget(self.spinBox_6, 3, 2, 1, 1)
- self.label_10 = QtWidgets.QLabel(parent=self.centralwidget)
- self.label_10.setObjectName("label_10")
- self.gridLayout_4.addWidget(self.label_10, 3, 0, 1, 1)
- self.horizontalSlider_3 = QtWidgets.QSlider(parent=self.centralwidget)
- self.horizontalSlider_3.setOrientation(QtCore.Qt.Orientation.Horizontal)
- self.horizontalSlider_3.setObjectName("horizontalSlider_3")
- self.gridLayout_4.addWidget(self.horizontalSlider_3, 1, 1, 1, 1)
+ self.label_14 = QtWidgets.QLabel(parent=self.centralwidget)
+ self.label_14.setObjectName("label_14")
+ self.gridLayout_4.addWidget(self.label_14, 6, 0, 1, 1)
self.horizontalSlider_5 = QtWidgets.QSlider(parent=self.centralwidget)
self.horizontalSlider_5.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.horizontalSlider_5.setObjectName("horizontalSlider_5")
self.gridLayout_4.addWidget(self.horizontalSlider_5, 2, 1, 1, 1)
+ self.label_13 = QtWidgets.QLabel(parent=self.centralwidget)
+ self.label_13.setObjectName("label_13")
+ self.gridLayout_4.addWidget(self.label_13, 5, 0, 1, 1)
self.horizontalSlider_6 = QtWidgets.QSlider(parent=self.centralwidget)
self.horizontalSlider_6.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.horizontalSlider_6.setObjectName("horizontalSlider_6")
self.gridLayout_4.addWidget(self.horizontalSlider_6, 3, 1, 1, 1)
- self.spinBox_5 = QtWidgets.QSpinBox(parent=self.centralwidget)
- self.spinBox_5.setObjectName("spinBox_5")
- self.gridLayout_4.addWidget(self.spinBox_5, 2, 2, 1, 1)
- self.horizontalSlider_9 = QtWidgets.QSlider(parent=self.centralwidget)
- self.horizontalSlider_9.setOrientation(QtCore.Qt.Orientation.Horizontal)
- self.horizontalSlider_9.setObjectName("horizontalSlider_9")
- self.gridLayout_4.addWidget(self.horizontalSlider_9, 5, 1, 1, 1)
- self.label_9 = QtWidgets.QLabel(parent=self.centralwidget)
- self.label_9.setObjectName("label_9")
- self.gridLayout_4.addWidget(self.label_9, 2, 0, 1, 1)
- spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
- self.gridLayout_4.addItem(spacerItem, 8, 1, 1, 1)
- self.horizontalSlider_7 = QtWidgets.QSlider(parent=self.centralwidget)
- self.horizontalSlider_7.setOrientation(QtCore.Qt.Orientation.Horizontal)
- self.horizontalSlider_7.setObjectName("horizontalSlider_7")
- self.gridLayout_4.addWidget(self.horizontalSlider_7, 7, 1, 1, 1)
self.label_3 = QtWidgets.QLabel(parent=self.centralwidget)
font = QtGui.QFont()
font.setPointSize(20)
@@ -112,9 +89,57 @@ class Ui_MainWindow(object):
self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_3.setObjectName("label_3")
self.gridLayout_4.addWidget(self.label_3, 0, 0, 1, 3)
+ self.spinBox_9 = QtWidgets.QSpinBox(parent=self.centralwidget)
+ self.spinBox_9.setObjectName("spinBox_9")
+ self.gridLayout_4.addWidget(self.spinBox_9, 5, 2, 1, 1)
+ self.spinBox_5 = QtWidgets.QSpinBox(parent=self.centralwidget)
+ self.spinBox_5.setObjectName("spinBox_5")
+ self.gridLayout_4.addWidget(self.spinBox_5, 2, 2, 1, 1)
+ self.spinBox_11 = QtWidgets.QSpinBox(parent=self.centralwidget)
+ self.spinBox_11.setObjectName("spinBox_11")
+ self.gridLayout_4.addWidget(self.spinBox_11, 7, 2, 1, 1)
+ self.spinBox_10 = QtWidgets.QSpinBox(parent=self.centralwidget)
+ self.spinBox_10.setObjectName("spinBox_10")
+ self.gridLayout_4.addWidget(self.spinBox_10, 6, 2, 1, 1)
+ self.horizontalSlider_7 = QtWidgets.QSlider(parent=self.centralwidget)
+ self.horizontalSlider_7.setOrientation(QtCore.Qt.Orientation.Horizontal)
+ self.horizontalSlider_7.setObjectName("horizontalSlider_7")
+ self.gridLayout_4.addWidget(self.horizontalSlider_7, 7, 1, 1, 1)
+ self.horizontalSlider_10 = QtWidgets.QSlider(parent=self.centralwidget)
+ self.horizontalSlider_10.setOrientation(QtCore.Qt.Orientation.Horizontal)
+ self.horizontalSlider_10.setObjectName("horizontalSlider_10")
+ self.gridLayout_4.addWidget(self.horizontalSlider_10, 4, 1, 1, 1)
+ self.label_9 = QtWidgets.QLabel(parent=self.centralwidget)
+ self.label_9.setObjectName("label_9")
+ self.gridLayout_4.addWidget(self.label_9, 2, 0, 1, 1)
+ self.horizontalSlider_9 = QtWidgets.QSlider(parent=self.centralwidget)
+ self.horizontalSlider_9.setOrientation(QtCore.Qt.Orientation.Horizontal)
+ self.horizontalSlider_9.setObjectName("horizontalSlider_9")
+ self.gridLayout_4.addWidget(self.horizontalSlider_9, 5, 1, 1, 1)
+ self.label_10 = QtWidgets.QLabel(parent=self.centralwidget)
+ self.label_10.setObjectName("label_10")
+ self.gridLayout_4.addWidget(self.label_10, 3, 0, 1, 1)
+ self.spinBox_6 = QtWidgets.QSpinBox(parent=self.centralwidget)
+ self.spinBox_6.setObjectName("spinBox_6")
+ self.gridLayout_4.addWidget(self.spinBox_6, 3, 2, 1, 1)
+ self.spinBox_4 = QtWidgets.QSpinBox(parent=self.centralwidget)
+ self.spinBox_4.setObjectName("spinBox_4")
+ self.gridLayout_4.addWidget(self.spinBox_4, 1, 2, 1, 1)
+ self.label_12 = QtWidgets.QLabel(parent=self.centralwidget)
+ self.label_12.setObjectName("label_12")
+ self.gridLayout_4.addWidget(self.label_12, 4, 0, 1, 1)
+ self.spinBox_8 = QtWidgets.QSpinBox(parent=self.centralwidget)
+ self.spinBox_8.setObjectName("spinBox_8")
+ self.gridLayout_4.addWidget(self.spinBox_8, 4, 2, 1, 1)
self.label_11 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_11.setObjectName("label_11")
self.gridLayout_4.addWidget(self.label_11, 7, 0, 1, 1)
+ self.horizontalSlider_3 = QtWidgets.QSlider(parent=self.centralwidget)
+ self.horizontalSlider_3.setOrientation(QtCore.Qt.Orientation.Horizontal)
+ self.horizontalSlider_3.setObjectName("horizontalSlider_3")
+ self.gridLayout_4.addWidget(self.horizontalSlider_3, 1, 1, 1, 1)
+ spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+ self.gridLayout_4.addItem(spacerItem, 8, 1, 1, 1)
self.label_8 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_8.setObjectName("label_8")
self.gridLayout_4.addWidget(self.label_8, 1, 0, 1, 1)
@@ -122,31 +147,6 @@ class Ui_MainWindow(object):
self.horizontalSlider_8.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.horizontalSlider_8.setObjectName("horizontalSlider_8")
self.gridLayout_4.addWidget(self.horizontalSlider_8, 6, 1, 1, 1)
- self.horizontalSlider_10 = QtWidgets.QSlider(parent=self.centralwidget)
- self.horizontalSlider_10.setOrientation(QtCore.Qt.Orientation.Horizontal)
- self.horizontalSlider_10.setObjectName("horizontalSlider_10")
- self.gridLayout_4.addWidget(self.horizontalSlider_10, 4, 1, 1, 1)
- self.label_12 = QtWidgets.QLabel(parent=self.centralwidget)
- self.label_12.setObjectName("label_12")
- self.gridLayout_4.addWidget(self.label_12, 4, 0, 1, 1)
- self.label_13 = QtWidgets.QLabel(parent=self.centralwidget)
- self.label_13.setObjectName("label_13")
- self.gridLayout_4.addWidget(self.label_13, 5, 0, 1, 1)
- self.label_14 = QtWidgets.QLabel(parent=self.centralwidget)
- self.label_14.setObjectName("label_14")
- self.gridLayout_4.addWidget(self.label_14, 6, 0, 1, 1)
- self.spinBox_8 = QtWidgets.QSpinBox(parent=self.centralwidget)
- self.spinBox_8.setObjectName("spinBox_8")
- self.gridLayout_4.addWidget(self.spinBox_8, 4, 2, 1, 1)
- self.spinBox_9 = QtWidgets.QSpinBox(parent=self.centralwidget)
- self.spinBox_9.setObjectName("spinBox_9")
- self.gridLayout_4.addWidget(self.spinBox_9, 5, 2, 1, 1)
- self.spinBox_10 = QtWidgets.QSpinBox(parent=self.centralwidget)
- self.spinBox_10.setObjectName("spinBox_10")
- self.gridLayout_4.addWidget(self.spinBox_10, 6, 2, 1, 1)
- self.spinBox_11 = QtWidgets.QSpinBox(parent=self.centralwidget)
- self.spinBox_11.setObjectName("spinBox_11")
- self.gridLayout_4.addWidget(self.spinBox_11, 7, 2, 1, 1)
self.gridLayout.addLayout(self.gridLayout_4, 2, 1, 1, 1)
self.gridLayout_5 = QtWidgets.QGridLayout()
self.gridLayout_5.setObjectName("gridLayout_5")
@@ -206,15 +206,32 @@ class Ui_MainWindow(object):
self.gridLayout.addLayout(self.gridLayout_5, 2, 0, 1, 1)
self.gridLayout_3 = QtWidgets.QGridLayout()
self.gridLayout_3.setObjectName("gridLayout_3")
+ self.horizontalLayout = QtWidgets.QHBoxLayout()
+ self.horizontalLayout.setObjectName("horizontalLayout")
+ self.label_20 = QtWidgets.QLabel(parent=self.centralwidget)
+ self.label_20.setObjectName("label_20")
+ self.horizontalLayout.addWidget(self.label_20)
self.c_seq_meta = QtWidgets.QComboBox(parent=self.centralwidget)
self.c_seq_meta.setObjectName("c_seq_meta")
- self.gridLayout_3.addWidget(self.c_seq_meta, 3, 0, 1, 1)
- self.b_device_enabled = QtWidgets.QPushButton(parent=self.centralwidget)
- self.b_device_enabled.setObjectName("b_device_enabled")
- self.gridLayout_3.addWidget(self.b_device_enabled, 2, 0, 1, 1)
- self.b_device_connected = QtWidgets.QPushButton(parent=self.centralwidget)
- self.b_device_connected.setObjectName("b_device_connected")
- self.gridLayout_3.addWidget(self.b_device_connected, 1, 0, 1, 1)
+ self.c_seq_meta.addItem("")
+ self.horizontalLayout.addWidget(self.c_seq_meta)
+ self.horizontalLayout.setStretch(1, 1)
+ self.gridLayout_3.addLayout(self.horizontalLayout, 3, 0, 1, 4)
+ self.b_device_enable = QtWidgets.QPushButton(parent=self.centralwidget)
+ self.b_device_enable.setEnabled(False)
+ self.b_device_enable.setObjectName("b_device_enable")
+ self.gridLayout_3.addWidget(self.b_device_enable, 2, 3, 1, 1)
+ self.b_device_connection = QtWidgets.QPushButton(parent=self.centralwidget)
+ self.b_device_connection.setObjectName("b_device_connection")
+ self.gridLayout_3.addWidget(self.b_device_connection, 2, 1, 1, 1)
+ self.label_24 = QtWidgets.QLabel(parent=self.centralwidget)
+ self.label_24.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+ self.label_24.setObjectName("label_24")
+ self.gridLayout_3.addWidget(self.label_24, 1, 2, 2, 1)
+ self.lb_device_connection = QtWidgets.QLabel(parent=self.centralwidget)
+ self.lb_device_connection.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+ self.lb_device_connection.setObjectName("lb_device_connection")
+ self.gridLayout_3.addWidget(self.lb_device_connection, 1, 1, 1, 1)
self.l_online = QtWidgets.QLabel(parent=self.centralwidget)
font = QtGui.QFont()
font.setPointSize(15)
@@ -222,7 +239,17 @@ class Ui_MainWindow(object):
self.l_online.setStyleSheet("background-color: pink;")
self.l_online.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.l_online.setObjectName("l_online")
- self.gridLayout_3.addWidget(self.l_online, 0, 0, 1, 1)
+ self.gridLayout_3.addWidget(self.l_online, 0, 0, 1, 4)
+ self.lb_device_enable = QtWidgets.QLabel(parent=self.centralwidget)
+ self.lb_device_enable.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+ self.lb_device_enable.setObjectName("lb_device_enable")
+ self.gridLayout_3.addWidget(self.lb_device_enable, 1, 3, 1, 1)
+ self.label_21 = QtWidgets.QLabel(parent=self.centralwidget)
+ self.label_21.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+ self.label_21.setObjectName("label_21")
+ self.gridLayout_3.addWidget(self.label_21, 1, 0, 2, 1)
+ self.gridLayout_3.setColumnStretch(1, 1)
+ self.gridLayout_3.setColumnStretch(3, 1)
self.gridLayout.addLayout(self.gridLayout_3, 0, 0, 1, 1)
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
@@ -262,6 +289,7 @@ class Ui_MainWindow(object):
font = QtGui.QFont()
font.setPointSize(15)
self.label_19.setFont(font)
+ self.label_19.setStyleSheet("background-color: pink;")
self.label_19.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_19.setObjectName("label_19")
self.gridLayout_2.addWidget(self.label_19, 0, 0, 1, 2)
@@ -290,22 +318,28 @@ class Ui_MainWindow(object):
self.label_17.setText(_translate("MainWindow", "RecordName"))
self.b_play_live.setText(_translate("MainWindow", "Live"))
self.label_18.setText(_translate("MainWindow", "Space left 1000GB"))
- self.label_10.setText(_translate("MainWindow", "Z"))
- self.label_9.setText(_translate("MainWindow", "Y"))
+ self.label_14.setText(_translate("MainWindow", "Yal"))
+ self.label_13.setText(_translate("MainWindow", "Pitch"))
self.label_3.setText(_translate("MainWindow", "Probe Position"))
+ self.label_9.setText(_translate("MainWindow", "Y"))
+ self.label_10.setText(_translate("MainWindow", "Z"))
+ self.label_12.setText(_translate("MainWindow", "Roll"))
self.label_11.setText(_translate("MainWindow", "E"))
self.label_8.setText(_translate("MainWindow", "X"))
- self.label_12.setText(_translate("MainWindow", "Roll"))
- self.label_13.setText(_translate("MainWindow", "Pitch"))
- self.label_14.setText(_translate("MainWindow", "Yal"))
self.label_7.setText(_translate("MainWindow", "TextLabel"))
self.label_6.setText(_translate("MainWindow", "TextLabel"))
self.label_2.setText(_translate("MainWindow", "Imaging"))
self.label_5.setText(_translate("MainWindow", "t_end"))
self.label_15.setText(_translate("MainWindow", "t_start"))
- self.b_device_enabled.setText(_translate("MainWindow", "Beam"))
- self.b_device_connected.setText(_translate("MainWindow", "Connection"))
+ self.label_20.setText(_translate("MainWindow", "DeviceConfig"))
+ self.c_seq_meta.setItemText(0, _translate("MainWindow", "Empty"))
+ self.b_device_enable.setText(_translate("MainWindow", "Disconnect"))
+ self.b_device_connection.setText(_translate("MainWindow", "Connect"))
+ self.label_24.setText(_translate("MainWindow", "
Beam
Status
"))
+ self.lb_device_connection.setText(_translate("MainWindow", "Disconnected"))
self.l_online.setText(_translate("MainWindow", "Device Offline"))
+ self.lb_device_enable.setText(_translate("MainWindow", "Disabled"))
+ self.label_21.setText(_translate("MainWindow", "Connection
Status
"))
self.label.setText(_translate("MainWindow", "Base Path"))
self.l_base.setText(_translate("MainWindow", "/mnt/16T/private_dataset/us/"))
self.b_base.setText(_translate("MainWindow", "Open"))
diff --git a/src/ui/Main.ui b/src/ui/Main.ui
index 21c6062..f4f238f 100644
--- a/src/ui/Main.ui
+++ b/src/ui/Main.ui
@@ -115,23 +115,10 @@
-
-
-
-
-
- -
-
-
- -
-
+
-
+
- Z
-
-
-
- -
-
-
- Qt::Horizontal
+ Yal
@@ -142,6 +129,13 @@
+ -
+
+
+ Pitch
+
+
+
-
@@ -149,43 +143,6 @@
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- Y
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
-
@@ -203,6 +160,69 @@
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Y
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Z
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ Roll
+
+
+
+ -
+
+
-
@@ -210,6 +230,26 @@
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
-
@@ -224,46 +264,6 @@
- -
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- Roll
-
-
-
- -
-
-
- Pitch
-
-
-
- -
-
-
- Yal
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
@@ -375,25 +375,65 @@
-
-
-
-
-
+
+
-
+
+
-
+
+
+ DeviceConfig
+
+
+
+ -
+
+
-
+
+ Empty
+
+
+
+
+
- -
-
+
-
+
+
+ false
+
- Beam
+ Disconnect
- -
-
+
-
+
- Connection
+ Connect
- -
+
-
+
+
+ <html><head/><body><p style="line-height:0.3" align="center">Beam</p><p align="center">Status</p></body></html>
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Disconnected
+
+
+ Qt::AlignCenter
+
+
+
+ -
@@ -411,6 +451,26 @@
+ -
+
+
+ Disabled
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ <html><head/><body><p style="line-height:0.3" align="center">Connection</p><p align="center">Status</p></body></html>
+
+
+ Qt::AlignCenter
+
+
+
-