From b47a8fd600734d5441b728b711cb213f230fb132 Mon Sep 17 00:00:00 2001 From: zqm Date: Tue, 4 Nov 2025 10:46:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4DeviceManager.cs=E4=B8=AD?= =?UTF-8?q?=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=E6=B8=A9=E5=BA=A6=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=BC=A0=E8=BE=93=E5=BC=80=E5=A7=8B=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96TCP=E8=BF=9E=E6=8E=A5=E5=90=8E?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=E6=8E=A5=E6=94=B6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Robot/Web/src/DockLayout/ToDoList.md | 9 +++- .../Toprie/Toprie/DeviceManager.cs | 52 +++---------------- 2 files changed, 14 insertions(+), 47 deletions(-) diff --git a/AutoRobot/Windows/Robot/Web/src/DockLayout/ToDoList.md b/AutoRobot/Windows/Robot/Web/src/DockLayout/ToDoList.md index 755ab1c..5b74886 100644 --- a/AutoRobot/Windows/Robot/Web/src/DockLayout/ToDoList.md +++ b/AutoRobot/Windows/Robot/Web/src/DockLayout/ToDoList.md @@ -3,4 +3,11 @@ 2. 最大化时,填充满父容器。 3. 还原时,恢复到最大化前的位置和大小。 4. 关闭时,从父容器中移除。 -5. 拖拽时,不允许超出父容器边界。 \ No newline at end of file +5. 拖拽时,允许在父容器内移动,不允许超出父容器边界。 + +### Panel +1. 初始添加时,默认宽300px,高250px。位置相对父容器水平居中,垂直居中。 +2. 最大化时,填充满父容器。 +3. 还原时,恢复到最大化前的位置和大小。 +4. 关闭时,从父容器中移除。 +5. 拖拽时,允许在父容器内移动,不允许超出父容器边界。 \ No newline at end of file diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs b/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs index 793edad..5eb3e36 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs @@ -1224,12 +1224,8 @@ namespace JoyD.Windows.CS.Toprie // 温度数据接收状态更新代码已移除,因为未被使用 - // 发送开始温度数据传输的命令 - 修改为热像仪可能接受的格式 - // 根据常见热像仪协议,尝试使用简单的命令格式 - byte[] startCommand = Encoding.ASCII.GetBytes("start\r\n"); - localStream.Write(startCommand, 0, startCommand.Length); - localStream.Flush(); - Log("已发送开始温度数据传输命令: 'start\r\n'"); + // 根据SDK文档,建立TCP连接后不需要发送任何开始命令 + Log("TCP连接已建立,等待接收温度数据..."); } catch (Exception ex) { @@ -1337,47 +1333,11 @@ namespace JoyD.Windows.CS.Toprie // 跳出内层循环,回到外层循环重新建立连接 break; } - // 如果连接有效但数据传输可能已停止,尝试重新发送开始命令 - // 这是为了解决暂停后恢复时DataAvailable始终为false的问题 - try + // 根据SDK文档,建立TCP连接后不需要发送任何开始命令 + // 从暂停状态恢复时,只需继续监听数据流即可 + if (lastPaused && !isPaused) { - // 发送开始温度数据传输的命令 - byte[] startCommand = Encoding.ASCII.GetBytes("start_temp_transfer\r\n"); - localStream.Write(startCommand, 0, startCommand.Length); - localStream.Flush(); - - // 只有在从暂停状态恢复时(状态从true变为false的瞬间)才记录日志 - lock (_lockObject) - { - if (lastPaused && !_isTemperatureReceivingPaused) - { - Log("从暂停状态恢复,重新发送开始温度数据传输命令"); - } - } - } - catch (Exception ex) - { - Log($"重新发送开始命令失败: {ex.Message}"); - // 发送失败,可能连接已断开,需要重建连接 - try - { - if (localStream != null) - { - localStream.Close(); - localStream = null; - } - if (localTcpClient != null) - { - localTcpClient.Close(); - localTcpClient = null; - } - } - catch (Exception closeEx) - { - Log($"关闭失败连接时发生异常: {closeEx.Message}"); - } - // 跳出内层循环,回到外层循环重新建立连接 - break; + Log("从暂停状态恢复,继续接收温度数据"); } }