ソースを参照

增强KCS亮度读取与设置的响应兼容性

完善亮度读取方法,支持处理长度为7的响应格式,提升对不同设备返回值的兼容性。设置亮度时,新增对"!"响应的成功判断,适配更多设备返回情况。
徐孝锋 7 ヶ月 前
コミット
140b26a673
1 ファイル変更12 行追加0 行削除
  1. 12 0
      TeamAAS-VM/Core/Lights/KCSLightController.cs

+ 12 - 0
TeamAAS-VM/Core/Lights/KCSLightController.cs

@@ -176,6 +176,14 @@ namespace TeamAAS_VP.Core.Lights
                     return brightness;
                 }
             }
+            else if (response.Length == 7)
+            {
+                string valueStr = response.Substring(3, 3);
+                if (int.TryParse(valueStr, out int brightness))
+                {
+                    return brightness;
+                }
+            }
             // 返回默认亮度 0(表示读取失败或设备返回异常)
             return 0;
         }
@@ -192,6 +200,10 @@ namespace TeamAAS_VP.Core.Lights
         {
             string command = $"S{(char)('A' + channelIndex)}0{brightness.ToString("D3")}#";
             var response = await SendCommandAsync(command);
+            if (response=="!")
+            {
+                return true;
+            }
             // 成功时返回通道字母(例如 'A'),去除空白后比较
             return response?.Trim() == ((char)('A' + channelIndex)).ToString();
         }