void DISPLAY_FFT_3() { // размер БПФ double[] TSAMPL_tmp = new double[FFT_SIZE]; double[] MAG_LOG_tmp = new double[FFT_SIZE]; // data3 = main.sDATA1.data1; data3 = srv1.data1; if (data3 != null) { Task a = Task.Factory.StartNew(() => { Array.Copy(data3.TSAMPL, TSAMPL_tmp, FFT_SIZE); }); Task b = Task.Factory.StartNew(() => { Array.Copy(data3.MAG_LOG, MAG_LOG_tmp, FFT_SIZE); }); Task.WaitAll(new Task[] { a, b }); //Console.WriteLine("AMAX0:"+ data0.AMAX); if (fig_FFT3 != null) { fig_FFT3.PlotData(TSAMPL_tmp, MAG_LOG_tmp, data3.AMAX, data3.BMAX, data3.CMAX, data3.M1X, data3.M1Y, data3.M2X, data3.M2Y, data3.M3X, data3.M3Y); var xy_left = this.Left; var xy_top = this.Top; // fig_FFT3.Left = (int)xy_left;//положение левого края панели относительно рабочего стола // fig_FFT3.Top = (int)xy_top; //положение верхнего края панели относительно рабочего стола try { fig_FFT3.Show(); } catch (Exception ex) { Console.WriteLine("ex:" + ex); }; } } }
void DISPLAY_FFT_0() { // размер БПФ double[] TSAMPL_tmp = new double[FFT_SIZE]; double[] MAG_LOG_tmp = new double[FFT_SIZE]; // data0 = main.sDATA0.data0; if (srv0 != null) { data0 = srv0.data0; } if (data0 != null) { Task a = Task.Factory.StartNew(() => { Array.Copy(data0.TSAMPL, TSAMPL_tmp, FFT_SIZE); }); Task b = Task.Factory.StartNew(() => { Array.Copy(data0.MAG_LOG, MAG_LOG_tmp, FFT_SIZE); }); Task.WaitAll(new Task[] { a, b }); if (fig_FFT0 != null) { fig_FFT0.PlotData(TSAMPL_tmp, MAG_LOG_tmp, data0.AMAX, data0.BMAX, data0.CMAX, data0.M1X, data0.M1Y, data0.M2X, data0.M2Y, data0.M3X, data0.M3Y); var xy_left = (int)this.Left; var xy_top = (int)this.Top; // fig_FFT0.StartPosition = System.Windows.Forms.FormStartPosition.Manual; //fig_FFT0.Location= new System.Drawing.Point(xy_left, xy_top); // fig_FFT0.Left = (int)xy_left;//положение левого края панели относительно рабочего стола // fig_FFT0.Top = (int)xy_top; //положение верхнего края панели относительно рабочего стола try { fig_FFT0.Show(); } catch (Exception ex) { Console.WriteLine("ex:" + ex); }; } } }
private void Timer1_Tick(object sender, EventArgs e)//быстрое перывание - отвечает за обновление данных для вывода на экран { if (panel_Recv != null) { FFT_SIZE = panel_Recv.FFT_SIZE; //тут мы получаем размер БПФ selectedWindowName = panel_Recv.selectedWindowName; //тут мы получаем тип окна БПФ FILTR_SMOOTH = panel_Recv.FLAG_SMOOTH_FILTR; //тут мы получаем тип сглаживающего фильтра перед выводом на экран panel_Recv.data0 = data0; panel_Recv.data1 = data1; panel_Recv.data2 = data2; panel_Recv.data3 = data3; } if (sDATA0 != null) { sDATA0.FFT_SIZE = FFT_SIZE;//передаём размер БПФ для обработки sDATA0.FLAG_filtr = FILTR_SMOOTH; sDATA0.selectedWindowName = selectedWindowName; FLAG_DISPAY0 = sDATA0.FLAG_DISPAY0; FLAG_DISPAY1 = sDATA0.FLAG_DISPAY1; data0 = sDATA0.data0; data1 = sDATA0.data1; } if (sDATA1 != null) { sDATA1.FFT_SIZE = FFT_SIZE;//передаём размер БПФ для обработки sDATA1.FLAG_filtr = FILTR_SMOOTH; sDATA1.selectedWindowName = selectedWindowName; FLAG_DISPAY2 = sDATA1.FLAG_DISPAY0; FLAG_DISPAY3 = sDATA1.FLAG_DISPAY1; data2 = sDATA1.data0; data3 = sDATA1.data1; } }
public int SCH_TST_PACKET = 0; //счётчик числа принятых пакетов public UDP_DATA_SERVER(MainWindow a, string IP, string PORT) { data0 = new STRUCT_FFT_DATA(FFT_SIZE_BUF); data1 = new STRUCT_FFT_DATA(FFT_SIZE_BUF); my_ip = IPAddress.Parse(IP); my_port = UInt16.Parse(PORT); FFT_SIZE = a.FFT_SIZE; START(); }
private void Timer2_Tick(object sender, EventArgs e)//медленное прерывание - отвечает за обмен с поделкой { //Console.WriteLine("Инициализация.init:"+Инициализация.init); if (Инициализация.init == false) { Панель_инициализации.IsChecked = false; } if (Синтезатор.init == false) { Панель_синтезатора.IsChecked = false; } if (Приёмник.init == false) { Панель_приёмника.IsChecked = false; } if (Калибровка.init == false) { Панель_калибровки.IsChecked = false; } if (Consol.init == false) { Панель_консоли.IsChecked = false; } if (FLAG_SINT_INIT == 0) { FLAG_SINT_INIT = 1; Панель_синтезатора.IsChecked = true; mnuSint_Click(Панель_синтезатора, null); } CMD_REAL_TIME_SEND(); SYS_CONTROL(); if (panel_Recv != null) { FFT_SIZE = panel_Recv.FFT_SIZE; //тут мы получаем размер БПФ selectedWindowName = panel_Recv.selectedWindowName; //тут мы получаем тип окна БПФ FILTR_SMOOTH = panel_Recv.FLAG_SMOOTH_FILTR; //тут мы получаем тип сглаживающего фильтра перед выводом на экран panel_Recv.data0 = data0; panel_Recv.data1 = data1; panel_Recv.data2 = data2; panel_Recv.data3 = data3; } if (sDATA0 != null) { sDATA0.FFT_SIZE = FFT_SIZE;//передаём размер БПФ для обработки sDATA0.FLAG_filtr = FILTR_SMOOTH; sDATA0.selectedWindowName = selectedWindowName; FLAG_DISPAY0 = sDATA0.FLAG_DISPAY0; FLAG_DISPAY1 = sDATA0.FLAG_DISPAY1; data0 = sDATA0.data0; data1 = sDATA0.data1; } if (sDATA1 != null) { sDATA1.FFT_SIZE = FFT_SIZE;//передаём размер БПФ для обработки sDATA1.FLAG_filtr = FILTR_SMOOTH; sDATA1.selectedWindowName = selectedWindowName; FLAG_DISPAY2 = sDATA1.FLAG_DISPAY0; FLAG_DISPAY3 = sDATA1.FLAG_DISPAY1; data2 = sDATA1.data0; data3 = sDATA1.data1; } }