diff --git a/PipeGallery/Correlator/CalculteSatus.cs b/PipeGallery/Correlator/CalculteSatus.cs index 813f97b..9e72206 100644 --- a/PipeGallery/Correlator/CalculteSatus.cs +++ b/PipeGallery/Correlator/CalculteSatus.cs @@ -61,6 +61,8 @@ public static bool isRedCollectComplete = false; //红色传感器干扰频段采集是否已经完成 public static bool isBlueCollectComplete = false; //蓝色传感器干扰频段采集是否已经完成 + public static bool CanGetSignal = true; //是否可以获取信号 + public static int createView = 0; //创建对比视图,1-取消定时任务,2-创建视图 //public static bool isFirstStart = true;//第一次登录,不需要弹出“是否是新管线”提示 diff --git a/PipeGallery/Correlator/CalculteSatus.cs b/PipeGallery/Correlator/CalculteSatus.cs index 813f97b..9e72206 100644 --- a/PipeGallery/Correlator/CalculteSatus.cs +++ b/PipeGallery/Correlator/CalculteSatus.cs @@ -61,6 +61,8 @@ public static bool isRedCollectComplete = false; //红色传感器干扰频段采集是否已经完成 public static bool isBlueCollectComplete = false; //蓝色传感器干扰频段采集是否已经完成 + public static bool CanGetSignal = true; //是否可以获取信号 + public static int createView = 0; //创建对比视图,1-取消定时任务,2-创建视图 //public static bool isFirstStart = true;//第一次登录,不需要弹出“是否是新管线”提示 diff --git a/PipeGallery/Correlator/CalculteThread.cs b/PipeGallery/Correlator/CalculteThread.cs index 6a02ff4..2a67520 100644 --- a/PipeGallery/Correlator/CalculteThread.cs +++ b/PipeGallery/Correlator/CalculteThread.cs @@ -27,7 +27,7 @@ public void exe() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //计时器过程 @@ -120,7 +120,7 @@ public void exe1() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //数据采集过程 @@ -184,7 +184,7 @@ } CalculteSatus.msp.CollectData = false; //停止下发采集指令 - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 ClassCalculate calculate = ClassCalculate.Instance; calculate.Device1 = DevCode.Dev1; @@ -241,7 +241,7 @@ HomePageViewModel.Instance.BtnResetIsEnabled = true; HomePageViewModel.Instance.BtnStartIsEnabled = true; - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 CorrelatorDataSaveThread.devDataValueMap.Clear(); diff --git a/PipeGallery/Correlator/CalculteSatus.cs b/PipeGallery/Correlator/CalculteSatus.cs index 813f97b..9e72206 100644 --- a/PipeGallery/Correlator/CalculteSatus.cs +++ b/PipeGallery/Correlator/CalculteSatus.cs @@ -61,6 +61,8 @@ public static bool isRedCollectComplete = false; //红色传感器干扰频段采集是否已经完成 public static bool isBlueCollectComplete = false; //蓝色传感器干扰频段采集是否已经完成 + public static bool CanGetSignal = true; //是否可以获取信号 + public static int createView = 0; //创建对比视图,1-取消定时任务,2-创建视图 //public static bool isFirstStart = true;//第一次登录,不需要弹出“是否是新管线”提示 diff --git a/PipeGallery/Correlator/CalculteThread.cs b/PipeGallery/Correlator/CalculteThread.cs index 6a02ff4..2a67520 100644 --- a/PipeGallery/Correlator/CalculteThread.cs +++ b/PipeGallery/Correlator/CalculteThread.cs @@ -27,7 +27,7 @@ public void exe() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //计时器过程 @@ -120,7 +120,7 @@ public void exe1() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //数据采集过程 @@ -184,7 +184,7 @@ } CalculteSatus.msp.CollectData = false; //停止下发采集指令 - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 ClassCalculate calculate = ClassCalculate.Instance; calculate.Device1 = DevCode.Dev1; @@ -241,7 +241,7 @@ HomePageViewModel.Instance.BtnResetIsEnabled = true; HomePageViewModel.Instance.BtnStartIsEnabled = true; - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 CorrelatorDataSaveThread.devDataValueMap.Clear(); diff --git a/PipeGallery/Correlator/CmdClass.cs b/PipeGallery/Correlator/CmdClass.cs index ee857c8..137fbbd 100644 --- a/PipeGallery/Correlator/CmdClass.cs +++ b/PipeGallery/Correlator/CmdClass.cs @@ -67,6 +67,7 @@ systemDateHandler.handleTag(tag, strDeviceId, cellTag, systemDateTag); } + //信号查询指令 if (operType == "WakeupResponse") { _devCode = strDeviceId; diff --git a/PipeGallery/Correlator/CalculteSatus.cs b/PipeGallery/Correlator/CalculteSatus.cs index 813f97b..9e72206 100644 --- a/PipeGallery/Correlator/CalculteSatus.cs +++ b/PipeGallery/Correlator/CalculteSatus.cs @@ -61,6 +61,8 @@ public static bool isRedCollectComplete = false; //红色传感器干扰频段采集是否已经完成 public static bool isBlueCollectComplete = false; //蓝色传感器干扰频段采集是否已经完成 + public static bool CanGetSignal = true; //是否可以获取信号 + public static int createView = 0; //创建对比视图,1-取消定时任务,2-创建视图 //public static bool isFirstStart = true;//第一次登录,不需要弹出“是否是新管线”提示 diff --git a/PipeGallery/Correlator/CalculteThread.cs b/PipeGallery/Correlator/CalculteThread.cs index 6a02ff4..2a67520 100644 --- a/PipeGallery/Correlator/CalculteThread.cs +++ b/PipeGallery/Correlator/CalculteThread.cs @@ -27,7 +27,7 @@ public void exe() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //计时器过程 @@ -120,7 +120,7 @@ public void exe1() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //数据采集过程 @@ -184,7 +184,7 @@ } CalculteSatus.msp.CollectData = false; //停止下发采集指令 - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 ClassCalculate calculate = ClassCalculate.Instance; calculate.Device1 = DevCode.Dev1; @@ -241,7 +241,7 @@ HomePageViewModel.Instance.BtnResetIsEnabled = true; HomePageViewModel.Instance.BtnStartIsEnabled = true; - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 CorrelatorDataSaveThread.devDataValueMap.Clear(); diff --git a/PipeGallery/Correlator/CmdClass.cs b/PipeGallery/Correlator/CmdClass.cs index ee857c8..137fbbd 100644 --- a/PipeGallery/Correlator/CmdClass.cs +++ b/PipeGallery/Correlator/CmdClass.cs @@ -67,6 +67,7 @@ systemDateHandler.handleTag(tag, strDeviceId, cellTag, systemDateTag); } + //信号查询指令 if (operType == "WakeupResponse") { _devCode = strDeviceId; diff --git a/PipeGallery/Correlator/ManipulateSerialPort.cs b/PipeGallery/Correlator/ManipulateSerialPort.cs index 606dd84..a64fec2 100644 --- a/PipeGallery/Correlator/ManipulateSerialPort.cs +++ b/PipeGallery/Correlator/ManipulateSerialPort.cs @@ -3,19 +3,16 @@ using System.IO.Ports; using System.Text; using System.Threading; -using System.Timers; using System.Windows; using PipeGallery.Manage; using PipeGallery.ViewModel; using Application = System.Windows.Forms.Application; -using Timer = System.Timers.Timer; namespace PipeGallery.Correlator { class ManipulateSerialPort { public readonly SerialPort Sp = new SerialPort(); //实例化串口通讯类 - public readonly Timer timer = new Timer(); public bool CollectData = true; //DevCode dev = new DevCode(); @@ -182,7 +179,7 @@ return; } - SetInterval(configItr, delegate + while (CalculteSatus.CanGetSignal) { try { @@ -256,20 +253,13 @@ } catch (Exception e) { - timer.Stop(); Application.Restart(); //重启当前程序 Thread.Sleep(2000); Process.GetCurrentProcess().Kill(); } - }); - } - private void SetInterval(double interval, Action action) - { - //System.Timers.Timer timer = new System.Timers.Timer(); - timer.Interval = interval; - timer.Elapsed += delegate(object sender, ElapsedEventArgs e) { action(e); }; - timer.Enabled = true; + Thread.Sleep(10 * 1000); + } } private int SetSignalIntensity(int value) diff --git a/PipeGallery/Correlator/CalculteSatus.cs b/PipeGallery/Correlator/CalculteSatus.cs index 813f97b..9e72206 100644 --- a/PipeGallery/Correlator/CalculteSatus.cs +++ b/PipeGallery/Correlator/CalculteSatus.cs @@ -61,6 +61,8 @@ public static bool isRedCollectComplete = false; //红色传感器干扰频段采集是否已经完成 public static bool isBlueCollectComplete = false; //蓝色传感器干扰频段采集是否已经完成 + public static bool CanGetSignal = true; //是否可以获取信号 + public static int createView = 0; //创建对比视图,1-取消定时任务,2-创建视图 //public static bool isFirstStart = true;//第一次登录,不需要弹出“是否是新管线”提示 diff --git a/PipeGallery/Correlator/CalculteThread.cs b/PipeGallery/Correlator/CalculteThread.cs index 6a02ff4..2a67520 100644 --- a/PipeGallery/Correlator/CalculteThread.cs +++ b/PipeGallery/Correlator/CalculteThread.cs @@ -27,7 +27,7 @@ public void exe() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //计时器过程 @@ -120,7 +120,7 @@ public void exe1() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //数据采集过程 @@ -184,7 +184,7 @@ } CalculteSatus.msp.CollectData = false; //停止下发采集指令 - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 ClassCalculate calculate = ClassCalculate.Instance; calculate.Device1 = DevCode.Dev1; @@ -241,7 +241,7 @@ HomePageViewModel.Instance.BtnResetIsEnabled = true; HomePageViewModel.Instance.BtnStartIsEnabled = true; - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 CorrelatorDataSaveThread.devDataValueMap.Clear(); diff --git a/PipeGallery/Correlator/CmdClass.cs b/PipeGallery/Correlator/CmdClass.cs index ee857c8..137fbbd 100644 --- a/PipeGallery/Correlator/CmdClass.cs +++ b/PipeGallery/Correlator/CmdClass.cs @@ -67,6 +67,7 @@ systemDateHandler.handleTag(tag, strDeviceId, cellTag, systemDateTag); } + //信号查询指令 if (operType == "WakeupResponse") { _devCode = strDeviceId; diff --git a/PipeGallery/Correlator/ManipulateSerialPort.cs b/PipeGallery/Correlator/ManipulateSerialPort.cs index 606dd84..a64fec2 100644 --- a/PipeGallery/Correlator/ManipulateSerialPort.cs +++ b/PipeGallery/Correlator/ManipulateSerialPort.cs @@ -3,19 +3,16 @@ using System.IO.Ports; using System.Text; using System.Threading; -using System.Timers; using System.Windows; using PipeGallery.Manage; using PipeGallery.ViewModel; using Application = System.Windows.Forms.Application; -using Timer = System.Timers.Timer; namespace PipeGallery.Correlator { class ManipulateSerialPort { public readonly SerialPort Sp = new SerialPort(); //实例化串口通讯类 - public readonly Timer timer = new Timer(); public bool CollectData = true; //DevCode dev = new DevCode(); @@ -182,7 +179,7 @@ return; } - SetInterval(configItr, delegate + while (CalculteSatus.CanGetSignal) { try { @@ -256,20 +253,13 @@ } catch (Exception e) { - timer.Stop(); Application.Restart(); //重启当前程序 Thread.Sleep(2000); Process.GetCurrentProcess().Kill(); } - }); - } - private void SetInterval(double interval, Action action) - { - //System.Timers.Timer timer = new System.Timers.Timer(); - timer.Interval = interval; - timer.Elapsed += delegate(object sender, ElapsedEventArgs e) { action(e); }; - timer.Enabled = true; + Thread.Sleep(10 * 1000); + } } private int SetSignalIntensity(int value) diff --git a/PipeGallery/Correlator/SenderClass.cs b/PipeGallery/Correlator/SenderClass.cs index 16e0e86..e265b4b 100644 --- a/PipeGallery/Correlator/SenderClass.cs +++ b/PipeGallery/Correlator/SenderClass.cs @@ -325,7 +325,7 @@ sp.Write(afcrc, 0, afcrc.Length); CorrelatorDataSaveThread.isSound = false; - Correlator.CalculteSatus.msp.timer.Start(); //重新开始状态采集 + CalculteSatus.CanGetSignal = true; //重新开始状态采集 PlayWav playwav = PlayWav.getInstance(); playwav.Stop(); diff --git a/PipeGallery/Correlator/CalculteSatus.cs b/PipeGallery/Correlator/CalculteSatus.cs index 813f97b..9e72206 100644 --- a/PipeGallery/Correlator/CalculteSatus.cs +++ b/PipeGallery/Correlator/CalculteSatus.cs @@ -61,6 +61,8 @@ public static bool isRedCollectComplete = false; //红色传感器干扰频段采集是否已经完成 public static bool isBlueCollectComplete = false; //蓝色传感器干扰频段采集是否已经完成 + public static bool CanGetSignal = true; //是否可以获取信号 + public static int createView = 0; //创建对比视图,1-取消定时任务,2-创建视图 //public static bool isFirstStart = true;//第一次登录,不需要弹出“是否是新管线”提示 diff --git a/PipeGallery/Correlator/CalculteThread.cs b/PipeGallery/Correlator/CalculteThread.cs index 6a02ff4..2a67520 100644 --- a/PipeGallery/Correlator/CalculteThread.cs +++ b/PipeGallery/Correlator/CalculteThread.cs @@ -27,7 +27,7 @@ public void exe() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //计时器过程 @@ -120,7 +120,7 @@ public void exe1() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //数据采集过程 @@ -184,7 +184,7 @@ } CalculteSatus.msp.CollectData = false; //停止下发采集指令 - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 ClassCalculate calculate = ClassCalculate.Instance; calculate.Device1 = DevCode.Dev1; @@ -241,7 +241,7 @@ HomePageViewModel.Instance.BtnResetIsEnabled = true; HomePageViewModel.Instance.BtnStartIsEnabled = true; - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 CorrelatorDataSaveThread.devDataValueMap.Clear(); diff --git a/PipeGallery/Correlator/CmdClass.cs b/PipeGallery/Correlator/CmdClass.cs index ee857c8..137fbbd 100644 --- a/PipeGallery/Correlator/CmdClass.cs +++ b/PipeGallery/Correlator/CmdClass.cs @@ -67,6 +67,7 @@ systemDateHandler.handleTag(tag, strDeviceId, cellTag, systemDateTag); } + //信号查询指令 if (operType == "WakeupResponse") { _devCode = strDeviceId; diff --git a/PipeGallery/Correlator/ManipulateSerialPort.cs b/PipeGallery/Correlator/ManipulateSerialPort.cs index 606dd84..a64fec2 100644 --- a/PipeGallery/Correlator/ManipulateSerialPort.cs +++ b/PipeGallery/Correlator/ManipulateSerialPort.cs @@ -3,19 +3,16 @@ using System.IO.Ports; using System.Text; using System.Threading; -using System.Timers; using System.Windows; using PipeGallery.Manage; using PipeGallery.ViewModel; using Application = System.Windows.Forms.Application; -using Timer = System.Timers.Timer; namespace PipeGallery.Correlator { class ManipulateSerialPort { public readonly SerialPort Sp = new SerialPort(); //实例化串口通讯类 - public readonly Timer timer = new Timer(); public bool CollectData = true; //DevCode dev = new DevCode(); @@ -182,7 +179,7 @@ return; } - SetInterval(configItr, delegate + while (CalculteSatus.CanGetSignal) { try { @@ -256,20 +253,13 @@ } catch (Exception e) { - timer.Stop(); Application.Restart(); //重启当前程序 Thread.Sleep(2000); Process.GetCurrentProcess().Kill(); } - }); - } - private void SetInterval(double interval, Action action) - { - //System.Timers.Timer timer = new System.Timers.Timer(); - timer.Interval = interval; - timer.Elapsed += delegate(object sender, ElapsedEventArgs e) { action(e); }; - timer.Enabled = true; + Thread.Sleep(10 * 1000); + } } private int SetSignalIntensity(int value) diff --git a/PipeGallery/Correlator/SenderClass.cs b/PipeGallery/Correlator/SenderClass.cs index 16e0e86..e265b4b 100644 --- a/PipeGallery/Correlator/SenderClass.cs +++ b/PipeGallery/Correlator/SenderClass.cs @@ -325,7 +325,7 @@ sp.Write(afcrc, 0, afcrc.Length); CorrelatorDataSaveThread.isSound = false; - Correlator.CalculteSatus.msp.timer.Start(); //重新开始状态采集 + CalculteSatus.CanGetSignal = true; //重新开始状态采集 PlayWav playwav = PlayWav.getInstance(); playwav.Stop(); diff --git a/PipeGallery/View/AuditionView.xaml.cs b/PipeGallery/View/AuditionView.xaml.cs index 6021caf..c36cb92 100644 --- a/PipeGallery/View/AuditionView.xaml.cs +++ b/PipeGallery/View/AuditionView.xaml.cs @@ -173,7 +173,7 @@ playwav.Stop(); playwav.initWaveOut(); - Correlator.CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 Thread.Sleep(3000); SenderClass.sendSoundCollectCmd(CalculteSatus.msp.Sp, devcode as string); Thread.Sleep(2000); diff --git a/PipeGallery/Correlator/CalculteSatus.cs b/PipeGallery/Correlator/CalculteSatus.cs index 813f97b..9e72206 100644 --- a/PipeGallery/Correlator/CalculteSatus.cs +++ b/PipeGallery/Correlator/CalculteSatus.cs @@ -61,6 +61,8 @@ public static bool isRedCollectComplete = false; //红色传感器干扰频段采集是否已经完成 public static bool isBlueCollectComplete = false; //蓝色传感器干扰频段采集是否已经完成 + public static bool CanGetSignal = true; //是否可以获取信号 + public static int createView = 0; //创建对比视图,1-取消定时任务,2-创建视图 //public static bool isFirstStart = true;//第一次登录,不需要弹出“是否是新管线”提示 diff --git a/PipeGallery/Correlator/CalculteThread.cs b/PipeGallery/Correlator/CalculteThread.cs index 6a02ff4..2a67520 100644 --- a/PipeGallery/Correlator/CalculteThread.cs +++ b/PipeGallery/Correlator/CalculteThread.cs @@ -27,7 +27,7 @@ public void exe() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //计时器过程 @@ -120,7 +120,7 @@ public void exe1() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //数据采集过程 @@ -184,7 +184,7 @@ } CalculteSatus.msp.CollectData = false; //停止下发采集指令 - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 ClassCalculate calculate = ClassCalculate.Instance; calculate.Device1 = DevCode.Dev1; @@ -241,7 +241,7 @@ HomePageViewModel.Instance.BtnResetIsEnabled = true; HomePageViewModel.Instance.BtnStartIsEnabled = true; - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 CorrelatorDataSaveThread.devDataValueMap.Clear(); diff --git a/PipeGallery/Correlator/CmdClass.cs b/PipeGallery/Correlator/CmdClass.cs index ee857c8..137fbbd 100644 --- a/PipeGallery/Correlator/CmdClass.cs +++ b/PipeGallery/Correlator/CmdClass.cs @@ -67,6 +67,7 @@ systemDateHandler.handleTag(tag, strDeviceId, cellTag, systemDateTag); } + //信号查询指令 if (operType == "WakeupResponse") { _devCode = strDeviceId; diff --git a/PipeGallery/Correlator/ManipulateSerialPort.cs b/PipeGallery/Correlator/ManipulateSerialPort.cs index 606dd84..a64fec2 100644 --- a/PipeGallery/Correlator/ManipulateSerialPort.cs +++ b/PipeGallery/Correlator/ManipulateSerialPort.cs @@ -3,19 +3,16 @@ using System.IO.Ports; using System.Text; using System.Threading; -using System.Timers; using System.Windows; using PipeGallery.Manage; using PipeGallery.ViewModel; using Application = System.Windows.Forms.Application; -using Timer = System.Timers.Timer; namespace PipeGallery.Correlator { class ManipulateSerialPort { public readonly SerialPort Sp = new SerialPort(); //实例化串口通讯类 - public readonly Timer timer = new Timer(); public bool CollectData = true; //DevCode dev = new DevCode(); @@ -182,7 +179,7 @@ return; } - SetInterval(configItr, delegate + while (CalculteSatus.CanGetSignal) { try { @@ -256,20 +253,13 @@ } catch (Exception e) { - timer.Stop(); Application.Restart(); //重启当前程序 Thread.Sleep(2000); Process.GetCurrentProcess().Kill(); } - }); - } - private void SetInterval(double interval, Action action) - { - //System.Timers.Timer timer = new System.Timers.Timer(); - timer.Interval = interval; - timer.Elapsed += delegate(object sender, ElapsedEventArgs e) { action(e); }; - timer.Enabled = true; + Thread.Sleep(10 * 1000); + } } private int SetSignalIntensity(int value) diff --git a/PipeGallery/Correlator/SenderClass.cs b/PipeGallery/Correlator/SenderClass.cs index 16e0e86..e265b4b 100644 --- a/PipeGallery/Correlator/SenderClass.cs +++ b/PipeGallery/Correlator/SenderClass.cs @@ -325,7 +325,7 @@ sp.Write(afcrc, 0, afcrc.Length); CorrelatorDataSaveThread.isSound = false; - Correlator.CalculteSatus.msp.timer.Start(); //重新开始状态采集 + CalculteSatus.CanGetSignal = true; //重新开始状态采集 PlayWav playwav = PlayWav.getInstance(); playwav.Stop(); diff --git a/PipeGallery/View/AuditionView.xaml.cs b/PipeGallery/View/AuditionView.xaml.cs index 6021caf..c36cb92 100644 --- a/PipeGallery/View/AuditionView.xaml.cs +++ b/PipeGallery/View/AuditionView.xaml.cs @@ -173,7 +173,7 @@ playwav.Stop(); playwav.initWaveOut(); - Correlator.CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 Thread.Sleep(3000); SenderClass.sendSoundCollectCmd(CalculteSatus.msp.Sp, devcode as string); Thread.Sleep(2000); diff --git a/PipeGallery/View/FilterEditView.xaml.cs b/PipeGallery/View/FilterEditView.xaml.cs index 19f259d..cddd158 100644 --- a/PipeGallery/View/FilterEditView.xaml.cs +++ b/PipeGallery/View/FilterEditView.xaml.cs @@ -244,7 +244,7 @@ } else { - Correlator.CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; LogHelper.Info("定位计算前数据清除!!!"); diff --git a/PipeGallery/Correlator/CalculteSatus.cs b/PipeGallery/Correlator/CalculteSatus.cs index 813f97b..9e72206 100644 --- a/PipeGallery/Correlator/CalculteSatus.cs +++ b/PipeGallery/Correlator/CalculteSatus.cs @@ -61,6 +61,8 @@ public static bool isRedCollectComplete = false; //红色传感器干扰频段采集是否已经完成 public static bool isBlueCollectComplete = false; //蓝色传感器干扰频段采集是否已经完成 + public static bool CanGetSignal = true; //是否可以获取信号 + public static int createView = 0; //创建对比视图,1-取消定时任务,2-创建视图 //public static bool isFirstStart = true;//第一次登录,不需要弹出“是否是新管线”提示 diff --git a/PipeGallery/Correlator/CalculteThread.cs b/PipeGallery/Correlator/CalculteThread.cs index 6a02ff4..2a67520 100644 --- a/PipeGallery/Correlator/CalculteThread.cs +++ b/PipeGallery/Correlator/CalculteThread.cs @@ -27,7 +27,7 @@ public void exe() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //计时器过程 @@ -120,7 +120,7 @@ public void exe1() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; //数据采集过程 @@ -184,7 +184,7 @@ } CalculteSatus.msp.CollectData = false; //停止下发采集指令 - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 ClassCalculate calculate = ClassCalculate.Instance; calculate.Device1 = DevCode.Dev1; @@ -241,7 +241,7 @@ HomePageViewModel.Instance.BtnResetIsEnabled = true; HomePageViewModel.Instance.BtnStartIsEnabled = true; - CalculteSatus.msp.timer.Start(); //开始状态采集指令的发送 + CalculteSatus.CanGetSignal = true; //开始状态采集指令的发送 CorrelatorDataSaveThread.devDataValueMap.Clear(); diff --git a/PipeGallery/Correlator/CmdClass.cs b/PipeGallery/Correlator/CmdClass.cs index ee857c8..137fbbd 100644 --- a/PipeGallery/Correlator/CmdClass.cs +++ b/PipeGallery/Correlator/CmdClass.cs @@ -67,6 +67,7 @@ systemDateHandler.handleTag(tag, strDeviceId, cellTag, systemDateTag); } + //信号查询指令 if (operType == "WakeupResponse") { _devCode = strDeviceId; diff --git a/PipeGallery/Correlator/ManipulateSerialPort.cs b/PipeGallery/Correlator/ManipulateSerialPort.cs index 606dd84..a64fec2 100644 --- a/PipeGallery/Correlator/ManipulateSerialPort.cs +++ b/PipeGallery/Correlator/ManipulateSerialPort.cs @@ -3,19 +3,16 @@ using System.IO.Ports; using System.Text; using System.Threading; -using System.Timers; using System.Windows; using PipeGallery.Manage; using PipeGallery.ViewModel; using Application = System.Windows.Forms.Application; -using Timer = System.Timers.Timer; namespace PipeGallery.Correlator { class ManipulateSerialPort { public readonly SerialPort Sp = new SerialPort(); //实例化串口通讯类 - public readonly Timer timer = new Timer(); public bool CollectData = true; //DevCode dev = new DevCode(); @@ -182,7 +179,7 @@ return; } - SetInterval(configItr, delegate + while (CalculteSatus.CanGetSignal) { try { @@ -256,20 +253,13 @@ } catch (Exception e) { - timer.Stop(); Application.Restart(); //重启当前程序 Thread.Sleep(2000); Process.GetCurrentProcess().Kill(); } - }); - } - private void SetInterval(double interval, Action action) - { - //System.Timers.Timer timer = new System.Timers.Timer(); - timer.Interval = interval; - timer.Elapsed += delegate(object sender, ElapsedEventArgs e) { action(e); }; - timer.Enabled = true; + Thread.Sleep(10 * 1000); + } } private int SetSignalIntensity(int value) diff --git a/PipeGallery/Correlator/SenderClass.cs b/PipeGallery/Correlator/SenderClass.cs index 16e0e86..e265b4b 100644 --- a/PipeGallery/Correlator/SenderClass.cs +++ b/PipeGallery/Correlator/SenderClass.cs @@ -325,7 +325,7 @@ sp.Write(afcrc, 0, afcrc.Length); CorrelatorDataSaveThread.isSound = false; - Correlator.CalculteSatus.msp.timer.Start(); //重新开始状态采集 + CalculteSatus.CanGetSignal = true; //重新开始状态采集 PlayWav playwav = PlayWav.getInstance(); playwav.Stop(); diff --git a/PipeGallery/View/AuditionView.xaml.cs b/PipeGallery/View/AuditionView.xaml.cs index 6021caf..c36cb92 100644 --- a/PipeGallery/View/AuditionView.xaml.cs +++ b/PipeGallery/View/AuditionView.xaml.cs @@ -173,7 +173,7 @@ playwav.Stop(); playwav.initWaveOut(); - Correlator.CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 Thread.Sleep(3000); SenderClass.sendSoundCollectCmd(CalculteSatus.msp.Sp, devcode as string); Thread.Sleep(2000); diff --git a/PipeGallery/View/FilterEditView.xaml.cs b/PipeGallery/View/FilterEditView.xaml.cs index 19f259d..cddd158 100644 --- a/PipeGallery/View/FilterEditView.xaml.cs +++ b/PipeGallery/View/FilterEditView.xaml.cs @@ -244,7 +244,7 @@ } else { - Correlator.CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 CalculteSatus.msp.CollectData = true; LogHelper.Info("定位计算前数据清除!!!"); diff --git a/PipeGallery/View/RangingPipeDiameterEditView.xaml.cs b/PipeGallery/View/RangingPipeDiameterEditView.xaml.cs index 1714ccc..8db2a7c 100644 --- a/PipeGallery/View/RangingPipeDiameterEditView.xaml.cs +++ b/PipeGallery/View/RangingPipeDiameterEditView.xaml.cs @@ -192,11 +192,11 @@ /// private void execute() { - CalculteSatus.msp.timer.Stop(); //停止状态采集指令的发送 + CalculteSatus.CanGetSignal = false; //停止状态采集指令的发送 Thread.Sleep(10000); SenderClass.sendCorrelatorRangingCmd(CalculteSatus.msp.Sp); //下发测距指令 Thread.Sleep(50000); - CalculteSatus.msp.timer.Start(); //重新开始状态采集 + CalculteSatus.CanGetSignal = true; //重新开始状态采集 passTimer.Stop(); //停止计时 }