canbug修复

This commit is contained in:
hsc
2026-07-17 08:59:02 +08:00
parent 2dfc819bcc
commit 74d544c288
3 changed files with 83 additions and 23 deletions

View File

@@ -117,13 +117,23 @@ namespace MonitorModule.ViewModels.Dialogs
EnsureValueLimit(fingerprint, displayName, displayName, methodName);
}
// 3. 发现 CAN 信号并加入 ValueLimitList / DeviceSingleList
// 3. 发现 CAN 信号并加入 ValueLimitList,同时收集有效信号名
var validCanSignalNames = new HashSet<string>();
foreach (var (displayName, fingerprint, methodName) in DiscoverCanSignals())
{
//DeviceSingleList.Add(displayName);
_canSignalMap[displayName] = (fingerprint, methodName);
EnsureValueLimit(fingerprint, displayName, displayName, methodName);
validCanSignalNames.Add(displayName);
}
// 4. 清理已不存在于 DBC 中的 CAN 信号Fingerprint 以 "CAN" 开头且不在有效集合中)
var staleCanSignals = ValueLimitList
.Where(x => !string.IsNullOrEmpty(x.Fingerprint) &&
x.Fingerprint.StartsWith("CAN") &&
!validCanSignalNames.Contains(x.SignalName))
.ToList();
foreach (var item in staleCanSignals)
ValueLimitList.Remove(item);
}
/// <summary>