fix many
This commit is contained in:
parent
b7164b7c78
commit
8427211b78
@ -7,7 +7,7 @@ import zmq
|
||||
|
||||
from config import PLAYBACK_SOCKET_PORT, SOFTWARE_CONFIG
|
||||
from nodes.Node import Node
|
||||
from utils.Msg import MoveAxisMsg, KillMsg, SelectSeqMsg, SetSeqMetaMsg, SeqIdMinMax, SetBaseMsg, SeqListMsg, SeqIdList, \
|
||||
from utils.Msg import MoveAxisMsg, KillMsg, SetSeqMetaMsg, SeqIdMinMax, SetBaseMsg, SeqListMsg, SeqIdList, \
|
||||
SetSidMsg
|
||||
from utils.RfFile import RfSequence
|
||||
|
||||
@ -15,7 +15,7 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Loader(Node):
|
||||
topics = [MoveAxisMsg, SelectSeqMsg, SetBaseMsg, SetSidMsg]
|
||||
topics = [MoveAxisMsg, SetSeqMetaMsg, SetBaseMsg, SetSidMsg]
|
||||
|
||||
def loop(self):
|
||||
playback_socket = self.context.socket(zmq.PUSH)
|
||||
@ -37,13 +37,14 @@ class Loader(Node):
|
||||
buffer.write(struct.pack('=iqi', 114514, frame.meta.sequence_id, frame.meta.encoder))
|
||||
buffer.write(frame.bytes)
|
||||
playback_socket.send(buffer.getvalue())
|
||||
elif isinstance(msg, SelectSeqMsg):
|
||||
elif isinstance(msg, SetSeqMetaMsg):
|
||||
if base is None:
|
||||
continue
|
||||
rff = RfSequence.from_folder(base / msg.value)
|
||||
self.send(SetSeqMetaMsg('playback', rff.meta.name))
|
||||
if msg.target == 'playback':
|
||||
rff = RfSequence.from_folder(base / msg.name)
|
||||
self.send(SeqIdMinMax(*rff.seq_id_minmax))
|
||||
self.send(SeqIdList([f.meta.sequence_id for f in rff.frames]))
|
||||
self.send(SetSidMsg(0))
|
||||
elif isinstance(msg, SetBaseMsg):
|
||||
base = Path(msg.value)
|
||||
seq_list = [f.name for f in base.glob('*')]
|
||||
|
||||
@ -6,6 +6,7 @@ from enum import Enum, auto
|
||||
from pathlib import Path
|
||||
|
||||
from PyQt6 import QtCore
|
||||
from PyQt6 import QtGui
|
||||
from PyQt6.QtCore import QByteArray
|
||||
from PyQt6.QtWidgets import QMainWindow, QApplication, QFrame, QMessageBox, QFileDialog
|
||||
|
||||
@ -13,7 +14,7 @@ from Main import Ui_MainWindow
|
||||
from ZMQReceiver import ZMQReceiver
|
||||
from config import DS, SOFTWARE_CONFIG
|
||||
from nodes.Node import Node
|
||||
from utils.Msg import KillMsg, Msg, ImageArgMsg, SelectSeqMsg, SeqIdMinMax, MoveAxisMsg, SeqListMsg, SetBaseMsg, \
|
||||
from utils.Msg import KillMsg, Msg, ImageArgMsg, SeqIdMinMax, MoveAxisMsg, SeqListMsg, SetBaseMsg, \
|
||||
SetSeqMetaMsg, SetPlayMode, DeviceConnectedMsg, DeviceEnabledMsg, DeviceOnlineMsg, SetDeviceEnabledMsg, \
|
||||
SetDeviceConnectedMsg, DeviceConfigListMsg, SetDeviceConfigMsg, SetRecordMsg, RobotRtsiMsg, RecordFrameMsg, \
|
||||
SeqIdList, SetWindowVisibleMsg, SetSidMsg
|
||||
@ -59,7 +60,8 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
self.s_t_start.valueChanged.connect(self.on_t_start)
|
||||
self.s_t_end.valueChanged.connect(self.on_t_end)
|
||||
self.c_playback_seq_name.currentIndexChanged.connect(self.on_select_plyayback_seq_name)
|
||||
self.s_sid.valueChanged.connect(self.c_sid)
|
||||
self.s_sid.valueChanged.connect(self.on_s_sid)
|
||||
self.sp_sid.valueChanged.connect(self.on_sp_sid)
|
||||
self.arg = ImageArgMsg('ui', t_start=0, t_end=1499)
|
||||
self.b_base.clicked.connect(self.on_base_open)
|
||||
self.seq_meta: RfSequenceMeta | None = None
|
||||
@ -73,6 +75,10 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
# self.b_device_connected.clicked.connect(lambda: self.p.send(SetDeviceConnectedMsg(not self.device_connected)))
|
||||
self.c_live_seq_name.currentIndexChanged.connect(self.on_seq_meta)
|
||||
self.l_base.setText(SOFTWARE_CONFIG.base_dir.__str__())
|
||||
self.l_base.textChanged.connect(lambda e:
|
||||
self.l_base.setStyleSheet("")
|
||||
if Path(e).exists() else
|
||||
self.l_base.setStyleSheet("background-color: pink;"))
|
||||
|
||||
self.b1, self.b2 = False, False
|
||||
self.b3, self.b4 = False, False
|
||||
@ -250,7 +256,7 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
if msg.name == '':
|
||||
self.close()
|
||||
elif isinstance(msg, ImageArgMsg):
|
||||
self.s_t_end.setValue(msg.t_start)
|
||||
self.s_t_start.setValue(msg.t_start)
|
||||
self.s_t_end.setValue(msg.t_end)
|
||||
elif isinstance(msg, MoveAxisMsg):
|
||||
match msg.axis:
|
||||
@ -260,6 +266,7 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
# self.l_seq_current.setText(str(self.seq_id_list[msg.value]))
|
||||
elif isinstance(msg, SetSidMsg):
|
||||
self.s_sid.setValue(msg.value)
|
||||
self.sp_sid.setValue(msg.value)
|
||||
self.l_seq_current.setText(str(self.seq_id_list[msg.value]))
|
||||
elif isinstance(msg, SeqIdList):
|
||||
self.seq_id_list = msg.li
|
||||
@ -274,13 +281,14 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
for name in msg.value:
|
||||
self.c_playback_seq_name.addItem(name)
|
||||
if msg.value.__len__() > 0:
|
||||
self.p.send(
|
||||
SelectSeqMsg(self.c_playback_seq_name.itemText(self.c_playback_seq_name.currentIndex())))
|
||||
self.p.send(SetSeqMetaMsg('playback', self.c_playback_seq_name.itemText(
|
||||
self.c_playback_seq_name.currentIndex())))
|
||||
self.b_play_playback.setEnabled(True)
|
||||
elif isinstance(msg, SetSeqMetaMsg):
|
||||
self.seq_meta = RfSequenceMeta.from_name(msg.name)
|
||||
self.s_t_start.setMaximum(max(self.seq_meta.shape))
|
||||
self.s_t_end.setMaximum(max(self.seq_meta.shape))
|
||||
mmax_shape0 = max(self.seq_meta.shape)
|
||||
self.s_t_start.setMaximum(mmax_shape0)
|
||||
self.s_t_end.setMaximum(mmax_shape0)
|
||||
elif isinstance(msg, DeviceConnectedMsg):
|
||||
if msg.value:
|
||||
self.set_device_connection(LinkStatus.GREEN)
|
||||
@ -345,14 +353,17 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
@QtCore.pyqtSlot(int)
|
||||
def on_select_plyayback_seq_name(self, v):
|
||||
if self.c_playback_seq_name.sender() is None or isinstance(self.c_playback_seq_name.sender(), QFrame):
|
||||
self.p.send(SelectSeqMsg(self.c_playback_seq_name.itemText(v)))
|
||||
self.p.send(SetSeqMetaMsg('playback', self.c_playback_seq_name.itemText(v)))
|
||||
|
||||
@QtCore.pyqtSlot(int)
|
||||
def c_sid(self, v):
|
||||
def on_s_sid(self, v):
|
||||
if self.s_sid.sender() is None:
|
||||
self.sp_sid.setValue(v)
|
||||
self.p.send(SetSidMsg(v))
|
||||
# self.p.send(MoveAxisMsg('ui', 'S', v))
|
||||
|
||||
@QtCore.pyqtSlot(int)
|
||||
def on_sp_sid(self, v):
|
||||
if self.sp_sid.sender() is None:
|
||||
self.p.send(SetSidMsg(v))
|
||||
|
||||
@QtCore.pyqtSlot(int)
|
||||
def on_seq_meta(self, v):
|
||||
@ -377,9 +388,14 @@ class MainUI(Node):
|
||||
def loop(self):
|
||||
try:
|
||||
app = QApplication(sys.argv)
|
||||
app.setDesktopFileName('TestTest')
|
||||
if platform.system() == 'Windows':
|
||||
app.setStyle('windowsvista')
|
||||
MainWindow = Adv(self)
|
||||
# icon = QtGui.QIcon()
|
||||
# icon.addPixmap(QtGui.QPixmap("remilia3.png"),
|
||||
# QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
||||
# MainWindow.setApp(icon)
|
||||
# MainWindow.move(int(px), int(py))
|
||||
# MainWindow.resize(int(sx), int(sy))
|
||||
MainWindow.show()
|
||||
|
||||
@ -370,7 +370,7 @@ class Ui_MainWindow(object):
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
|
||||
MainWindow.setWindowTitle(_translate("MainWindow", "Scarlet Flandre Control Panel"))
|
||||
self.label_20.setText(_translate("MainWindow", "DeviceConfig"))
|
||||
self.c_live_seq_name.setItemText(0, _translate("MainWindow", "Empty"))
|
||||
self.b_device_enable.setText(_translate("MainWindow", "Disconnect"))
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>MainWindow</string>
|
||||
<string>Scarlet Flandre Control Panel</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QGridLayout" name="gridLayout" rowstretch="0,0,0,0,0">
|
||||
|
||||
@ -13,7 +13,6 @@ class BG(Enum):
|
||||
StrMsg = auto()
|
||||
MoveAxisMsg = auto()
|
||||
ImageArgMsg = auto()
|
||||
SelectSeqMsg = auto()
|
||||
SetSeqMetaMsg = auto()
|
||||
SeqIdMinMax = auto()
|
||||
SetBaseMsg = auto()
|
||||
@ -143,9 +142,6 @@ class SeqListMsg(Msg):
|
||||
value: list[str]
|
||||
|
||||
|
||||
class SelectSeqMsg(StrMsg):
|
||||
pass
|
||||
|
||||
|
||||
class SetPlayMode(StrMsg):
|
||||
pass
|
||||
|
||||
Loading…
Reference in New Issue
Block a user