From d1c4bcda420fa884e33ef4e4fcbb2fbb7fc60c6a Mon Sep 17 00:00:00 2001 From: zqm Date: Thu, 8 Jan 2026 08:56:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8F=9C=E5=8D=95=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs | 8 +++++++- Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs index 374f359..cef7af4 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs @@ -125,10 +125,15 @@ namespace JoyD.Windows.CS.Toprie { _deviceManager.ProjectPath = _projectPath; } + + // ProjectPath改变时,无论是否为自动配置,都要加载菜单 + LoadMenuConfig(); + // 只有当自动配置开启时,才加载配置文件 if (_autoConfig && !_isConfigLoaded) { - LoadAllConfigs(); + LoadZoneConfig(); + LoadTemperatureDiffConfig(); // 设置配置已加载标志 _isConfigLoaded = true; } @@ -332,6 +337,7 @@ namespace JoyD.Windows.CS.Toprie /// private void LoadAllConfigs() { + LoadMenuConfig(); LoadZoneConfig(); LoadTemperatureDiffConfig(); } diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs b/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs index a0318b2..d022310 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs @@ -2250,7 +2250,11 @@ namespace JoyD.Windows.CS.Toprie // 如果解析失败或长度不合理,使用默认值 if (payloadLength <= 0 || payloadLength > 1000000) // 合理性检查 { - Log($"警告: 从头部解析的payload长度不合理 ({payloadLength}),使用默认值"); + // 提取原始4个字节,不作字节序变换 + byte[] rawBytes = new byte[4]; + Array.Copy(headerData, 5, rawBytes, 0, 4); + string hexString = BitConverter.ToString(rawBytes).Replace("-", ""); + Log($"警告: 从头部解析的payload长度不合理 ({hexString}={payloadLength}),使用默认值"); payloadLength = WIDTH * HEIGHT * 2; // 使用默认分辨率计算 } }