Exemplo n.º 1
0
        /// <summary>
        ///     线程处理函数:原始数据处理
        /// </summary>
        void ThreadOrigWaveStart()
        {
            while (true)
            {
                OrigBytesEvent.WaitOne();
                var r = new byte[2];
                for (int i = 0; i < ConstUdpArg.ORIG_DETECT_LENGTH; i++)
                {
                    for (int j = 0; j < (OrigWaveBytes[0].Length / 2 - 1); j++)
                    {
                        r[0] = OrigWaveBytes[i][j * 2 + 1];
                        r[1] = OrigWaveBytes[i][j * 2];
                        short a = BitConverter.ToInt16(r, 0);

                        OrigWaveFloats[i][j] = a / 8192.0f;
                    }
                }
                int origchannel = DisPlayWindow.Info.OrigChannel - 1;
                int origTdiv    = DisPlayWindow.Info.OrigTdiv - 1;
                int origpack    = origchannel + origTdiv * 8;
                if (OrigGraphEventHandler != null)
                {
                    string sender = "OrigNet";
                    OrigGraphEventHandler.Invoke(sender, OrigWaveFloats[origpack]);
                }
            }
        }
Exemplo n.º 2
0
 protected virtual void Dispose(bool disposing)
 {
     ReleaseUnmanagedResources();
     if (disposing)
     {
         if (WorkBytesEvent != null)
         {
             WorkBytesEvent.Dispose();
         }
         if (OrigBytesEvent != null)
         {
             OrigBytesEvent.Dispose();
         }
         if (DelayBytesEvent != null)
         {
             DelayBytesEvent.Dispose();
         }
         if (WorkEnergyEvent != null)
         {
             WorkEnergyEvent.Dispose();
         }
         if (FreqWaveEvent != null)
         {
             FreqWaveEvent.Dispose();
         }
         if (OrigThread != null)
         {
             OrigThread.Abort();
             if (OrigThread.ThreadState != ThreadState.Aborted)
             {
                 Thread.Sleep(100);
             }
         }
         if (DelayThread != null)
         {
             DelayThread.Abort();
         }
         if (WorkThread != null)
         {
             WorkThread.Abort();
             if (WorkThread.ThreadState != ThreadState.Aborted)
             {
                 Thread.Sleep(100);
             }
         }
         if (EnergyThread != null)
         {
             EnergyThread.Abort();
         }
         if (FreqThread != null)
         {
             FreqThread.Abort();
         }
     }
 }
Exemplo n.º 3
0
            /// <summary>
            /// 线程处理函数:原始数据处理
            /// </summary>
            void ThreadOrigWaveStart()
            {
                while (true)
                {
                    OrigBytesEvent.WaitOne();
                    var r = new byte[2];
                    for (int i = 0; i < ConstUdpArg.ORIG_DETECT_LENGTH; i++)
                    {
                        for (int j = 0; j < OrigWaveBytes[0].Length / 2 - 1; j++)
                        {
                            r[0] = OrigWaveBytes[i][j * 2 + 1];
                            r[1] = OrigWaveBytes[i][j * 2];
                            short a = BitConverter.ToInt16(r, 0);

                            OrigWaveFloats[i][j] = a / 8192.0f;
                        }
                    }
                    if (OrigGraphEventHandler != null)
                    {
                        OrigGraphEventHandler.Invoke(null, OrigWaveFloats);
                    }
                }
            }