# CameraTestTool **Repository Path**: wang-bo324/camera-test-tool ## Basic Information - **Project Name**: CameraTestTool - **Description**: 用于测试MephistoCamera的简单TCP/UDP通信工具 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-26 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Camera Test Tool ## 项目简介 本项目是一个基于 PySide6 的图形化 TCP/UDP 通信测试工具,适用于摄像头/温控板等设备的指令调试、批量曝光测试、自动回复模拟等场景。 - TCP通信功能:支持曝光指令、批量曝光、普通指令发送,模拟处理曝光流程。 - UDP通信功能:支持温控板模拟,自动回复温度/真空度等指令。 - 日志功能:所有操作和通信日志实时显示。 --- ## 安装依赖 建议使用 Python 3.8+,安装依赖: ```bash pip install PySide6 ``` --- ## 启动方法 ```bash python main.py ``` --- ## 主要界面说明 ### 1. OCS模拟(TCP) - 目标IP/端口/本地端口:设置TCP连接参数。 - 曝光指令区: - 发送曝光指令,自动处理曝光流程。 - 支持批量曝光(txt文件,每行一条指令)。 - 可自定义读出时间。 - 其他指令区:发送普通TCP指令。 - 返回信息框:显示最近一次发送后的通信内容。 - 清除返回信息:一键清空返回信息栏。 ### 2. 温控板模拟(UDP) - 目标IP/端口、本地监听端口:设置UDP参数。 - 发送内容:发送UDP指令。 - 自动回复功能:收到`temp_read`/`vaccu_read`等指令自动模拟回复。 - 返回信息框:显示最近一次发送后的通信内容。 - 清除返回信息:一键清空返回信息栏。 ### 3. 日志窗口 - 所有操作、回复、批量流程等日志实时显示。 --- ## 双相机批量(第三个TAB) 在 `main_reconnect.py` 中新增的第三个 TAB「双相机批量」支持同时配置 290(主序列)与 4720(副序列),并按两种模式执行批量流程。 ### 界面结构 - 相机290(主序列) - 目标IP地址、目标端口号、本地端口 - 超时等待(s) - 选择290批量文件(必选) - 相机4720(副序列) - 目标IP地址、目标端口号、本地端口 - 超时等待(s) - 4720预计读出用时(s):仅在“不同时读出”模式显示 - 选择4720批量文件(必选) - 共用控制区 - 重拍次数(共用) - 模式:不同时读出 / 允许同时读出 - 触发延迟(s):仅在“允许同时读出”模式显示 - 开始组合批量 / 中断全部 仅当两个批量文件均已选择时,才能开始组合批量。 ### 重拍与ABORT - 重拍策略与单相机模式一致:超时→ABORT→重试;重拍次数汇总在“重拍次数(共用)”。 - ABORT:290 ``,4720 ``,`CamID=25078` 固定。 ### 指令与完成标识 - 曝光时间解析:`EXPST_TIME=...`(缺省按 10s) - 完成标识:`` ### 模式一:不同时读出(窗口期) - 290 开启窗口 `[发送时刻, 发送时刻 + 曝光时间]` - 4720 的可行性:`当前时间 + (exp4720 + 预计读出用时)` 必须落入窗口 - 窗口到点仍未完成则对 4720 强制 ABORT,在下个窗口重试 - 一个窗口可执行多条 4720(逐条判断) ### 模式二:允许同时读出(基于 bs 触发) - 若 290 指令包含子串 ``,则在发送后延迟 `D` 秒触发一次 4720 发送(`D` 可配置,默认 3s) - 触发单次排队:只保留 1 个待触发 - 若 4720 正在执行,触发会等待空闲后消费;若 4720 无剩余指令则忽略 ### 建议 - 不同时读出:合理设置“4720预计读出用时(s)”(如 6s 起),避免频繁强制ABORT - 允许同时读出:根据设备负载调整“触发延迟(s)”