Exemple #1
0
        public override Task <Empty> ForceClose(RFmxSession request, ServerCallContext context)
        {
            var handle = (IntPtr)request.Handle;
            var instr  = sessionMap[handle];

            instr.ForceClose();
            sessionMap.Remove(handle);
            return(Task.FromResult(new Empty()));
        }
Exemple #2
0
        public override Task <RFmxCommonConfiguration> GetDefaultCommonConfiguration(RFmxSession request, ServerCallContext context)
        {
            var defaultCommonConfig = CommonConfiguration.GetDefault();

            return(Task.FromResult(new RFmxCommonConfiguration()
            {
                Session = request,
                SelectedPorts = defaultCommonConfig.SelectedPorts,
                CenterFrequencyHz = defaultCommonConfig.CenterFrequency_Hz,
                ReferenceLevelDBm = defaultCommonConfig.ReferenceLevel_dBm,
                ExternalAttenuationDB = defaultCommonConfig.ExternalAttenuation_dB,
                TriggerEnabled = defaultCommonConfig.TriggerEnabled,
                DigitalTriggerSource = defaultCommonConfig.DigitalTriggerSource,
                TriggerDelayS = defaultCommonConfig.TriggerDelay_s
            }));
        }
Exemple #3
0
        public override Task <RFmxNRAcpConfiguration> NRGetDefaultAcpConfiguration(RFmxSession request, ServerCallContext context)
        {
            var acpConfig = RFmxNR.AcpConfiguration.GetDefault();

            return(Task.FromResult(new RFmxNRAcpConfiguration()
            {
                Session = request,
                AveragingCount = acpConfig.AveragingCount,
                AveragingEnabled = Convert.ToBoolean(acpConfig.AveragingEnabled),
                AveragingType = (RFmxNRAcpConfiguration.Types.RFmxNRMXAcpAveragingType)acpConfig.AveragingType,
                MeasurementMethod = (RFmxNRAcpConfiguration.Types.RFmxNRMXAcpMeasurementMethod)acpConfig.MeasurementMethod,
                NoiseCompensationEnabled = Convert.ToBoolean(acpConfig.NoiseCompensationEnabled),
                NumberOfEndcOffsets = acpConfig.NumberOfEndcOffsets,
                NumberOfEutraOffsets = acpConfig.NumberOfEutraOffsets,
                NumberOfNrOffsets = acpConfig.NumberOfNrOffsets,
                NumberOfUtraOffsets = acpConfig.NumberOfUtraOffsets,
                SelectorString = "",
                SignalName = "",
                SweepTimeAuto = Convert.ToBoolean(acpConfig.SweepTimeAuto),
                SweepTimeIntervalS = acpConfig.SweepTimeInterval_s
            }));
        }
Exemple #4
0
        public override Task <RFmxInstrumentConfiguration> GetDefaultInstrumentConfiguration(RFmxSession request, ServerCallContext context)
        {
            var defaultInstrumentConfig = RFmxInstr.InstrumentConfiguration.GetDefault();

            return(Task.FromResult(new RFmxInstrumentConfiguration()
            {
                Session = request,
                FrequencyReferenceSource = defaultInstrumentConfig.FrequencyReferenceSource,
                LOSharingMode = (RFmxInstrumentConfiguration.Types.LocalOscillatorSharingMode)defaultInstrumentConfig.LOSharingMode
            }));
        }
Exemple #5
0
        public override Task <RFmxNRModAccConfiguration> NRGetDefaultModAccConfiguration(RFmxSession request, ServerCallContext context)
        {
            var modAccConfig = RFmxNR.ModAccConfiguration.GetDefault();

            return(Task.FromResult(new RFmxNRModAccConfiguration()
            {
                Session = request,
                AveragingCount = modAccConfig.AveragingCount,
                AveragingEnabled = Convert.ToBoolean(modAccConfig.AveragingEnabled),
                EvmUnit = (RFmxNRModAccConfiguration.Types.RFmxNRMXModAccEvmUnit)modAccConfig.EvmUnit,
                MeasurementLength = modAccConfig.MeasurementLength,
                MeasurementLengthUnit = (RFmxNRModAccConfiguration.Types.RFmxNRMXModAccMeasurementLengthUnit)modAccConfig.MeasurementLengthUnit,
                MeasurementOffset = modAccConfig.MeasurementOffset,
                SelectorString = "",
                SignalName = ""
            }));
        }
Exemple #6
0
        public override Task <RFmxNRStandardConfiguration> NRGetDefaultStandardConfiguration(RFmxSession request, ServerCallContext context)
        {
            var standardConfig = RFmxNR.StandardConfiguration.GetDefault();
            var response       = new RFmxNRStandardConfiguration()
            {
                Session = request,
                AutoResourceBlockDetectionEnabled = Convert.ToBoolean(standardConfig.AutoResourceBlockDetectionEnabled),
                Band = standardConfig.Band,
                DownlinkTestModel             = (RFmxNRStandardConfiguration.Types.RFmxNRMXDownlinkTestModel)standardConfig.DownlinkTestModel,
                DownlinkTestModelDuplexScheme = (RFmxNRStandardConfiguration.Types.RFmxNRMXDownlinkTestModelDuplexScheme)standardConfig.DownlinkTestModelDuplexScheme,
                FrequencyRange = (RFmxNRStandardConfiguration.Types.RFmxNRMXFrequencyRange)standardConfig.FrequencyRange,
                LinkDirection  = (RFmxNRStandardConfiguration.Types.RFmxNRMXLinkDirection)standardConfig.LinkDirection,
                SelectorString = "",
                SignalName     = ""
            };

            foreach (var componentCarrierConfig in standardConfig.ComponentCarrierConfigurations)
            {
                response.ComponentCarrierConfigurations.Add(new RFmxNRComponentCarrierConfiguration()
                {
                    BandwidthHz = componentCarrierConfig.Bandwidth_Hz,
                    CellId      = componentCarrierConfig.CellId,
                    PuschDmrsAdditionalPositions   = componentCarrierConfig.PuschDmrsAdditionalPositions,
                    PuschDmrsConfigurationType     = (RFmxNRComponentCarrierConfiguration.Types.RFmxNRMXPuschDmrsConfigurationType)componentCarrierConfig.PuschDmrsConfigurationType,
                    PuschDmrsDuration              = (RFmxNRComponentCarrierConfiguration.Types.RFmxNRMXPuschDmrsDuration)componentCarrierConfig.PuschDmrsDuration,
                    PuschDmrsTypeAPosition         = componentCarrierConfig.PuschDmrsTypeAPosition,
                    PuschMappingType               = (RFmxNRComponentCarrierConfiguration.Types.RFmxNRMXPuschMappingType)componentCarrierConfig.PuschMappingType,
                    PuschModulationType            = (RFmxNRComponentCarrierConfiguration.Types.RFmxNRMXPuschModulationType)componentCarrierConfig.PuschModulationType,
                    PuschNumberOfResourceBlocks    = componentCarrierConfig.PuschNumberOfResourceBlocks,
                    PuschResourceBlockOffset       = componentCarrierConfig.PuschResourceBlockOffset,
                    PuschSlotAllocation            = componentCarrierConfig.PuschSlotAllocation,
                    PuschSymbolAllocation          = componentCarrierConfig.PuschSymbolAllocation,
                    PuschTransformPrecodingEnabled = Convert.ToBoolean(componentCarrierConfig.PuschTransformPrecodingEnabled),
                    SubcarrierSpacingHz            = componentCarrierConfig.SubcarrierSpacing_Hz
                });
            }
            return(Task.FromResult(response));
        }