From 2d31f2acb44ff7504bbb6603609359d14247bced Mon Sep 17 00:00:00 2001 From: scarlet Date: Mon, 26 May 2025 23:16:52 -0700 Subject: [PATCH] fix frame bug --- flandre/__init__.py | 2 +- flandre/launcher.py | 6 ++++++ flandre/nodes/Beamformer.py | 3 +++ flandre/nodes/Muxer.py | 3 ++- flandre/pyqt/Image.py | 2 +- flandre/utils/RfFrame.py | 2 +- 6 files changed, 14 insertions(+), 4 deletions(-) diff --git a/flandre/__init__.py b/flandre/__init__.py index b487cea..6bcf114 100644 --- a/flandre/__init__.py +++ b/flandre/__init__.py @@ -60,7 +60,7 @@ class SoftwareConfig: video_height: int = 1080 video_width: int = 960 - live_ip: str = 'vmaosmax' + live_ip: str = 'scarlet' live_push_port: int = 5555 live_rep_port: int = 5556 device_py_rep_port: int = 5558 diff --git a/flandre/launcher.py b/flandre/launcher.py index b7268b4..17430fb 100644 --- a/flandre/launcher.py +++ b/flandre/launcher.py @@ -240,6 +240,12 @@ def device_end_capture(): def device_upload(name, file: TextIOWrapper): dd.set_name_and_file_only(name, file.read()) +@device.command('recv_single') +def device_recvmonitor(): + r = dd.get_data() + seq, encoder, host_ts, device_ts_low, device_ts_high, buffer = b2t(r) + print(seq, encoder, host_ts, device_ts_low, device_ts_high) + print((buffer.__len__()//2)/256) @device.command('recvm') def device_recvmonitor(): diff --git a/flandre/nodes/Beamformer.py b/flandre/nodes/Beamformer.py index 9d584fb..b2dd465 100644 --- a/flandre/nodes/Beamformer.py +++ b/flandre/nodes/Beamformer.py @@ -113,6 +113,9 @@ class Beamformer(Node): continue mat = RfMat.from_rf_frame(rf_frame_msg.rf_frame, 'gpu') # logger.info(mat.frame_meta.blake2b) + if mat is None: + logger.warning(f"{rf_frame_msg.rf_frame.seq_meta.prod()} , {rf_frame_msg.rf_frame.__bytes__().__len__() // 2}") + continue last_blake2b = mat.frame_meta.blake2b if mat is None: diff --git a/flandre/nodes/Muxer.py b/flandre/nodes/Muxer.py index d20d5f5..ed50bcd 100644 --- a/flandre/nodes/Muxer.py +++ b/flandre/nodes/Muxer.py @@ -80,7 +80,8 @@ class Muxer(Node): self.rep_socket.send(BeamformerMsg(b'nop').encode_msg()) return # _, sequence_id, encoder = struct.unpack_from('=IQi', self.driver_data_raw) - ts, sequence_id, encoder, driver_data_body = b2t(self.driver_data_raw) + # ts, sequence_id, encoder, driver_data_body = b2t(self.driver_data_raw) + sequence_id, encoder, host_ts, device_ts_low, device_ts_high, driver_data_body = b2t(self.driver_data_raw) data_msg = RfFrameMsg(0, RfFrameMemory( RfFrameMeta( encoder=encoder, diff --git a/flandre/pyqt/Image.py b/flandre/pyqt/Image.py index 3f446e1..cc5a11e 100644 --- a/flandre/pyqt/Image.py +++ b/flandre/pyqt/Image.py @@ -1,4 +1,4 @@ -# Form implementation generated from reading ui file '/home/lambda/source/scarlet/flandre/flandre/pyqt/Image.ui' +# Form implementation generated from reading ui file 'C:\Users\lambda\source\scarlet\flandre\flandre\pyqt\Image.ui' # # Created by: PyQt6 UI code generator 6.8.0 # diff --git a/flandre/utils/RfFrame.py b/flandre/utils/RfFrame.py index e861335..5411645 100644 --- a/flandre/utils/RfFrame.py +++ b/flandre/utils/RfFrame.py @@ -52,6 +52,6 @@ def b2t(b: bytes): # device_ts_low = struct.unpack('