Exemplo n.º 1
0
        private void _deviceModel_ChannelsChanged(object sender, System.EventArgs e)
        {
            if (_deviceModel.IndexChannel != null)
            {
                BeginInvoke((MethodInvoker) delegate
                {
                    var signalChart1 = new DrawableSignalChart();
                    var signalChart2 = new DrawableSignalChart();

                    signalChart1.SetChannel(_deviceModel.T3O1SignalChannel);
                    signalChart2.SetChannel(_deviceModel.T4O21SignalChannel);
                    //                    _signalViewController[0].SetChannel(_deviceModel.T3O1SignalChannel);
                    //                    _signalViewController[1].SetChannel(_deviceModel.T4O21SignalChannel);

                    _startSignalButton.Enabled    = true;
                    _stopSignalButton.Enabled     = true;
                    ResistanceCheckButton.Enabled = true;

                    _deviceModel.BatteryChannel.LengthChanged += BatteryChannel_LengthChanged;
                    try
                    {
                        if (_deviceModel.BatteryChannel.TotalLength > 0)
                        {
                            BatteryLabel.Text = $"{_deviceModel.BatteryChannel.ReadData(_deviceModel.BatteryChannel.TotalLength - 1, 1)[0]} %";
                        }
                    }
                    catch { }

                    var indexChart       = new EegIndexChart();
                    _indexChartPresenter = new IndexChartPresenter(indexChart, _deviceModel.IndexViewChannel,
                                                                   _emotionsStartButton, _statesStopButton, this);

                    var spectrumChartT3O1   = new SpectrumChart();
                    var spectrumChartT4O2   = new SpectrumChart();
                    _spectrumChartPresenter = new SpectrumChartPresenter(spectrumChartT3O1, _spectrumAmplitudeTrackBar,
                                                                         new SpectrumModel(_deviceModel.T3O1SpectrumChannel));
                    _spectrumChartPresenter = new SpectrumChartPresenter(spectrumChartT4O2, _spectrumAmplitudeTrackBar,
                                                                         new SpectrumModel(_deviceModel.T4O2SpectrumChannel));

                    var compositeDrawable = new CompoundDrawable();
                    compositeDrawable.AddDrawable(indexChart, new PointF(0f, 0f), new SizeF(0.35f, 0.94f));
                    compositeDrawable.AddDrawable(spectrumChartT3O1, new PointF(0.35f, 0.0f), new SizeF(0.3f, 0.47f));
                    compositeDrawable.AddDrawable(spectrumChartT4O2, new PointF(0.35f, 0.47f), new SizeF(0.3f, 0.47f));
                    compositeDrawable.AddDrawable(_statesChart, new PointF(0f, 0.94f), new SizeF(1.0f, 0.06f));
                    compositeDrawable.AddDrawable(signalChart1, new PointF(0.65f, 0.0f), new SizeF(0.35f, 0.47f));
                    compositeDrawable.AddDrawable(signalChart2, new PointF(0.65f, 0.47f), new SizeF(0.35f, 0.47f));
                    _drawableControl.Drawable = compositeDrawable;
                });
            }
            else
            {
                BeginInvoke((MethodInvoker) delegate
                {
                    _startSignalButton.Enabled    = false;
                    _stopSignalButton.Enabled     = false;
                    ResistanceCheckButton.Enabled = false;
                });
                _drawableControl.Drawable = new EmptyDrawable();
            }
        }
Exemplo n.º 2
0
        public SpectrumChartController(SpectrumChart chart, TrackBar timeTrackBar, TrackBar scaleTrackBar, SpectrumModel model, Label amplitudeLabel, Label timeLabel,
                                       TrackBar lowFreqTrackBar, TrackBar highFreqTrackBar, Label lowFreqLabel, Label highFreqLabel, Label powerLabel,
                                       RadioButton rectangleWindowRadio, RadioButton sineWindowRadio, RadioButton hammingWindowRadio, RadioButton blackmanWindowRadio)
        {
            _spectrumChart               = chart;
            _timeTrackBar                = timeTrackBar;
            _timeTrackBar.ValueChanged  += _timeTrackBar_ValueChanged;
            _scaleTrackBar               = scaleTrackBar;
            _scaleTrackBar.ValueChanged += _scaleTrackBar_ValueChanged;
            _model                  = model;
            _amplitudeLabel         = amplitudeLabel;
            _timeLabel              = timeLabel;
            _spectrumChart.SigScale = 100;

            _lowFreqTrackBar  = lowFreqTrackBar;
            _highFreqTrackBar = highFreqTrackBar;
            _lowFreqLabel     = lowFreqLabel;
            _highFreqLabel    = highFreqLabel;
            _powerLabel       = powerLabel;

            _lowFreqTrackBar.ValueChanged  += _lowFreqTrackBar_ValueChanged;
            _highFreqTrackBar.ValueChanged += _highFreqTrackBar_ValueChanged;

            _rectangularWindowRadio = rectangleWindowRadio;
            _sineWindowRadio        = sineWindowRadio;
            _hammingWindowRadio     = hammingWindowRadio;
            _blackmanWindowRadio    = blackmanWindowRadio;
            _rectangularWindowRadio.CheckedChanged += _rectangularWindowRadio_CheckedChanged;
            _sineWindowRadio.CheckedChanged        += _sineWindowRadio_CheckedChanged;
            _hammingWindowRadio.CheckedChanged     += _hammingWindowRadio_CheckedChanged;
            _blackmanWindowRadio.CheckedChanged    += _blackmanWindowRadio_CheckedChanged;
        }
        /// <summary>
        /// 设置列表的光谱图形显示控件
        /// </summary>
        /// <param name="chart"></param>
        public void SetGraphicChart(SpectrumChart chart)
        {
            newGraphicChart = chart;

            newGraphicChart.ColorChanged += new RoutedPropertyChangedEventHandler <SolidColorBrush>(newGraphicChart_ColorChanged);
            newGraphicChart.ItemSelected += new SelectionChangedEventHandler(newGraphicChart_ItemSelected);
            newGraphicChart.ItemHidden   += new SelectionChangedEventHandler(newGraphicChart_ItemHidden);
        }
Exemplo n.º 4
0
        private void _deviceModel_ChannelsChanged(object sender, System.EventArgs e)
        {
            if (_deviceModel.IndexChannel != null)
            {
                BeginInvoke((MethodInvoker) delegate
                {
                    _startSignalButton.Enabled = true;
                    _stopSignalButton.Enabled  = true;

                    var indexChart       = new EegIndexChart();
                    _indexChartPresenter = new IndexChartPresenter(indexChart, _deviceModel.IndexChannel,
                                                                   _emotionsStartButton, _statesStopButton, this);
                    _indexSettingsPresenter       = new IndexSettingsPresenter(_indexSettingsControl, _deviceModel.IndexChannel);
                    _indexSettingsControl.Enabled = true;
                    var spectrumChartT3O1         = new SpectrumChart();
                    var spectrumChartT4O2         = new SpectrumChart();
                    _spectrumChartPresenter       = new SpectrumChartPresenter(spectrumChartT3O1, _spectrumAmplitudeTrackBar,
                                                                               new SpectrumModel(_deviceModel.T3O1SpectrumChannel));
                    _spectrumChartPresenter = new SpectrumChartPresenter(spectrumChartT4O2, _spectrumAmplitudeTrackBar,
                                                                         new SpectrumModel(_deviceModel.T4O2SpectrumChannel));

                    var compositeDrawable = new CompoundDrawable();
                    compositeDrawable.AddDrawable(indexChart, new PointF(0f, 0f), new SizeF(0.7f, 0.94f));
                    compositeDrawable.AddDrawable(spectrumChartT3O1, new PointF(0.7f, 0.0f), new SizeF(0.3f, 0.47f));
                    compositeDrawable.AddDrawable(spectrumChartT4O2, new PointF(0.7f, 0.47f), new SizeF(0.3f, 0.47f));
                    compositeDrawable.AddDrawable(_statesChart, new PointF(0f, 0.94f), new SizeF(1.0f, 0.06f));
                    _drawableControl.Drawable = compositeDrawable;
                });
            }
            else
            {
                BeginInvoke((MethodInvoker) delegate
                {
                    _startSignalButton.Enabled = false;
                    _stopSignalButton.Enabled  = false;
                });
                _drawableControl.Drawable = new EmptyDrawable();
            }
        }
 public SpectrumViewModel(SignalCache signalCache, int index)
 {
     _index = index;
     Chart = new SpectrumChart(signalCache);
     Info = new SignalInfoViewModel(signalCache.Header);
 }