canbug修复
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user