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 + + +