using CapMachine.Model.CANLIN; using CapMachine.Wpf.CanDrive; using ImTools; using Prism.Ioc; using Prism.Mvvm; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CapMachine.Wpf.Services { /// /// Can驱动服务 /// public class CanDriveService : BindableBase { /// /// 实例化函数 /// public CanDriveService(HighSpeedDataService highSpeedDataService,IContainerProvider containerProvider) { ToomossCanDrive = new ToomossCan(containerProvider); //高速数据服务 HighSpeedDataService = highSpeedDataService; //ToomossCanDrive.StartCanDrive(); } /// /// 图莫斯 CAN Drive /// ToomossCanDrive /// public ToomossCan ToomossCanDrive { get; set; } /// /// Dbc消息集合 /// 包括读取的实时值和数据 /// public ObservableCollection ListCanDbcModel { get; set; } = new ObservableCollection(); /// /// 初始化CAN的配置信息 /// public void InitCanConfig(CanLinConfigPro selectedCanLinConfigPro) { //赋值配置数据 SelectedCanLinConfigPro = selectedCanLinConfigPro; //为DBC实时数据关联配置的名称 foreach (var item in SelectedCanLinConfigPro.CanLinConfigContents) { var FindData = ListCanDbcModel.FindFirst(a => a.SignalName == item.Content); if (FindData != null) { FindData.Name = item.Name; } } } /// /// 开始DBC 配置文件 加载 /// /// public ObservableCollection StartDbc(string Path) { ListCanDbcModel = ToomossCanDrive.StartDbc(Path); return ListCanDbcModel; } /// /// 当前选中的CanLinConfigPro 程序 /// public CanLinConfigPro SelectedCanLinConfigPro { get; set; } public HighSpeedDataService HighSpeedDataService { get; } } }