public AcquisitionEngine(IDataSource source)
        {
            samplesOverflowSink = new List<float>();

            overviewWfLastCapture = DateTime.Now;
            overviewWf = new Waveform(1, 6000000);

            TriggerSources = new List<ITrigger>();
            TriggerSources.Add(new FreeRunning());
            TriggerSources.Add(new Edge());

            Trigger = new Edge(); // TODO: Temporary trigger

            Source = source;
            Source.Data += ProcessWaveform;
            Source.Data += Source_Data;
            Source.HighresVoltage += Source_HighresVoltage;

            Source.Connect(null);
            var dummyCfg = new NetStreamConfiguration();
            dummyCfg.AdcSpeed = 0;
            dummyCfg.AfeGain = 0;
            dummyCfg.UseFastAdc = false;

            Source.Configure(dummyCfg);
        }
        private void btSendCfg_Click(object sender, EventArgs e)
        {
            lbAmpPerDiv.ForeColor = Color.White;

            NetStreamConfiguration cfg = new NetStreamConfiguration();
            cfg.AfeGain = (int)Math.Pow(10, cbGain.SelectedIndex);
            cfg.AdcSpeed = cbAdcSpeed.SelectedIndex;
            cfg.UseFastAdc = cbAdcType.SelectedIndex == 0;

            acq.Source.Configure(cfg);
        }