改动6
This commit is contained in:
@@ -102,6 +102,7 @@ namespace CapMachine.Wpf.Services
|
||||
/// 在程序配置好后就确定要发送哪些数据
|
||||
/// </summary>
|
||||
public List<CanCmdData> CmdData { get; set; } = new List<CanCmdData>();
|
||||
private readonly object _cmdDataLock = new object();
|
||||
|
||||
/// <summary>
|
||||
/// 增加发送的指令数据
|
||||
@@ -128,7 +129,10 @@ namespace CapMachine.Wpf.Services
|
||||
break;
|
||||
}
|
||||
//添加到发送数据集合
|
||||
CmdData.Add(SendCanCmdData);
|
||||
lock (_cmdDataLock)
|
||||
{
|
||||
CmdData.Add(SendCanCmdData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -141,7 +145,10 @@ namespace CapMachine.Wpf.Services
|
||||
{
|
||||
if (SpeedCanCmdData != null)
|
||||
{
|
||||
SpeedCanCmdData.SignalCmdValue = SpeedData;
|
||||
lock (_cmdDataLock)
|
||||
{
|
||||
SpeedCanCmdData.SignalCmdValue = SpeedData;
|
||||
}
|
||||
}
|
||||
//if (EnableCanCmdData != null)
|
||||
//{
|
||||
@@ -157,7 +164,10 @@ namespace CapMachine.Wpf.Services
|
||||
{
|
||||
if (EnableCanCmdData != null)
|
||||
{
|
||||
EnableCanCmdData.SignalCmdValue = IsEnable ? 1 : 0;
|
||||
lock (_cmdDataLock)
|
||||
{
|
||||
EnableCanCmdData.SignalCmdValue = IsEnable ? 1 : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,7 +184,18 @@ namespace CapMachine.Wpf.Services
|
||||
//更新速度信息
|
||||
UpdateSpeedCmdData(SpeedData);
|
||||
|
||||
ToomossCanDrive.SendCanMsg(CmdData);
|
||||
List<CanCmdData> cmdDataSnapshot;
|
||||
lock (_cmdDataLock)
|
||||
{
|
||||
cmdDataSnapshot = CmdData.Select(x => new CanCmdData
|
||||
{
|
||||
ConfigName = x.ConfigName,
|
||||
MsgName = x.MsgName,
|
||||
SignalName = x.SignalName,
|
||||
SignalCmdValue = x.SignalCmdValue
|
||||
}).ToList();
|
||||
}
|
||||
ToomossCanDrive.SendCanMsg(cmdDataSnapshot);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user