CAN优化
This commit is contained in:
@@ -69,7 +69,7 @@ namespace UIShare.GlobalVariable
|
||||
{
|
||||
if (_disposed) return;
|
||||
|
||||
string signalFingerprint = BuildFingerprint(channel);
|
||||
string signalFingerprint = BuildFingerprint(canFingerprint, channel);
|
||||
var now = DateTime.Now;
|
||||
|
||||
// 获取引用该 CAN 设备的所有作用域
|
||||
@@ -133,11 +133,12 @@ namespace UIShare.GlobalVariable
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成 CAN 信号的 Fingerprint 格式:"CAN:{Channel}"
|
||||
/// 生成 CAN 信号的 Fingerprint 格式:"{canDeviceFingerprint}:{channel}"
|
||||
/// canDeviceFingerprint 来自 DeviceManager.ExtractHardwareFingerprint,如 "CAN:0"
|
||||
/// </summary>
|
||||
public static string BuildFingerprint(uint channel)
|
||||
public static string BuildFingerprint(string canDeviceFingerprint, uint channel)
|
||||
{
|
||||
return $"CAN:{channel}";
|
||||
return $"{canDeviceFingerprint}:{channel}";
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
||||
@@ -71,6 +71,20 @@ namespace UIShare.GlobalVariable
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前作用域配置的 CAN 设备硬件指纹(与 GlobalInfo.CanPool 的 Key 一致)。
|
||||
/// 如 "CAN:0",其中 0 是 CANConfig.DeviceIndex。
|
||||
/// </summary>
|
||||
public string GetCanDeviceFingerprint()
|
||||
{
|
||||
if (_systemConfig?.DeviceList == null) return string.Empty;
|
||||
var canConfig = _systemConfig.DeviceList.FirstOrDefault(d =>
|
||||
d != null && d.IsEnabled &&
|
||||
string.Equals(d.ConnectionType, "CAN", StringComparison.OrdinalIgnoreCase));
|
||||
return canConfig != null ? ExtractHardwareFingerprint(canConfig) : string.Empty;
|
||||
}
|
||||
|
||||
private void InitDevices()
|
||||
{
|
||||
DeviceMap = new Dictionary<string, IBaseInterface>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
Reference in New Issue
Block a user