コード例 #1
0
        // private uint _channel = 0;
        // private FastFrequencyBins _ddcBin;

        public RadioViewModel()
        {
            _model = new RadioModel();
            try
            {
                _model.Initialize();
                InitializeReceiver();
            }
            catch (OperationFailedException ex)
            {
                logger.Debug("Failed to initialize radio.", ex);
                _model.Dispose();
                throw;
            }
        }
コード例 #2
0
        public MainWindow()
        {
            InitializeComponent();

            try
            {
                var model = new RadioModel();
                if (model.AvailableRadio.Length == 0)
                {
                    return;
                }

                if (model.AvailableRadio.Length > 0)
                {
                    var radio = model.AvailableRadio[0];

                    /*
                     * if (radio.IsEmulatedDevice())
                     *  return;
                     */
                }


                model.Initialize(0);

                InitRadio(model);

                //model.Radio.Demodulator().SetupStreams();
                model.InitializeStreams();
                model.ResumeStreams();

                _vm = new RadioViewModel(model, Waveform, FixedChannelChart);
                _vm.ReInitDataContext = () =>
                {
                    DataContext = null;
                    DataContext = _vm;
                };
                DataContext = _vm;
            }
            catch (Exception e)
            {
                _startError = string.Format("Failed to Initialize.\nInfo:\n{0}", e);
            }
        }
コード例 #3
0
        //private WaveformControl WaveformIf;
        //private WaveformControl WaveformDdc1;
        //private WaveformControl WaveformDdc2;

        #region Costructor
        private RadioViewModel()
        {
            logger.Debug("RadioViewModel Ctor");

            try
            {
                _model = new RadioModel();
                _model.Initialize();

                InitializeReceiver1();

                MeterViewDemodulator = new MeterViewModel(_model, 0);
                MeterViewDdc1        = new MeterViewModel(_model, 0);
                SquelchView          = new SquelchViewModel(_model);

                /* UNCOMMENT THIS BLOCK
                 * SpectrumAnalyzerIf = vo.SpectrumAnalyzerIf;
                 * SpectrumAnalyzerDdc1 = vo.SpectrumAnalyzerDdc1;
                 * SpectrumAnalyzerDdc2 = vo.SpectrumAnalyzerDdc2;
                 * Waterfall = vo.WaterfallAnalyzer;
                 */

                IfSpectrumView   = new IfSpectrumViewModel(this, SpectrumAnalyzerIf);
                Ddc1SpectrumView = new Ddc1SpectrumViewModel(this, SpectrumAnalyzerDdc1);
                Ddc2SpectrumView = new Ddc2SpectrumViewModel(this, SpectrumAnalyzerDdc2);

                Ddc2View = new Ddc2ViewModel();

                InitializeReceiver();

                CommandTuneToPeak   = new DelegateCommand(() => Ddc2RelativeFrequency = (int)(MeterViewDdc1.PeakFrequency * 1000000 - Ddc1Frequency));
                CommandPeakToCenter = new DelegateCommand(() => AbsoluteFrequency = (uint)Ddc2AbsoluteFrequency);

                CommandNextStep        = new DelegateCommand(() => AbsoluteFrequency += FrequencyStep);
                CommandNextTenStep     = new DelegateCommand(() => AbsoluteFrequency += (FrequencyStep * 10));
                CommandPreviousStep    = new DelegateCommand(() => AbsoluteFrequency -= FrequencyStep);
                CommandPreviousTenStep = new DelegateCommand(() => AbsoluteFrequency -= (FrequencyStep * 10));

                CommandOpenSetup = new DelegateCommand(() =>
                {
                    var settings = new SettingsWindow(_model);
                    settings.ShowDialog();

                    // ReInitDataContext();
                });

                CommandStartup = new RelayCommand((object obj) =>
                {
                    lock (_startupLock)
                    {
                        G31DdcMainWnd wnd = obj as G31DdcMainWnd;
                        if (SpectrumAnalyzerIf == null)
                        {
                            SpectrumAnalyzerIf = wnd.WaveformIf;
                            IfSpectrumView     = new IfSpectrumViewModel(this, SpectrumAnalyzerIf);

                            SpectrumAnalyzerDdc1 = wnd.WaveformDdc1;
                            Ddc1SpectrumView     = new Ddc1SpectrumViewModel(this, SpectrumAnalyzerDdc1);

                            SpectrumAnalyzerDdc2 = wnd.WaveformDdc2;
                            Ddc2SpectrumView     = new Ddc2SpectrumViewModel(this, SpectrumAnalyzerDdc2);

                            Waterfall = wnd.Waterfall;
                        }
                    }
                });

                // VideoPoints = _model.FftAnalyzerIf.FftLength;

                // VideoPoints = 1000;
                FrequencyStep = 500;
                MuteState     = false;

                LiveAudioPlayer audioPlayer = _model.Ddc2[0].AudioPlayer;
                if (audioPlayer != null)
                {
                    _audioPlayerVolume = audioPlayer.VolumeLevel;
                    Volume             = _audioPlayerVolume;
                }

                _availableDdc1 = _model.AvailableDdc1.ToList <DdcInfo>();
                ActiveDdc1     = _model.AvailableDdc1[_model.AvailableDdc1.Length - 1];
            }
            catch (OperationFailedException ex)
            {
                logger.Error("Failed to initializa radio.", ex);
                MessageBox.Show("Failed to initializa radio. Start radio in demo mode.");
            }
        }