监控逻辑

This commit is contained in:
hsc
2026-07-10 11:57:56 +08:00
parent 52d486e2b1
commit db8baed9c7
9 changed files with 435 additions and 97 deletions

View File

@@ -109,9 +109,12 @@ namespace MonitorModule.ViewModels
};
private int _colorIndex;
/// <summary>广播器(由 UIShare 层注入,每 Scope 一个实例)</summary>
/// <summary>设备数据广播器(全局单例)</summary>
private HardwareDataBroadcaster? _broadcaster;
/// <summary>CAN 信号广播器(全局单例)</summary>
private CANSignalBroadcaster? _canSignalBroadcaster;
/// <summary>用于 OxyPlot X 轴相对秒数</summary>
private readonly Stopwatch _stopwatch = new();
@@ -318,6 +321,7 @@ namespace MonitorModule.ViewModels
_systemConfig = _scope.Resolve<SystemConfig>();
RaisePropertyChanged(nameof(Channels));
_broadcaster = _scope.Resolve<HardwareDataBroadcaster>();
_canSignalBroadcaster = _scope.Resolve<CANSignalBroadcaster>();
IsInitiated = true;
if (_monitorCTS == null) _monitorCTS = new CancellationTokenSource();
@@ -334,6 +338,8 @@ namespace MonitorModule.ViewModels
// 4. 启动广播器Discover + Start
_broadcaster.Discover();
_broadcaster.Start();
_canSignalBroadcaster.Discover();
_canSignalBroadcaster.Start();
// 5. 订阅 HardwareDataReportedEventUI 线程回调)
_subscriptionToken = _eventAggregator.GetEvent<HardwareDataReportedEvent>()