private void rbMiscType_CheckedChanged(object sender, EventArgs e)
        {
            misc_type = (string)((RadioButton)sender).Tag;
            switch (misc_type)
            {
            case "bands": MiscBands.Init(chMisc); break;

            case "freq": MiscFrequency.Init(chMisc); break;

            default: throw new Exception("strange type: " + misc_type);
            }
        }
        private async void Form1_Shown(object sender, EventArgs e)
        {
            Consts.LINK_TO_FORM = this;

            pc = new PanelChart(pnChart);

            var addr = "127.0.0.1";
            var port = 120;

            try
            {
                Encephalan.Connect(addr, port);
            }
            catch (Exception ex)
            {
                var emu_path = "samples/cq.txt";
                MessageBox.Show(ex.Message + "\n\n" + "Будет запущена эмуляция " + emu_path);
                Encephalan.ConnectEmulation(emu_path);
                //Close();
            }

            fft             = new FFT();
            fft.OnFFTEvent += OnFFT;

            //fft2 = new FFT();
            //fft2.OnFFTEvent += OnFFT2;
            //fft2.ChannelNum = 1;

            InitData();
            InitChannels();
            InitCharts();

            Misc.Init(chMisc);
            MiscBands.Init(chMisc);

            Encephalan.OnDataEvent += OnData;

            pnChart.Refresh();


            //PerfMonitor.Start();
            //PerfMonitor.StartLogging(String.Format("perf_{0}.txt", DateTime.Now.ToString("yyyyMMdd_HHmmss")));

            if (Encephalan.SessionInfo.SchemeName == "Emulated")
            {
                await Task.Factory.StartNew(() => Encephalan.EmulateAsync(), TaskCreationOptions.LongRunning);
            }


            //await Task.Run(() => Encephalan.GetData());
            await Task.Factory.StartNew(() => Encephalan.ProcessAsync(), TaskCreationOptions.LongRunning);
        }