示例#1
0
        public RadioModel()
        {
            BasicRadioInfo basicRadioInfo = new BasicRadioInfo();

            var basicRadioInfos = Radio <G31DdcRadio> .Find().ListAll();

            bool b = basicRadioInfo.IsEmulatedDevice();

            if (basicRadioInfos.Count > 0)
            {
                basicRadioInfo = basicRadioInfos.First();
                // this.Title = "NMG31";
                // this.Title = String.Format("WR-G31DDC - {1}", basicRadioInfo.Name, basicRadioInfo.Serial);
            }

            Radio = basicRadioInfo.Open <G31DdcRadio>();

            Ddc2    = new Ddc2Model[3];
            Ddc2[0] = new Ddc2Model(Radio, 0);
            Ddc2[1] = new Ddc2Model(Radio, 1);
            Ddc2[2] = new Ddc2Model(Radio, 2);

            _ifProvider   = new G3XDdcIfProvider(Radio);
            _ddc1Provider = new G3XDdcDdc1StreamProvider(Radio.Ddc1());

            FftAnalyzerIf = new LiveFftAnalyzer(_ifProvider, IF_FFT);
            FftAnalyzerIf.Start();

            FftAnalyzerDdc1 = new LiveFftAnalyzer(_ddc1Provider, DDC1_FFT, false)
            {
                ForceInstantFft = false
            };
            FftAnalyzerDdc1.Start();
        }
示例#2
0
        public G33DdcRadio Open(BasicRadioInfo info)
        {
            G33DdcRadio radio;
            var         res = TryOpen(info, out radio);

            if (!res)
            {
                throw new InvalidOperationException("no device");
            }

            return(radio);
        }
示例#3
0
        public RadioModel(G31DdcRadio radio = null)
        {
            if (radio == null)
            {
                BasicRadioInfo radioInfo = new BasicRadioInfo();

                ICollection <BasicRadioInfo> radioInfos = Radio <G31DdcRadio> .Find().ListAll();

                if (radioInfos.Any())
                {
                    radioInfo = radioInfos.First();
                }

                radio = radioInfo.Open <G31DdcRadio>();
                bool b    = radioInfo.IsEmulatedDevice();
                var  info = radio.CachedInfo;
            }

            Radio = radio;

            Ddc2    = new Ddc2Model[3];
            Ddc2[0] = new Ddc2Model(Radio, 0);
            Ddc2[1] = new Ddc2Model(Radio, 1);

            /*
             * Ddc2[2] = new Ddc2Model(Radio, 2);
             */

            /*
             * _ifProvider = new G3XDdcIfProvider(Radio);
             * _ddc1Provider = new G3XDdcDdc1StreamProvider(Radio.Ddc1());
             */

            /*
             * FftAnalyzerIf = new LiveFftAnalyzer(_ifProvider, IF_FFT);
             * FftAnalyzerIf.Start();
             */

            /* FftAnalyzerDdc1 = new LiveFftAnalyzer(source: _ddc1Provider, fftLength: DDC1_FFT, real: false) { ForceInstantFft = false }; */

            _ddc1Provider = new G3XDdcDdc1FloatProvider(Radio.Ddc1());
            // FftAnalyzerDdc1 = new FastLiveFftAnalyzer(source: _ddc1Provider, fftLength: DDC1_FFT, real: false);
            // FftAnalyzerDdc1.Start();
        }
示例#4
0
 public bool TryOpen(BasicRadioInfo info, out G33DdcRadio radio)
 {
     return(TryOpen(info.Serial, out radio));
 }
示例#5
0
 /// <summary>
 /// Opens a radio device based on provided radio informaion to allow you to control the device using the other API functions.
 /// </summary>
 /// <param name="info">Radio information that you would like to open.</param>
 /// <exception cref="InvalidOperationException">Throws if the device is not available</exception>
 /// <returns>Returns a G313Radio instance</returns>
 public G313Radio Open(BasicRadioInfo info)
 {
     return(Open(info.Serial));
 }
示例#6
0
 /// <summary>
 /// Opens a radio device based on provided Radio information.
 /// </summary>
 /// <typeparam name="T">Type of radio</typeparam>
 /// <param name="info">Specified information</param>
 /// <param name="radio">Radio context based on specified information.</param>
 /// <returns>Returns true if context creation is successful. </returns>
 public static bool TryOpen <T>(this BasicRadioInfo info, out T radio) where T : Radio <T>
 {
     return(Radio <T> .Get().TryOpen(info, out radio));
 }
示例#7
0
 /// <summary>
 /// Opens a radio device based on provided Radio information.
 /// </summary>
 /// <typeparam name="T">Type of radio</typeparam>
 /// <param name="info">Specified information</param>
 /// <returns>Returns a radio context based on specified information.</returns>
 public static T Open <T>(this BasicRadioInfo info) where T : Radio <T>
 {
     return(Radio <T> .Get().Open(info));
 }