fix loader

This commit is contained in:
flandre 2025-04-12 18:09:49 +08:00
parent 0b95169db5
commit 5dd16e09ae
5 changed files with 26 additions and 16 deletions

View File

@ -71,13 +71,24 @@ class SoftwareConfig:
def playback_socket(self): def playback_socket(self):
return f'tcp://127.0.0.1:{self.playback_port}' return f'tcp://127.0.0.1:{self.playback_port}'
mi_rep_port: int = 5557
local_ip: str = '127.0.0.1' local_ip: str = '127.0.0.1'
mi_rep_port: int = 5557
muxer_rep_port: int = 5560
driver_rep_port: int = 5561
@property @property
def mi_rep_socket(self): def mi_rep_socket(self):
return self.s(self.local_ip, self.device_py_rep_port) return self.s(self.local_ip, self.device_py_rep_port)
@property
def muxer_rep_socket(self):
return self.s(self.local_ip, self.muxer_rep_port)
@property
def driver_rep_socket(self):
return self.s(self.local_ip, self.driver_rep_port)
switch1_ip: str = 'c1' switch1_ip: str = 'c1'
switch1_token: str = '7ad51e0016e7a9d22f753d5110f76c7d' switch1_token: str = '7ad51e0016e7a9d22f753d5110f76c7d'
switch2_ip: str = 'c2' switch2_ip: str = 'c2'

View File

@ -194,7 +194,7 @@ class Device(Node):
def custom_setup(self): def custom_setup(self):
self.rep_socket = self.context.socket(zmq.REP) self.rep_socket = self.context.socket(zmq.REP)
self.rep_socket.bind(f"tcp://localhost:5561") self.rep_socket.bind(f"tcp://localhost:{C.driver_rep_port}")
self.c.poller.register(self.rep_socket, zmq.POLLIN) self.c.poller.register(self.rep_socket, zmq.POLLIN)
self.req_driver_socket = self.context.socket(zmq.REQ) self.req_driver_socket = self.context.socket(zmq.REQ)

View File

@ -30,9 +30,9 @@ class Muxer(Node):
def custom_setup(self): def custom_setup(self):
self.rep_socket: zmq.Socket = self.c.ctx.socket(zmq.REP) self.rep_socket: zmq.Socket = self.c.ctx.socket(zmq.REP)
self.rep_socket.bind('tcp://localhost:5560') self.rep_socket.bind(f'tcp://localhost:{C.muxer_rep_port}')
self.req_driver_socket: zmq.Socket = self.c.ctx.socket(zmq.REQ) self.req_driver_socket: zmq.Socket = self.c.ctx.socket(zmq.REQ)
self.req_driver_socket.connect('tcp://localhost:5561') self.req_driver_socket.connect(C.driver_rep_socket)
self.c.poller.register(self.rep_socket, zmq.POLLIN) self.c.poller.register(self.rep_socket, zmq.POLLIN)
@property @property
@ -43,7 +43,7 @@ class Muxer(Node):
}.get(self.play_mode, None) }.get(self.play_mode, None)
return seq_meta return seq_meta
def process_request(self): def handle_rep_socket(self):
self.rep_socket.recv() self.rep_socket.recv()
if self.play_mode is None: if self.play_mode is None:
self.rep_socket.send(BeamformerMsg(b'init').encode_msg()) self.rep_socket.send(BeamformerMsg(b'init').encode_msg())
@ -70,6 +70,7 @@ class Muxer(Node):
raise NotImplementedError() raise NotImplementedError()
if (data_msg.data.__len__() // 2) != self.current_meta.prod(): if (data_msg.data.__len__() // 2) != self.current_meta.prod():
self.rep_socket.send(BeamformerMsg(b'nop').encode_msg()) self.rep_socket.send(BeamformerMsg(b'nop').encode_msg())
return
self.rep_socket.send(BeamformerMsg( self.rep_socket.send(BeamformerMsg(
SeqMetaMsg('any', self.current_meta.name).encode_msg() + SeqMetaMsg('any', self.current_meta.name).encode_msg() +
self.arg.encode_msg() + self.arg.encode_msg() +
@ -93,7 +94,7 @@ class Muxer(Node):
if k == device_socket: if k == device_socket:
pass pass
if k == self.rep_socket: if k == self.rep_socket:
self.process_request() self.handle_rep_socket()
if k == self.c.sub: if k == self.c.sub:
msg = self.recv() msg = self.recv()
if isinstance(msg, RfFrameWithMetaMsg): if isinstance(msg, RfFrameWithMetaMsg):

View File

@ -501,9 +501,6 @@ border-radius: 7px;
</item> </item>
<item row="0" column="1" colspan="2"> <item row="0" column="1" colspan="2">
<widget class="QComboBox" name="c_playback_seq_name"> <widget class="QComboBox" name="c_playback_seq_name">
<property name="enabled">
<bool>false</bool>
</property>
<property name="editable"> <property name="editable">
<bool>false</bool> <bool>false</bool>
</property> </property>

View File

@ -1,20 +1,22 @@
import shutil import shutil
import sys
import subprocess import subprocess
import sys
from pathlib import Path from pathlib import Path
import click import click
import flandre
from flandre.launcher import launch_from_file
from flandre.config import C
@click.command() @click.command()
@click.option('--data_folder', default=None) @click.option('--data_folder', default=None)
@click.option('--generate_pyqt', default=True) @click.option('--generate_pyqt', default=True)
@click.option('--dev/--no-dev', default=True) @click.option('--dev/--no-dev', default=True)
def main(data_folder, generate_pyqt, dev): def main(data_folder, generate_pyqt, dev):
if dev:
sys.argv.append('--dev')
import flandre
from flandre.launcher import launch_from_file
from flandre.config import C
if (pyuic6 := shutil.which('pyuic6')) is None: if (pyuic6 := shutil.which('pyuic6')) is None:
print('pyuic6 is not installed') print('pyuic6 is not installed')
return return
@ -22,8 +24,7 @@ def main(data_folder, generate_pyqt, dev):
subprocess.run([pyuic6, '-o', flandre.PYQT / 'Main.py', flandre.PYQT / 'Main.ui']) subprocess.run([pyuic6, '-o', flandre.PYQT / 'Main.py', flandre.PYQT / 'Main.ui'])
if data_folder is not None: if data_folder is not None:
C.data_folder = Path(data_folder) C.data_folder = Path(data_folder)
if dev:
sys.argv.append('--dev')
launch_from_file(Path(__file__).parent / 'launch.toml') launch_from_file(Path(__file__).parent / 'launch.toml')