private void stopMeasure() { m_defectoscope.stopMeasure(); timer.Stop(); if (m_writer != null) { m_graphBuilder.DisconnectApplets(m_defectoscope, m_defectoscopeData); m_writer.Close(); m_writer = null; m_defectoscopeData = null; } m_graphBuilder.DisconnectApplets(m_restoreDipole, m_dipolesData); m_dipoleWriter.Close(); startMeasure.Text = "Начать измерение"; }
private void startMeasure_Click(object sender, EventArgs e) { if (startMeasure.Text == "Начать измерение") { if (m_options.ShowDialog() == DialogResult.OK) { if (m_options.record) { m_writer = new StreamWriter(m_options.fileName); m_defectoscopeData = new FileWriteApplet<CHDSample>(m_graphBuilder, m_writer); m_graphBuilder.ConnectApplets(m_defectoscope, m_defectoscopeData); } m_dipoleWriter = new StreamWriter("dipoles.txt"); m_dipolesData = new FileWriteApplet<Dipole>(m_graphBuilder, m_dipoleWriter); m_restoreDipole = new DipoleRestoreApplet(m_graphBuilder); m_alanDetector = new AllanDetectorApplet(m_graphBuilder, m_options.windowLength, m_options.averLength, 10); m_graphBuilder.ConnectApplets(m_defectoscope, m_alanDetector); m_graphBuilder.ConnectApplets(m_alanDetector, m_defectoscopeCharts, "MainOutPin", "SubInPin"); m_graphBuilder.ConnectApplets(m_alanDetector, m_restoreDipole); m_graphBuilder.ConnectApplets(m_restoreDipole, m_dipolesData); startMeasure.Text = "Остановить измерение"; m_defectoscope.startMeasure(); timer.Start(); } } else { stopMeasure(); } }