From fada3ae9ff54995bb73e60180d4d3f621b3c36d7 Mon Sep 17 00:00:00 2001 From: flandre Date: Tue, 13 May 2025 19:40:05 +0800 Subject: [PATCH] opt --- cmd_example.ipynb | 92 ++++++++++++++++++++++++++++++++++----------- flandre/launcher.py | 18 +++++---- 2 files changed, 81 insertions(+), 29 deletions(-) diff --git a/cmd_example.ipynb b/cmd_example.ipynb index 55d223b..8f63883 100644 --- a/cmd_example.ipynb +++ b/cmd_example.ipynb @@ -3,8 +3,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-05-13T11:19:50.850223Z", - "start_time": "2025-05-13T11:19:35.463013Z" + "end_time": "2025-05-13T11:36:01.540670Z", + "start_time": "2025-05-13T11:35:46.165848Z" } }, "cell_type": "code", @@ -15,69 +15,117 @@ "name": "stdout", "output_type": "stream", "text": [ - "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:19:38.685] WARNING - retry DeviceCmd.SetConnectionOn\r\n", - "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:19:41.688] WARNING - retry DeviceCmd.SetConnectionOn\r\n", - "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:19:44.691] WARNING - retry DeviceCmd.SetConnectionOn\r\n", - "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:19:47.696] WARNING - retry DeviceCmd.SetConnectionOn\r\n", - "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:19:50.699] WARNING - retry DeviceCmd.SetConnectionOn\r\n", - "\"/home/lambda/source/scarlet/flandre/flandre/BusClient.py:102\" [2025-05-13 19:19:50.699] WARNING - timeout\r\n", - "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:83\" [2025-05-13 19:19:50.700] ERROR - Device msg: timeout\r\n" + "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:35:49.385] WARNING - retry DeviceCmd.SetConnectionOn\r\n", + "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:35:52.388] WARNING - retry DeviceCmd.SetConnectionOn\r\n", + "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:35:55.392] WARNING - retry DeviceCmd.SetConnectionOn\r\n", + "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:35:58.396] WARNING - retry DeviceCmd.SetConnectionOn\r\n", + "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:67\" [2025-05-13 19:36:01.400] WARNING - retry DeviceCmd.SetConnectionOn\r\n", + "\"/home/lambda/source/scarlet/flandre/flandre/BusClient.py:102\" [2025-05-13 19:36:01.400] WARNING - timeout\r\n", + "\"/home/lambda/source/scarlet/flandre/flandre/nodes/Device.py:83\" [2025-05-13 19:36:01.400] ERROR - Device msg: timeout\r\n" ] } ], - "execution_count": 34 + "execution_count": 20 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-05-13T11:19:54.021623Z", - "start_time": "2025-05-13T11:19:51.402588Z" + "end_time": "2025-05-13T11:36:04.715332Z", + "start_time": "2025-05-13T11:36:01.555254Z" } }, "cell_type": "code", "source": "!flandre device upload fakename config/device/max-256-120,U=120,M=PWI,S=\\(256\\ 6002\\).txt", "id": "ac406034e9609c90", "outputs": [], - "execution_count": 35 + "execution_count": 21 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-05-13T11:19:56.434235Z", - "start_time": "2025-05-13T11:19:54.591188Z" + "end_time": "2025-05-13T11:36:06.566925Z", + "start_time": "2025-05-13T11:36:04.775985Z" } }, "cell_type": "code", "source": "!flandre device enable", "id": "ab586d49c1b1ba92", "outputs": [], - "execution_count": 36 + "execution_count": 22 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-05-13T11:20:10.235636Z", - "start_time": "2025-05-13T11:20:08.501316Z" + "end_time": "2025-05-13T11:38:34.478865Z", + "start_time": "2025-05-13T11:38:32.692081Z" } }, "cell_type": "code", "source": "!flandre device disable", "id": "ca701d64ece107ad", "outputs": [], - "execution_count": 37 + "execution_count": 23 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-05-13T11:20:20.518130Z", - "start_time": "2025-05-13T11:20:18.355438Z" + "end_time": "2025-05-13T11:38:37.102263Z", + "start_time": "2025-05-13T11:38:35.000899Z" } }, "cell_type": "code", "source": "!flandre device disconnect", "id": "43b7940521fe2281", "outputs": [], - "execution_count": 38 + "execution_count": 24 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-05-13T11:32:13.810739Z", + "start_time": "2025-05-13T11:32:13.065558Z" + } + }, + "cell_type": "code", + "source": "!flandre mi on c1", + "id": "bd2895e5dacbaeb8", + "outputs": [], + "execution_count": 6 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-05-13T11:32:05.715847Z", + "start_time": "2025-05-13T11:32:04.786438Z" + } + }, + "cell_type": "code", + "source": "!flandre mi off c1", + "id": "b58d3d068ddc33e7", + "outputs": [], + "execution_count": 2 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-05-13T11:32:18.968005Z", + "start_time": "2025-05-13T11:32:18.047624Z" + } + }, + "cell_type": "code", + "source": "!flandre mi status c1", + "id": "11a05cd3e0992fd9", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\r\n", + "14\r\n" + ] + } + ], + "execution_count": 9 } ], "metadata": { diff --git a/flandre/launcher.py b/flandre/launcher.py index 3215147..4a78ee6 100644 --- a/flandre/launcher.py +++ b/flandre/launcher.py @@ -21,6 +21,7 @@ from flandre.kde_pyqt6_mainui import kde_pyqt6_mainui from flandre.nodes.Broker import Broker from flandre.nodes.Device import Device, DeviceCmd from flandre.utils.Msg import KillMsg, NodeOnlineMsg, Msg1, Msg2 +from flandre.utils.RfFrame import b2t from flandre.utils.mi import MiSwitch @@ -158,7 +159,7 @@ def on(name): @click.argument('name') def off(name): if name == 'c1': - mi2.off() + mi1.off() if name == 'c2': mi2.off() @@ -167,12 +168,10 @@ def off(name): @click.argument('name') def status(name): if name == 'c1': - mi = MiSwitch(C.switch1_ip, C.switch1_token) - print(mi.is_on()) - print(mi.power()) + print(mi1.is_on()) + print(mi1.power()) if name == 'c2': - mi = MiSwitch(C.switch2_ip, C.switch2_token) - print(mi.is_on()) + print(mi2.is_on()) device_req: Socket = None @@ -217,14 +216,19 @@ def device_disable(): def device_upload(name, file: TextIOWrapper): dd.set_name_and_file_only(name, file.read()) + @device.command('recvtest') def device_upload(): ctx = zmq.Context() pull = ctx.socket(zmq.PULL) pull.connect(C.live_push_socket) + last_ts = 0 while True: b = pull.recv() - print(b.__len__()) + _, sequence_id, ts, encoder = b2t(b) + # print(b.__len__()) + print(ts - last_ts) + last_ts = ts if __name__ == '__main__':