CAN驱动修改优化

This commit is contained in:
“hsc”
2026-08-07 09:06:43 +08:00
parent deb3544143
commit 062582e238
18 changed files with 583 additions and 558 deletions
+9 -5
View File
@@ -18,10 +18,11 @@ using System.Windows.Threading;
using TSMasterCAN;
using UIShare.GlobalVariable;
using UIShare.UIViewModel;
using UIShare.ViewModelBase;
namespace CANModule.ViewModels
{
public class CANViewModel : BindableBase, IDialogAware
public class CANViewModel : NavigateViewModelBase
{
#region
@@ -269,17 +270,15 @@ namespace CANModule.ViewModels
#endregion
private IEventAggregator _eventAggregator { get; set; }
private CAN? _canfd;
private SystemConfig? _systemConfig;
private readonly DeviceManager _deviceManager;
private IDialogService _dialogService { get; set; }
CancellationTokenSource cts = new CancellationTokenSource();
public CANViewModel(IContainerProvider containerProvider)
public CANViewModel(IContainerProvider containerProvider) : base(containerProvider)
{
_eventAggregator = containerProvider.Resolve<IEventAggregator>();
_systemConfig = containerProvider.Resolve<SystemConfig>();
_deviceManager = containerProvider.Resolve<DeviceManager>();
_canfd = _deviceManager.CANFD;
_dialogService = containerProvider.Resolve<IDialogService>();
SelectBLFPathCommand = new DelegateCommand(SelectBLFPath);
SaveBLFPathCommand = new DelegateCommand(SaveBLFPath);
@@ -299,6 +298,7 @@ namespace CANModule.ViewModels
LoadMessageCommand = new DelegateCommand(LoadMessage);
DeleteDcAutoLoadCommand = new DelegateCommand(DeleteDcAutoLoad);
SendCustomMessageCommand = new DelegateCommand(SendCustomMessage);
Task.Run(() => Refresh(cts.Token), cts.Token);
}
#region
@@ -496,7 +496,7 @@ namespace CANModule.ViewModels
{
while (ct.IsCancellationRequested == false)
{
var temp = CAN.RealTimeMessages.Select(s => s.Value).ToArray();
var temp = _deviceManager._CANMonitoringService.RealTimeMessages.Select(s => s.Value).ToArray();
foreach (var item in temp)
{
var find = CanMessageList.FirstOrDefault(s => s.ID == item.FIdentifier);
@@ -571,6 +571,10 @@ namespace CANModule.ViewModels
}
public void OnDialogOpened(IDialogParameters parameters)
{
}
public override void OnNavigatedTo(NavigationContext context)
{
Task.Run(() => Refresh(cts.Token), cts.Token);
}