diff --git a/Correlator/Dialog/CheckResponseDialog.xaml b/Correlator/Dialog/CheckResponseDialog.xaml
index 758d2fd..28e5973 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml
+++ b/Correlator/Dialog/CheckResponseDialog.xaml
@@ -80,7 +80,7 @@
Height="20"
Margin="0,0,5,0"
Source="/Correlator;component/Image/tubiao_45.png" />
-
+
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml b/Correlator/Dialog/CheckResponseDialog.xaml
index 758d2fd..28e5973 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml
+++ b/Correlator/Dialog/CheckResponseDialog.xaml
@@ -80,7 +80,7 @@
Height="20"
Margin="0,0,5,0"
Source="/Correlator;component/Image/tubiao_45.png" />
-
+
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml.cs b/Correlator/Dialog/CheckResponseDialog.xaml.cs
index 2d44977..69dc968 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml.cs
+++ b/Correlator/Dialog/CheckResponseDialog.xaml.cs
@@ -28,9 +28,17 @@
Interval = TimeSpan.FromSeconds(1)
};
+ private readonly DispatcherTimer _checkResponseTimer = new DispatcherTimer
+ {
+ Interval = TimeSpan.FromSeconds(1)
+ };
+
private static readonly Lazy LazyDataBase =
new Lazy(() => new DataBaseManager());
+ private bool _isCheckRedSensor;
+ private bool _isCheckBlueSensor;
+
public CheckResponseDialog()
{
InitializeComponent();
@@ -45,7 +53,7 @@
//如果配置里面的日期相同,则取配置里面的Pipe作为index,如果配置里面的日期不相同,则默认index=1
var pipeIndex = configModel.Date.Equals(today) ? configModel.Pipe : 1;
var locateDataDir = DirectoryManager.GetLocateDataDir(pipeIndex);
-
+
InitDot();
InitEvent(locateDataDir);
@@ -54,7 +62,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (RedResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -68,7 +76,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (BlueResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -77,6 +85,37 @@
}
}
};
+
+ _checkResponseTimer.Start();
+ _checkResponseTimer.Tick += delegate
+ {
+ if (_isCheckRedSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (RedResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ else if (_isCheckBlueSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (BlueResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ };
}
private void InitDot()
@@ -125,7 +164,6 @@
}
};
-
RedNextStepButton.Click += delegate
{
if (RedSensorStepBar.StepIndex == 1)
@@ -158,20 +196,34 @@
//下发数据全部正常指令
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
- fileName.SaveSensorResponse(FlowStatus.RedSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.RedSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.RedSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.RedSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev1, tags);
+
+ #endregion
}
else if (RedSensorStepBar.StepIndex == 3)
{
@@ -212,20 +264,34 @@
{
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
- fileName.SaveSensorResponse(FlowStatus.BlueSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.BlueSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.BlueSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.BlueSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev2, tags);
+
+ #endregion
}
else if (BlueSensorStepBar.StepIndex == 3)
{
@@ -241,7 +307,8 @@
{
if (_redResponseTimer.IsEnabled)
{
- var redIndexs = new List();
+ _isCheckRedSensor = true;
+ var redIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < RedResponsePanel.Children.Count; i++)
{
@@ -249,19 +316,20 @@
var index = i + 1;
if (child == null)
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexArray);
}
else
{
- var blueIndexs = new List();
+ _isCheckBlueSensor = true;
+ var blueIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < BlueResponsePanel.Children.Count; i++)
{
@@ -269,15 +337,15 @@
var index = i + 1;
if (child == null)
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexArray);
}
};
}
@@ -289,6 +357,7 @@
private void CheckResponseDialog_OnClosed(object sender, EventArgs e)
{
+ _checkResponseTimer.Stop();
Messenger.Default.Send("", MessengerToken.HomePageDeviceData);
FlowStatus.IsShowing = false;
}
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml b/Correlator/Dialog/CheckResponseDialog.xaml
index 758d2fd..28e5973 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml
+++ b/Correlator/Dialog/CheckResponseDialog.xaml
@@ -80,7 +80,7 @@
Height="20"
Margin="0,0,5,0"
Source="/Correlator;component/Image/tubiao_45.png" />
-
+
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml.cs b/Correlator/Dialog/CheckResponseDialog.xaml.cs
index 2d44977..69dc968 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml.cs
+++ b/Correlator/Dialog/CheckResponseDialog.xaml.cs
@@ -28,9 +28,17 @@
Interval = TimeSpan.FromSeconds(1)
};
+ private readonly DispatcherTimer _checkResponseTimer = new DispatcherTimer
+ {
+ Interval = TimeSpan.FromSeconds(1)
+ };
+
private static readonly Lazy LazyDataBase =
new Lazy(() => new DataBaseManager());
+ private bool _isCheckRedSensor;
+ private bool _isCheckBlueSensor;
+
public CheckResponseDialog()
{
InitializeComponent();
@@ -45,7 +53,7 @@
//如果配置里面的日期相同,则取配置里面的Pipe作为index,如果配置里面的日期不相同,则默认index=1
var pipeIndex = configModel.Date.Equals(today) ? configModel.Pipe : 1;
var locateDataDir = DirectoryManager.GetLocateDataDir(pipeIndex);
-
+
InitDot();
InitEvent(locateDataDir);
@@ -54,7 +62,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (RedResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -68,7 +76,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (BlueResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -77,6 +85,37 @@
}
}
};
+
+ _checkResponseTimer.Start();
+ _checkResponseTimer.Tick += delegate
+ {
+ if (_isCheckRedSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (RedResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ else if (_isCheckBlueSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (BlueResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ };
}
private void InitDot()
@@ -125,7 +164,6 @@
}
};
-
RedNextStepButton.Click += delegate
{
if (RedSensorStepBar.StepIndex == 1)
@@ -158,20 +196,34 @@
//下发数据全部正常指令
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
- fileName.SaveSensorResponse(FlowStatus.RedSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.RedSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.RedSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.RedSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev1, tags);
+
+ #endregion
}
else if (RedSensorStepBar.StepIndex == 3)
{
@@ -212,20 +264,34 @@
{
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
- fileName.SaveSensorResponse(FlowStatus.BlueSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.BlueSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.BlueSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.BlueSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev2, tags);
+
+ #endregion
}
else if (BlueSensorStepBar.StepIndex == 3)
{
@@ -241,7 +307,8 @@
{
if (_redResponseTimer.IsEnabled)
{
- var redIndexs = new List();
+ _isCheckRedSensor = true;
+ var redIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < RedResponsePanel.Children.Count; i++)
{
@@ -249,19 +316,20 @@
var index = i + 1;
if (child == null)
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexArray);
}
else
{
- var blueIndexs = new List();
+ _isCheckBlueSensor = true;
+ var blueIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < BlueResponsePanel.Children.Count; i++)
{
@@ -269,15 +337,15 @@
var index = i + 1;
if (child == null)
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexArray);
}
};
}
@@ -289,6 +357,7 @@
private void CheckResponseDialog_OnClosed(object sender, EventArgs e)
{
+ _checkResponseTimer.Stop();
Messenger.Default.Send("", MessengerToken.HomePageDeviceData);
FlowStatus.IsShowing = false;
}
diff --git a/Correlator/SensorHubTag/CellTag.cs b/Correlator/SensorHubTag/CellTag.cs
index 1eb26d6..b6b46a3 100644
--- a/Correlator/SensorHubTag/CellTag.cs
+++ b/Correlator/SensorHubTag/CellTag.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Correlator.SensorHubTag
{
@@ -11,7 +10,7 @@
{
var hex = BitConverter.ToString(dataValue).Replace("-", "");
Cell = Convert.ToInt32(hex, 16).ToString();
- Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
+ // Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml b/Correlator/Dialog/CheckResponseDialog.xaml
index 758d2fd..28e5973 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml
+++ b/Correlator/Dialog/CheckResponseDialog.xaml
@@ -80,7 +80,7 @@
Height="20"
Margin="0,0,5,0"
Source="/Correlator;component/Image/tubiao_45.png" />
-
+
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml.cs b/Correlator/Dialog/CheckResponseDialog.xaml.cs
index 2d44977..69dc968 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml.cs
+++ b/Correlator/Dialog/CheckResponseDialog.xaml.cs
@@ -28,9 +28,17 @@
Interval = TimeSpan.FromSeconds(1)
};
+ private readonly DispatcherTimer _checkResponseTimer = new DispatcherTimer
+ {
+ Interval = TimeSpan.FromSeconds(1)
+ };
+
private static readonly Lazy LazyDataBase =
new Lazy(() => new DataBaseManager());
+ private bool _isCheckRedSensor;
+ private bool _isCheckBlueSensor;
+
public CheckResponseDialog()
{
InitializeComponent();
@@ -45,7 +53,7 @@
//如果配置里面的日期相同,则取配置里面的Pipe作为index,如果配置里面的日期不相同,则默认index=1
var pipeIndex = configModel.Date.Equals(today) ? configModel.Pipe : 1;
var locateDataDir = DirectoryManager.GetLocateDataDir(pipeIndex);
-
+
InitDot();
InitEvent(locateDataDir);
@@ -54,7 +62,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (RedResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -68,7 +76,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (BlueResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -77,6 +85,37 @@
}
}
};
+
+ _checkResponseTimer.Start();
+ _checkResponseTimer.Tick += delegate
+ {
+ if (_isCheckRedSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (RedResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ else if (_isCheckBlueSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (BlueResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ };
}
private void InitDot()
@@ -125,7 +164,6 @@
}
};
-
RedNextStepButton.Click += delegate
{
if (RedSensorStepBar.StepIndex == 1)
@@ -158,20 +196,34 @@
//下发数据全部正常指令
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
- fileName.SaveSensorResponse(FlowStatus.RedSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.RedSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.RedSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.RedSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev1, tags);
+
+ #endregion
}
else if (RedSensorStepBar.StepIndex == 3)
{
@@ -212,20 +264,34 @@
{
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
- fileName.SaveSensorResponse(FlowStatus.BlueSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.BlueSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.BlueSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.BlueSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev2, tags);
+
+ #endregion
}
else if (BlueSensorStepBar.StepIndex == 3)
{
@@ -241,7 +307,8 @@
{
if (_redResponseTimer.IsEnabled)
{
- var redIndexs = new List();
+ _isCheckRedSensor = true;
+ var redIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < RedResponsePanel.Children.Count; i++)
{
@@ -249,19 +316,20 @@
var index = i + 1;
if (child == null)
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexArray);
}
else
{
- var blueIndexs = new List();
+ _isCheckBlueSensor = true;
+ var blueIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < BlueResponsePanel.Children.Count; i++)
{
@@ -269,15 +337,15 @@
var index = i + 1;
if (child == null)
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexArray);
}
};
}
@@ -289,6 +357,7 @@
private void CheckResponseDialog_OnClosed(object sender, EventArgs e)
{
+ _checkResponseTimer.Stop();
Messenger.Default.Send("", MessengerToken.HomePageDeviceData);
FlowStatus.IsShowing = false;
}
diff --git a/Correlator/SensorHubTag/CellTag.cs b/Correlator/SensorHubTag/CellTag.cs
index 1eb26d6..b6b46a3 100644
--- a/Correlator/SensorHubTag/CellTag.cs
+++ b/Correlator/SensorHubTag/CellTag.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Correlator.SensorHubTag
{
@@ -11,7 +10,7 @@
{
var hex = BitConverter.ToString(dataValue).Replace("-", "");
Cell = Convert.ToInt32(hex, 16).ToString();
- Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
+ // Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/SensorHubTag/TimeTag.cs b/Correlator/SensorHubTag/TimeTag.cs
index b83a915..4a93e77 100644
--- a/Correlator/SensorHubTag/TimeTag.cs
+++ b/Correlator/SensorHubTag/TimeTag.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Diagnostics;
using System.Text;
using Correlator.Util;
@@ -28,7 +27,7 @@
var seconds = Convert.ToInt32(temp[5], 16).AppendLeftZero();
timeBuilder.Append(year).Append(month).Append(day).Append(hour).Append(minute).Append(seconds);
Time = timeBuilder.ToString();
- Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
+ // Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml b/Correlator/Dialog/CheckResponseDialog.xaml
index 758d2fd..28e5973 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml
+++ b/Correlator/Dialog/CheckResponseDialog.xaml
@@ -80,7 +80,7 @@
Height="20"
Margin="0,0,5,0"
Source="/Correlator;component/Image/tubiao_45.png" />
-
+
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml.cs b/Correlator/Dialog/CheckResponseDialog.xaml.cs
index 2d44977..69dc968 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml.cs
+++ b/Correlator/Dialog/CheckResponseDialog.xaml.cs
@@ -28,9 +28,17 @@
Interval = TimeSpan.FromSeconds(1)
};
+ private readonly DispatcherTimer _checkResponseTimer = new DispatcherTimer
+ {
+ Interval = TimeSpan.FromSeconds(1)
+ };
+
private static readonly Lazy LazyDataBase =
new Lazy(() => new DataBaseManager());
+ private bool _isCheckRedSensor;
+ private bool _isCheckBlueSensor;
+
public CheckResponseDialog()
{
InitializeComponent();
@@ -45,7 +53,7 @@
//如果配置里面的日期相同,则取配置里面的Pipe作为index,如果配置里面的日期不相同,则默认index=1
var pipeIndex = configModel.Date.Equals(today) ? configModel.Pipe : 1;
var locateDataDir = DirectoryManager.GetLocateDataDir(pipeIndex);
-
+
InitDot();
InitEvent(locateDataDir);
@@ -54,7 +62,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (RedResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -68,7 +76,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (BlueResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -77,6 +85,37 @@
}
}
};
+
+ _checkResponseTimer.Start();
+ _checkResponseTimer.Tick += delegate
+ {
+ if (_isCheckRedSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (RedResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ else if (_isCheckBlueSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (BlueResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ };
}
private void InitDot()
@@ -125,7 +164,6 @@
}
};
-
RedNextStepButton.Click += delegate
{
if (RedSensorStepBar.StepIndex == 1)
@@ -158,20 +196,34 @@
//下发数据全部正常指令
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
- fileName.SaveSensorResponse(FlowStatus.RedSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.RedSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.RedSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.RedSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev1, tags);
+
+ #endregion
}
else if (RedSensorStepBar.StepIndex == 3)
{
@@ -212,20 +264,34 @@
{
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
- fileName.SaveSensorResponse(FlowStatus.BlueSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.BlueSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.BlueSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.BlueSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev2, tags);
+
+ #endregion
}
else if (BlueSensorStepBar.StepIndex == 3)
{
@@ -241,7 +307,8 @@
{
if (_redResponseTimer.IsEnabled)
{
- var redIndexs = new List();
+ _isCheckRedSensor = true;
+ var redIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < RedResponsePanel.Children.Count; i++)
{
@@ -249,19 +316,20 @@
var index = i + 1;
if (child == null)
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexArray);
}
else
{
- var blueIndexs = new List();
+ _isCheckBlueSensor = true;
+ var blueIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < BlueResponsePanel.Children.Count; i++)
{
@@ -269,15 +337,15 @@
var index = i + 1;
if (child == null)
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexArray);
}
};
}
@@ -289,6 +357,7 @@
private void CheckResponseDialog_OnClosed(object sender, EventArgs e)
{
+ _checkResponseTimer.Stop();
Messenger.Default.Send("", MessengerToken.HomePageDeviceData);
FlowStatus.IsShowing = false;
}
diff --git a/Correlator/SensorHubTag/CellTag.cs b/Correlator/SensorHubTag/CellTag.cs
index 1eb26d6..b6b46a3 100644
--- a/Correlator/SensorHubTag/CellTag.cs
+++ b/Correlator/SensorHubTag/CellTag.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Correlator.SensorHubTag
{
@@ -11,7 +10,7 @@
{
var hex = BitConverter.ToString(dataValue).Replace("-", "");
Cell = Convert.ToInt32(hex, 16).ToString();
- Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
+ // Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/SensorHubTag/TimeTag.cs b/Correlator/SensorHubTag/TimeTag.cs
index b83a915..4a93e77 100644
--- a/Correlator/SensorHubTag/TimeTag.cs
+++ b/Correlator/SensorHubTag/TimeTag.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Diagnostics;
using System.Text;
using Correlator.Util;
@@ -28,7 +27,7 @@
var seconds = Convert.ToInt32(temp[5], 16).AppendLeftZero();
timeBuilder.Append(year).Append(month).Append(day).Append(hour).Append(minute).Append(seconds);
Time = timeBuilder.ToString();
- Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
+ // Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/Util/CommandSender.cs b/Correlator/Util/CommandSender.cs
index a9b0de0..beec8a9 100644
--- a/Correlator/Util/CommandSender.cs
+++ b/Correlator/Util/CommandSender.cs
@@ -271,8 +271,8 @@
///
///
///
- /// 异常数据角标集合
- public static void SendDataCheckResultCmd(SerialPort sp, string devCode, List indexs)
+ /// 异常数据角标集合
+ public static void SendDataCheckResultCmd(SerialPort sp, string devCode, List indexArray)
{
try
{
@@ -305,7 +305,7 @@
var btSeq = byte.Parse(seq, NumberStyles.HexNumber);
//check result tag
- var byteArray = indexs.ToByteArray();
+ var byteArray = indexArray.ToByteArray();
byte[] oidTag =
{
0x60, 0x00, 0x03, 0x00,
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml b/Correlator/Dialog/CheckResponseDialog.xaml
index 758d2fd..28e5973 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml
+++ b/Correlator/Dialog/CheckResponseDialog.xaml
@@ -80,7 +80,7 @@
Height="20"
Margin="0,0,5,0"
Source="/Correlator;component/Image/tubiao_45.png" />
-
+
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml.cs b/Correlator/Dialog/CheckResponseDialog.xaml.cs
index 2d44977..69dc968 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml.cs
+++ b/Correlator/Dialog/CheckResponseDialog.xaml.cs
@@ -28,9 +28,17 @@
Interval = TimeSpan.FromSeconds(1)
};
+ private readonly DispatcherTimer _checkResponseTimer = new DispatcherTimer
+ {
+ Interval = TimeSpan.FromSeconds(1)
+ };
+
private static readonly Lazy LazyDataBase =
new Lazy(() => new DataBaseManager());
+ private bool _isCheckRedSensor;
+ private bool _isCheckBlueSensor;
+
public CheckResponseDialog()
{
InitializeComponent();
@@ -45,7 +53,7 @@
//如果配置里面的日期相同,则取配置里面的Pipe作为index,如果配置里面的日期不相同,则默认index=1
var pipeIndex = configModel.Date.Equals(today) ? configModel.Pipe : 1;
var locateDataDir = DirectoryManager.GetLocateDataDir(pipeIndex);
-
+
InitDot();
InitEvent(locateDataDir);
@@ -54,7 +62,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (RedResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -68,7 +76,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (BlueResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -77,6 +85,37 @@
}
}
};
+
+ _checkResponseTimer.Start();
+ _checkResponseTimer.Tick += delegate
+ {
+ if (_isCheckRedSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (RedResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ else if (_isCheckBlueSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (BlueResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ };
}
private void InitDot()
@@ -125,7 +164,6 @@
}
};
-
RedNextStepButton.Click += delegate
{
if (RedSensorStepBar.StepIndex == 1)
@@ -158,20 +196,34 @@
//下发数据全部正常指令
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
- fileName.SaveSensorResponse(FlowStatus.RedSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.RedSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.RedSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.RedSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev1, tags);
+
+ #endregion
}
else if (RedSensorStepBar.StepIndex == 3)
{
@@ -212,20 +264,34 @@
{
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
- fileName.SaveSensorResponse(FlowStatus.BlueSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.BlueSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.BlueSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.BlueSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev2, tags);
+
+ #endregion
}
else if (BlueSensorStepBar.StepIndex == 3)
{
@@ -241,7 +307,8 @@
{
if (_redResponseTimer.IsEnabled)
{
- var redIndexs = new List();
+ _isCheckRedSensor = true;
+ var redIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < RedResponsePanel.Children.Count; i++)
{
@@ -249,19 +316,20 @@
var index = i + 1;
if (child == null)
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexArray);
}
else
{
- var blueIndexs = new List();
+ _isCheckBlueSensor = true;
+ var blueIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < BlueResponsePanel.Children.Count; i++)
{
@@ -269,15 +337,15 @@
var index = i + 1;
if (child == null)
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexArray);
}
};
}
@@ -289,6 +357,7 @@
private void CheckResponseDialog_OnClosed(object sender, EventArgs e)
{
+ _checkResponseTimer.Stop();
Messenger.Default.Send("", MessengerToken.HomePageDeviceData);
FlowStatus.IsShowing = false;
}
diff --git a/Correlator/SensorHubTag/CellTag.cs b/Correlator/SensorHubTag/CellTag.cs
index 1eb26d6..b6b46a3 100644
--- a/Correlator/SensorHubTag/CellTag.cs
+++ b/Correlator/SensorHubTag/CellTag.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Correlator.SensorHubTag
{
@@ -11,7 +10,7 @@
{
var hex = BitConverter.ToString(dataValue).Replace("-", "");
Cell = Convert.ToInt32(hex, 16).ToString();
- Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
+ // Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/SensorHubTag/TimeTag.cs b/Correlator/SensorHubTag/TimeTag.cs
index b83a915..4a93e77 100644
--- a/Correlator/SensorHubTag/TimeTag.cs
+++ b/Correlator/SensorHubTag/TimeTag.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Diagnostics;
using System.Text;
using Correlator.Util;
@@ -28,7 +27,7 @@
var seconds = Convert.ToInt32(temp[5], 16).AppendLeftZero();
timeBuilder.Append(year).Append(month).Append(day).Append(hour).Append(minute).Append(seconds);
Time = timeBuilder.ToString();
- Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
+ // Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/Util/CommandSender.cs b/Correlator/Util/CommandSender.cs
index a9b0de0..beec8a9 100644
--- a/Correlator/Util/CommandSender.cs
+++ b/Correlator/Util/CommandSender.cs
@@ -271,8 +271,8 @@
///
///
///
- /// 异常数据角标集合
- public static void SendDataCheckResultCmd(SerialPort sp, string devCode, List indexs)
+ /// 异常数据角标集合
+ public static void SendDataCheckResultCmd(SerialPort sp, string devCode, List indexArray)
{
try
{
@@ -305,7 +305,7 @@
var btSeq = byte.Parse(seq, NumberStyles.HexNumber);
//check result tag
- var byteArray = indexs.ToByteArray();
+ var byteArray = indexArray.ToByteArray();
byte[] oidTag =
{
0x60, 0x00, 0x03, 0x00,
diff --git a/Correlator/Util/FlowStatus.cs b/Correlator/Util/FlowStatus.cs
index 4220840..cd5bc99 100644
--- a/Correlator/Util/FlowStatus.cs
+++ b/Correlator/Util/FlowStatus.cs
@@ -34,21 +34,21 @@
public static bool IsShowing = false;
//数据包index
- public static readonly List SeqCaches = new List();
+ public static readonly List SeqCaches = new List();
//水听器下发唤醒指令时间戳
public static byte[] HydrophoneWakeUpTimeBytes = new byte[6];
//水听器红色信号接收器原始数据
- public static readonly List RedSensorOriginalResp = new List();
+ public static readonly Dictionary RedSensorOriginalResp = new Dictionary();
//水听器红色信号接收器解析之后的Tags
- public static readonly List> RedSensorResponseTags = new List>();
+ public static readonly Dictionary> RedSensorResponseTags = new Dictionary>();
//水听器红色信号接收器原始数据
- public static readonly List BlueSensorOriginalResp = new List();
+ public static readonly Dictionary BlueSensorOriginalResp = new Dictionary();
//水听器蓝色信号接收器解析之后的Tags
- public static readonly List> BlueSensorResponseTags = new List>();
+ public static readonly Dictionary> BlueSensorResponseTags = new Dictionary>();
}
}
\ No newline at end of file
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml b/Correlator/Dialog/CheckResponseDialog.xaml
index 758d2fd..28e5973 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml
+++ b/Correlator/Dialog/CheckResponseDialog.xaml
@@ -80,7 +80,7 @@
Height="20"
Margin="0,0,5,0"
Source="/Correlator;component/Image/tubiao_45.png" />
-
+
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml.cs b/Correlator/Dialog/CheckResponseDialog.xaml.cs
index 2d44977..69dc968 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml.cs
+++ b/Correlator/Dialog/CheckResponseDialog.xaml.cs
@@ -28,9 +28,17 @@
Interval = TimeSpan.FromSeconds(1)
};
+ private readonly DispatcherTimer _checkResponseTimer = new DispatcherTimer
+ {
+ Interval = TimeSpan.FromSeconds(1)
+ };
+
private static readonly Lazy LazyDataBase =
new Lazy(() => new DataBaseManager());
+ private bool _isCheckRedSensor;
+ private bool _isCheckBlueSensor;
+
public CheckResponseDialog()
{
InitializeComponent();
@@ -45,7 +53,7 @@
//如果配置里面的日期相同,则取配置里面的Pipe作为index,如果配置里面的日期不相同,则默认index=1
var pipeIndex = configModel.Date.Equals(today) ? configModel.Pipe : 1;
var locateDataDir = DirectoryManager.GetLocateDataDir(pipeIndex);
-
+
InitDot();
InitEvent(locateDataDir);
@@ -54,7 +62,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (RedResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -68,7 +76,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (BlueResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -77,6 +85,37 @@
}
}
};
+
+ _checkResponseTimer.Start();
+ _checkResponseTimer.Tick += delegate
+ {
+ if (_isCheckRedSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (RedResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ else if (_isCheckBlueSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (BlueResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ };
}
private void InitDot()
@@ -125,7 +164,6 @@
}
};
-
RedNextStepButton.Click += delegate
{
if (RedSensorStepBar.StepIndex == 1)
@@ -158,20 +196,34 @@
//下发数据全部正常指令
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
- fileName.SaveSensorResponse(FlowStatus.RedSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.RedSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.RedSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.RedSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev1, tags);
+
+ #endregion
}
else if (RedSensorStepBar.StepIndex == 3)
{
@@ -212,20 +264,34 @@
{
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
- fileName.SaveSensorResponse(FlowStatus.BlueSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.BlueSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.BlueSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.BlueSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev2, tags);
+
+ #endregion
}
else if (BlueSensorStepBar.StepIndex == 3)
{
@@ -241,7 +307,8 @@
{
if (_redResponseTimer.IsEnabled)
{
- var redIndexs = new List();
+ _isCheckRedSensor = true;
+ var redIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < RedResponsePanel.Children.Count; i++)
{
@@ -249,19 +316,20 @@
var index = i + 1;
if (child == null)
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexArray);
}
else
{
- var blueIndexs = new List();
+ _isCheckBlueSensor = true;
+ var blueIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < BlueResponsePanel.Children.Count; i++)
{
@@ -269,15 +337,15 @@
var index = i + 1;
if (child == null)
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexArray);
}
};
}
@@ -289,6 +357,7 @@
private void CheckResponseDialog_OnClosed(object sender, EventArgs e)
{
+ _checkResponseTimer.Stop();
Messenger.Default.Send("", MessengerToken.HomePageDeviceData);
FlowStatus.IsShowing = false;
}
diff --git a/Correlator/SensorHubTag/CellTag.cs b/Correlator/SensorHubTag/CellTag.cs
index 1eb26d6..b6b46a3 100644
--- a/Correlator/SensorHubTag/CellTag.cs
+++ b/Correlator/SensorHubTag/CellTag.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Correlator.SensorHubTag
{
@@ -11,7 +10,7 @@
{
var hex = BitConverter.ToString(dataValue).Replace("-", "");
Cell = Convert.ToInt32(hex, 16).ToString();
- Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
+ // Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/SensorHubTag/TimeTag.cs b/Correlator/SensorHubTag/TimeTag.cs
index b83a915..4a93e77 100644
--- a/Correlator/SensorHubTag/TimeTag.cs
+++ b/Correlator/SensorHubTag/TimeTag.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Diagnostics;
using System.Text;
using Correlator.Util;
@@ -28,7 +27,7 @@
var seconds = Convert.ToInt32(temp[5], 16).AppendLeftZero();
timeBuilder.Append(year).Append(month).Append(day).Append(hour).Append(minute).Append(seconds);
Time = timeBuilder.ToString();
- Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
+ // Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/Util/CommandSender.cs b/Correlator/Util/CommandSender.cs
index a9b0de0..beec8a9 100644
--- a/Correlator/Util/CommandSender.cs
+++ b/Correlator/Util/CommandSender.cs
@@ -271,8 +271,8 @@
///
///
///
- /// 异常数据角标集合
- public static void SendDataCheckResultCmd(SerialPort sp, string devCode, List indexs)
+ /// 异常数据角标集合
+ public static void SendDataCheckResultCmd(SerialPort sp, string devCode, List indexArray)
{
try
{
@@ -305,7 +305,7 @@
var btSeq = byte.Parse(seq, NumberStyles.HexNumber);
//check result tag
- var byteArray = indexs.ToByteArray();
+ var byteArray = indexArray.ToByteArray();
byte[] oidTag =
{
0x60, 0x00, 0x03, 0x00,
diff --git a/Correlator/Util/FlowStatus.cs b/Correlator/Util/FlowStatus.cs
index 4220840..cd5bc99 100644
--- a/Correlator/Util/FlowStatus.cs
+++ b/Correlator/Util/FlowStatus.cs
@@ -34,21 +34,21 @@
public static bool IsShowing = false;
//数据包index
- public static readonly List SeqCaches = new List();
+ public static readonly List SeqCaches = new List();
//水听器下发唤醒指令时间戳
public static byte[] HydrophoneWakeUpTimeBytes = new byte[6];
//水听器红色信号接收器原始数据
- public static readonly List RedSensorOriginalResp = new List();
+ public static readonly Dictionary RedSensorOriginalResp = new Dictionary();
//水听器红色信号接收器解析之后的Tags
- public static readonly List> RedSensorResponseTags = new List>();
+ public static readonly Dictionary> RedSensorResponseTags = new Dictionary>();
//水听器红色信号接收器原始数据
- public static readonly List BlueSensorOriginalResp = new List();
+ public static readonly Dictionary BlueSensorOriginalResp = new Dictionary();
//水听器蓝色信号接收器解析之后的Tags
- public static readonly List> BlueSensorResponseTags = new List>();
+ public static readonly Dictionary> BlueSensorResponseTags = new Dictionary>();
}
}
\ No newline at end of file
diff --git a/Correlator/Util/MethodExtensions.cs b/Correlator/Util/MethodExtensions.cs
index 44d58f5..6bb154b 100644
--- a/Correlator/Util/MethodExtensions.cs
+++ b/Correlator/Util/MethodExtensions.cs
@@ -282,8 +282,6 @@
bitIndex[i + 6],
bitIndex[i + 7]
};
- //二进制高低位反序
- bytes.Reverse();
var builder = new StringBuilder();
foreach (var b in bytes)
{
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml b/Correlator/Dialog/CheckResponseDialog.xaml
index 758d2fd..28e5973 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml
+++ b/Correlator/Dialog/CheckResponseDialog.xaml
@@ -80,7 +80,7 @@
Height="20"
Margin="0,0,5,0"
Source="/Correlator;component/Image/tubiao_45.png" />
-
+
diff --git a/Correlator/Dialog/CheckResponseDialog.xaml.cs b/Correlator/Dialog/CheckResponseDialog.xaml.cs
index 2d44977..69dc968 100644
--- a/Correlator/Dialog/CheckResponseDialog.xaml.cs
+++ b/Correlator/Dialog/CheckResponseDialog.xaml.cs
@@ -28,9 +28,17 @@
Interval = TimeSpan.FromSeconds(1)
};
+ private readonly DispatcherTimer _checkResponseTimer = new DispatcherTimer
+ {
+ Interval = TimeSpan.FromSeconds(1)
+ };
+
private static readonly Lazy LazyDataBase =
new Lazy(() => new DataBaseManager());
+ private bool _isCheckRedSensor;
+ private bool _isCheckBlueSensor;
+
public CheckResponseDialog()
{
InitializeComponent();
@@ -45,7 +53,7 @@
//如果配置里面的日期相同,则取配置里面的Pipe作为index,如果配置里面的日期不相同,则默认index=1
var pipeIndex = configModel.Date.Equals(today) ? configModel.Pipe : 1;
var locateDataDir = DirectoryManager.GetLocateDataDir(pipeIndex);
-
+
InitDot();
InitEvent(locateDataDir);
@@ -54,7 +62,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (RedResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -68,7 +76,7 @@
{
for (var i = 1; i <= 60; i++)
{
- if (FlowStatus.SeqCaches.Contains((byte)i))
+ if (FlowStatus.SeqCaches.Contains(i))
{
if (BlueResponsePanel.Children[i - 1] is Ellipse child)
{
@@ -77,6 +85,37 @@
}
}
};
+
+ _checkResponseTimer.Start();
+ _checkResponseTimer.Tick += delegate
+ {
+ if (_isCheckRedSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (RedResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ else if (_isCheckBlueSensor)
+ {
+ for (var i = 1; i <= 60; i++)
+ {
+ if (FlowStatus.SeqCaches.Contains(i))
+ {
+ if (BlueResponsePanel.Children[i - 1] is Ellipse child)
+ {
+ child.Fill = new SolidColorBrush(Colors.LimeGreen);
+ }
+ }
+ }
+ }
+ };
}
private void InitDot()
@@ -125,7 +164,6 @@
}
};
-
RedNextStepButton.Click += delegate
{
if (RedSensorStepBar.StepIndex == 1)
@@ -158,20 +196,34 @@
//下发数据全部正常指令
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
- fileName.SaveSensorResponse(FlowStatus.RedSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev1}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.RedSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.RedSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.RedSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev1, tags);
+
+ #endregion
}
else if (RedSensorStepBar.StepIndex == 3)
{
@@ -212,20 +264,34 @@
{
CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, new List());
- //保存原始数据
- var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
- fileName.SaveSensorResponse(FlowStatus.BlueSensorOriginalResp);
+ #region 保存原始数据
- //处理数据
+ var fileName = $"{locateDataDir}\\原始数据.{DevCode.Dev2}.txt";
+ //将Dictionary按照index排序
+ var sortResult = from pair in FlowStatus.BlueSensorOriginalResp orderby pair.Key select pair;
+
+ //Dictionary排序结果转List
+ var result = sortResult.Select(valuePair => valuePair.Value).ToList();
+
+ fileName.SaveSensorResponse(result);
+
+ #endregion
+
+ #region 处理数据
+
+ //将Dictionary按照index排序
+ var tagsSortResult = from pair in FlowStatus.BlueSensorResponseTags orderby pair.Key select pair;
var tags = new List();
- foreach (var list in FlowStatus.BlueSensorResponseTags)
+ foreach (var valuePair in tagsSortResult)
{
//每个List均包含[CellTag,TimeTag,UploadTag],所以需要挑选出每个List里面的UploadTag
- var noiseTag = list.GetUploadNoiseTag();
+ var noiseTag = valuePair.Value.GetUploadNoiseTag();
tags.Add(noiseTag);
}
SerialPortManager.Get.HandleHydrophoneData(DevCode.Dev2, tags);
+
+ #endregion
}
else if (BlueSensorStepBar.StepIndex == 3)
{
@@ -241,7 +307,8 @@
{
if (_redResponseTimer.IsEnabled)
{
- var redIndexs = new List();
+ _isCheckRedSensor = true;
+ var redIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < RedResponsePanel.Children.Count; i++)
{
@@ -249,19 +316,20 @@
var index = i + 1;
if (child == null)
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- redIndexs.Add(index);
+ redIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev1, redIndexArray);
}
else
{
- var blueIndexs = new List();
+ _isCheckBlueSensor = true;
+ var blueIndexArray = new List();
//查找ResponsePanel中颜色为浅灰色的index
for (var i = 0; i < BlueResponsePanel.Children.Count; i++)
{
@@ -269,15 +337,15 @@
var index = i + 1;
if (child == null)
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
else if (child.Fill.ToString().Equals("#FFD3D3D3"))
{
- blueIndexs.Add(index);
+ blueIndexArray.Add(index);
}
}
- CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexs);
+ CommandSender.SendDataCheckResultCmd(SerialPortManager.Get.Sp, DevCode.Dev2, blueIndexArray);
}
};
}
@@ -289,6 +357,7 @@
private void CheckResponseDialog_OnClosed(object sender, EventArgs e)
{
+ _checkResponseTimer.Stop();
Messenger.Default.Send("", MessengerToken.HomePageDeviceData);
FlowStatus.IsShowing = false;
}
diff --git a/Correlator/SensorHubTag/CellTag.cs b/Correlator/SensorHubTag/CellTag.cs
index 1eb26d6..b6b46a3 100644
--- a/Correlator/SensorHubTag/CellTag.cs
+++ b/Correlator/SensorHubTag/CellTag.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Correlator.SensorHubTag
{
@@ -11,7 +10,7 @@
{
var hex = BitConverter.ToString(dataValue).Replace("-", "");
Cell = Convert.ToInt32(hex, 16).ToString();
- Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
+ // Debug.WriteLine($"CellTag => [Oid:{oid}, Cell:{Cell}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/SensorHubTag/TimeTag.cs b/Correlator/SensorHubTag/TimeTag.cs
index b83a915..4a93e77 100644
--- a/Correlator/SensorHubTag/TimeTag.cs
+++ b/Correlator/SensorHubTag/TimeTag.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Diagnostics;
using System.Text;
using Correlator.Util;
@@ -28,7 +27,7 @@
var seconds = Convert.ToInt32(temp[5], 16).AppendLeftZero();
timeBuilder.Append(year).Append(month).Append(day).Append(hour).Append(minute).Append(seconds);
Time = timeBuilder.ToString();
- Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
+ // Debug.WriteLine($"TimeTag => [Oid:{oid}, Time:{Time}]");
}
}
}
\ No newline at end of file
diff --git a/Correlator/Util/CommandSender.cs b/Correlator/Util/CommandSender.cs
index a9b0de0..beec8a9 100644
--- a/Correlator/Util/CommandSender.cs
+++ b/Correlator/Util/CommandSender.cs
@@ -271,8 +271,8 @@
///
///
///
- /// 异常数据角标集合
- public static void SendDataCheckResultCmd(SerialPort sp, string devCode, List indexs)
+ /// 异常数据角标集合
+ public static void SendDataCheckResultCmd(SerialPort sp, string devCode, List indexArray)
{
try
{
@@ -305,7 +305,7 @@
var btSeq = byte.Parse(seq, NumberStyles.HexNumber);
//check result tag
- var byteArray = indexs.ToByteArray();
+ var byteArray = indexArray.ToByteArray();
byte[] oidTag =
{
0x60, 0x00, 0x03, 0x00,
diff --git a/Correlator/Util/FlowStatus.cs b/Correlator/Util/FlowStatus.cs
index 4220840..cd5bc99 100644
--- a/Correlator/Util/FlowStatus.cs
+++ b/Correlator/Util/FlowStatus.cs
@@ -34,21 +34,21 @@
public static bool IsShowing = false;
//数据包index
- public static readonly List SeqCaches = new List();
+ public static readonly List SeqCaches = new List();
//水听器下发唤醒指令时间戳
public static byte[] HydrophoneWakeUpTimeBytes = new byte[6];
//水听器红色信号接收器原始数据
- public static readonly List RedSensorOriginalResp = new List();
+ public static readonly Dictionary RedSensorOriginalResp = new Dictionary();
//水听器红色信号接收器解析之后的Tags
- public static readonly List> RedSensorResponseTags = new List>();
+ public static readonly Dictionary> RedSensorResponseTags = new Dictionary>();
//水听器红色信号接收器原始数据
- public static readonly List BlueSensorOriginalResp = new List();
+ public static readonly Dictionary BlueSensorOriginalResp = new Dictionary();
//水听器蓝色信号接收器解析之后的Tags
- public static readonly List> BlueSensorResponseTags = new List>();
+ public static readonly Dictionary> BlueSensorResponseTags = new Dictionary>();
}
}
\ No newline at end of file
diff --git a/Correlator/Util/MethodExtensions.cs b/Correlator/Util/MethodExtensions.cs
index 44d58f5..6bb154b 100644
--- a/Correlator/Util/MethodExtensions.cs
+++ b/Correlator/Util/MethodExtensions.cs
@@ -282,8 +282,6 @@
bitIndex[i + 6],
bitIndex[i + 7]
};
- //二进制高低位反序
- bytes.Reverse();
var builder = new StringBuilder();
foreach (var b in bytes)
{
diff --git a/Correlator/Util/SerialPortManager.cs b/Correlator/Util/SerialPortManager.cs
index 9ad8733..a84f9e0 100644
--- a/Correlator/Util/SerialPortManager.cs
+++ b/Correlator/Util/SerialPortManager.cs
@@ -98,24 +98,26 @@
case 22543:
if (receiveData[0] == 0xA3 && receiveData[1] == 0x20)
{
+ int index = receiveData[15];
+ Debug.WriteLine($"SerialPortManager => {index}");
//取出seq,确定收到的是第几包数据
- FlowStatus.SeqCaches.Add(receiveData[15]);
+ FlowStatus.SeqCaches.Add(index);
var response = BitConverter.ToString(receiveData).Replace("-", "");
//收集数据
if (deviceId.Equals(DevCode.Dev1))
{
//原始数据
- FlowStatus.RedSensorOriginalResp.Add(response);
+ FlowStatus.RedSensorOriginalResp.Add(index, response);
//解析之后的数据
- FlowStatus.RedSensorResponseTags.Add(tags);
+ FlowStatus.RedSensorResponseTags.Add(index, tags);
}
else
{
//原始数据
- FlowStatus.BlueSensorOriginalResp.Add(response);
+ FlowStatus.BlueSensorOriginalResp.Add(index, response);
//解析之后的数据
- FlowStatus.BlueSensorResponseTags.Add(tags);
+ FlowStatus.BlueSensorResponseTags.Add(index, tags);
}
}