Post Go back to editing

adi_adrv9001_Tx_Attenuation_Get() API returning (0x9c40) value always

Category: Software
Product Number: ADRV9002
Software Version: API version 68.10.1

Hi Team ,

We are setting the Tx attenuation using API " adi_adrv9001_Tx_Attenuation_Set(adrv9001Device_0, ADI_CHANNEL_1, 20000) " and we do see corresponding signal level change in analyzer but when we read back attenuation using "adi_adrv9001_Tx_Attenuation_Get(adrv9001Device_0, ADI_CHANNEL_1, &TxAtt_temp)" , it always return (0x9c40).

Please help us on this issue !


Parents
  • Hello SivaLekha,

    We attempted to recreate the problem but we didn’t see the issue that you mentioned. Could you clarify if  0x9c40 is the error code or the attenuation value? Additionally, could you share the steps you followed to encounter this issue so we can replicate it on our end?

    Best regards,

    Rahul

  • Hi   

    Thanks for response, 0x9c40 is the attenuation value that being returned all the time , and below is the code snippet i have used. 

    int main()
    {
    int32_t error_code = 0;

    adi_adrv9001_Device_t * adrv9001Device_0 = (adi_adrv9001_Device_t *) calloc(1, sizeof(adi_adrv9001_Device_t));

    adi_fpga9001_Device_t * fpga9001Device_0 = (adi_fpga9001_Device_t *) calloc(1, sizeof(adi_fpga9001_Device_t));

    error_code = linux_uio_initialize(adrv9001Device_0, fpga9001Device_0, NULL, NULL, NULL, NULL, NULL);


    error_code = initialize(adrv9001Device_0, fpga9001Device_0);

    error_code = calibrate(adrv9001Device_0);

    error_code = configure(adrv9001Device_0);

    error_code = prime(adrv9001Device_0);

    error_code = beginReceiving(adrv9001Device_0, fpga9001Device_0);

    error_code = dataCapture(fpga9001Device_0);

    error_code = stopReceiving(fpga9001Device_0, adrv9001Device_0);

    error_code = beginTransmitting(adrv9001Device_0, fpga9001Device_0);

    adi_adrv9001_TxAttenuationConfig_t config;
    adi_adrv9001_Tx_Attenuation_Inspect(adrv9001Device_0, ADI_CHANNEL_1, &config);
    uint16_t TxAtt_temp=0;
    error_code = adi_adrv9001_Tx_Attenuation_Get(adrv9001Device_0, ADI_CHANNEL_1, &TxAtt_temp);
    if(error_code != 0)
    {
    printf("Tx_Attenuation_Get failed %d \n",error_code);
    }
    else{
    printf("Tx attenuation 0x%x\n mode %d StepSize %d \n",TxAtt_temp,config.attenMode,config.txAttenStepSize);
    }

    error_code = stopTransmitting(fpga9001Device_0, adrv9001Device_0);


    return error_code;
    }

    TES configuration as below 

    {
      "Version": "v0.25.0",
      "IpAddress": "192.168.1.10",
      "PortNumber": "8080",
      "UserName": "root",
      "Password": "analog",
      "DeviceClockFrequency_Hz": "38400000",
      "DeviceClockDivisor": "ADRV9001_DEVICECLOCKDIVISOR_2",
      "ProcessorClockDivisor": "DIVISOR_1",
      "GainTableType": "ADRV9001_RX_GAIN_CORRECTION_TABLE",
      "Duplex": "TDD",
      "Setup": "Custom",
      "Channels": "Channel1",
      "Diversity": "True",
      "ClockPllMode": "LOW_POWER",
      "AdcRate": "LOW",
      "ArmPowerSavingClockDiv": "1",
      "Rssi.DetectionThreshold_mdBFS": "-80000",
      "Rssi.MeasurementDuration_samples": "10",
      "Rssi.MeasurementsStartPeriod_ms": "1",
      "Rssi.NumberOfMeasurementsToAverage": "4",
      "MonitorMode.DetectionTime_us": "30000",
      "MonitorMode.SleepTime_us": "30000",
      "Channel1.FrequencyDeviation_Hz": "648",
      "Channel2.FrequencyDeviation_Hz": "648",
      "Rx1.LockTollgate": "LockTollgate",
      "Tx1.LockTollgate": "LockTollgate",
      "Rx2.LockTollgate": "LockTollgate",
      "Tx2.LockTollgate": "LockTollgate",
      "Rx1.RfPortId": "Rx1A",
      "Rx2.RfPortId": "Rx2A",
      "Tx1.RfPortId": "Tx1",
      "Tx2.RfPortId": "Tx2",
      "Tx1.SignalType": "ADRV9001_TX_IQ",
      "Tx2.SignalType": "1234",
      "LO1.Divisor": "2",
      "LO2.Divisor": "2",
      "Tx1.Attenuation.AttenuationControlMode": "ADRV9001_TX_ATTENUATION_CONTROL_MODE_SPI",
      "Tx2.Attenuation.AttenuationControlMode": "ADRV9001_TX_ATTENUATION_CONTROL_MODE_SPI",
      "Tx1.Attenuation.InitTxAtten_dB": "10",
      "Tx2.Attenuation.InitTxAtten_dB": "10",
      "Tx1.Attenuation.AttenuationControlPinConfiguration.IncrementStepSize_dB": "0.05",
      "Tx2.Attenuation.AttenuationControlPinConfiguration.IncrementStepSize_dB": "0.05",
      "Rx1.InterfaceGain.ControlMode": "ADRV9001_RX_INTERFACE_GAIN_CONTROL_AUTOMATIC",
      "Rx1.InterfaceGain.UpdateTiming": "ADRV9001_RX_INTERFACE_GAIN_UPDATE_TIMING_NOW",
      "Rx1.InterfaceGain.Gain_dB": "ADRV9001_RX_INTERFACE_GAIN_0_DB",
      "Rx2.InterfaceGain.ControlMode": "ADRV9001_RX_INTERFACE_GAIN_CONTROL_MANUAL",
      "Rx2.InterfaceGain.UpdateTiming": "ADRV9001_RX_INTERFACE_GAIN_UPDATE_TIMING_NOW",
      "Rx2.InterfaceGain.Gain_dB": "ADRV9001_RX_INTERFACE_GAIN_0_DB",
      "Rx1.Gain.GainControlMode": "ADRV9001_RX_GAIN_CONTROL_MODE_AUTO",
      "Rx2.Gain.GainControlMode": "ADRV9001_RX_GAIN_CONTROL_MODE_SPI",
      "Rx1.Gain.GainControlPinConfiguration.IncrementStepSize": "2",
      "Rx1.Gain.GainControlPinConfiguration.DecrementStepSize": "2",
      "Rx2.Gain.GainControlPinConfiguration.IncrementStepSize": "2",
      "Rx2.Gain.GainControlPinConfiguration.DecrementStepSize": "2",
      "Rx1.Gain.GainControl.Mode": "ADRV9001_RX_GAIN_CONTROL_DETECTION_MODE_PEAK",
      "Rx1.Gain.GainControl.PeakOverloadThreshold": "-6.0206",
      "Rx1.Gain.GainControl.PeakUnderloadThreshold": "-9",
      "Rx1.Gain.GainControl.PowerOverloadThreshold": "-7",
      "Rx1.Gain.GainControl.PowerUnderloadThreshold": "-12",
      "Rx1.Gain.GainControl.OverloadGainStep": "2",
      "Rx1.Gain.GainControl.UnderloadGainStep": "2",
      "Rx1.Gain.GainControl.GainRefreshPeriod_us": "62.5",
      "Rx1.Gain.GainControl.MeasurementDelay_us": "0.5",
      "Rx1.Gain.GainControl.MeasurementDuration_us": "50",
      "Rx2.Gain.GainControl.Mode": "ADRV9001_RX_GAIN_CONTROL_DETECTION_MODE_PEAK",
      "Rx2.Gain.GainControl.PeakOverloadThreshold": "-6.0206",
      "Rx2.Gain.GainControl.PeakUnderloadThreshold": "-9",
      "Rx2.Gain.GainControl.PowerOverloadThreshold": "-7",
      "Rx2.Gain.GainControl.PowerUnderloadThreshold": "-12",
      "Rx2.Gain.GainControl.OverloadGainStep": "2",
      "Rx2.Gain.GainControl.UnderloadGainStep": "2",
      "Rx2.Gain.GainControl.GainRefreshPeriod_us": "62.5",
      "Rx2.Gain.GainControl.MeasurementDelay_us": "0.5",
      "Rx2.Gain.GainControl.MeasurementDuration_us": "50",
      "Tx1.ElbType": "DISABLED",
      "Tx2.ElbType": "DISABLED",
      "Tx1.PeakLoopbackPower_dBm": "-18",
      "Tx2.PeakLoopbackPower_dBm": "-18",
      "Tx1.DPD.AmplifierType": "ADRV9001_DPDAMPLIFIER_DEFAULT",
      "Tx1.DPD.LutSize": "ADRV9001_DPDLUTSIZE_512",
      "Tx1.DPD.DpdModel": "ADRV9001_DPDMODEL_4",
      "Tx1.DPD.Tap0.TermsMask": "0x1F",
      "Tx1.DPD.Tap1.TermsMask": "0x7F",
      "Tx1.DPD.Tap2.TermsMask": "0x1F",
      "Tx1.DPD.Tap3.TermsMask": "0x1E",
      "Tx2.DPD.AmplifierType": "ADRV9001_DPDAMPLIFIER_DEFAULT",
      "Tx2.DPD.LutSize": "ADRV9001_DPDLUTSIZE_512",
      "Tx2.DPD.DpdModel": "ADRV9001_DPDMODEL_4",
      "Tx2.DPD.Tap0.TermsMask": "0x1F",
      "Tx2.DPD.Tap1.TermsMask": "0x7F",
      "Tx2.DPD.Tap2.TermsMask": "0x1F",
      "Tx2.DPD.Tap3.TermsMask": "0x1E",
      "Tx1.DPD.NumberOfSamples": "4096",
      "Tx1.DPD.RxTxNormalizationLowerThreshold": "3395470",
      "Tx1.DPD.RxTxNormalizationUpperThreshold": "33954698",
      "Tx1.DPD.ImmediateLutSwitching": "True",
      "Tx2.DPD.RxTxNormalizationLowerThreshold": "3395470",
      "Tx2.DPD.RxTxNormalizationUpperThreshold": "33954698",
      "Tx2.DPD.ImmediateLutSwitching": "True",
      "Initialized": "True",
      "Product": "ADRV9001_PART_NUMBER_ADRV9002",
      "AutomatedTddEnable": "False",
      "CarrierConfigurationMode": "DefinedCarriers",
      "NumDynamicProfiles": "ADRV9001_NUM_DYNAMIC_PROFILES_DISABLED",
      "OutputStreamOverGpio": "False",
      "McsMode": "ADRV9001_MCSMODE_DISABLED",
      "DmaMasterRx": "False",
      "DmaMasterTx": "False",
      "DmaMasterORx": "False",
      "McsInterface": "ADRV9001_SSI_TYPE_LVDS",
      "McsClock_kHz": "38400",
      "ExpandedCustomSearch": "False",
      "NumSamples": "9984",
      "DeviceClockOutputEnabled": "True",
      "AllowPllRetuning": "False",
      "SwapLoMapping": "False",
      "PllPowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_HIGH",
      "DataSource": "ThroughFpga",
      "RequiresTwoStageInitCals": "False",
      "RxSynchronousTransfer": "False",
      "TxSynchronousTransfer": "False",
      "WarmBootEnable": "False",
      "WarmBootCoefficients": "",
      "AuxADC0.Enabled": "False",
      "AuxADC0.Voltage_mV": "0",
      "AuxADC1.Enabled": "False",
      "AuxADC1.Voltage_mV": "0",
      "AuxADC2.Enabled": "False",
      "AuxADC2.Voltage_mV": "0",
      "AuxADC3.Enabled": "False",
      "AuxADC3.Voltage_mV": "0",
      "AuxDAC0.Enabled": "False",
      "AuxDAC0.Code": "0",
      "AuxDAC1.Enabled": "False",
      "AuxDAC1.Code": "0",
      "AuxDAC2.Enabled": "False",
      "AuxDAC2.Code": "0",
      "AuxDAC3.Enabled": "False",
      "AuxDAC3.Code": "0",
      "UnitPreference.ForFrequency": "Kilohertz",
      "Channel1.SsiType": "ADRV9001_SSI_TYPE_LVDS",
      "Channel1.SsiNumLanes": "ADRV9001_SSI_2_LANE",
      "Channel1.SsiDataRate": "SINGLE",
      "Channel1.SsiStrobeType": "ADRV9001_SSI_SHORT_STROBE",
      "Channel1.ChannelEnableMode": "ADRV9001_SPI_MODE",
      "Channel1.SsiPowerDown": "ADRV9001_SSI_POWER_DOWN_DISABLED",
      "Channel1.ExternalPathDelay_ps": "0",
      "Channel1.TxDacFullScaleBoostEnable": "False",
      "Channel1.RxToTxLoopback": "False",
      "Channel1.TxToRxLoopback": "False",
      "Channel1.ChannelEnabled": "True",
      "Tx1.DataportSampleRate_Hz": "896000",
      "Tx1.SsiRefClock": "ADRV9001_SSI_TX_REF_CLOCK_PIN_DCLK_OUT_ENABLED",
      "Tx1.CarrierFrequency_Hz": "900000000",
      "Tx1.Interpolation": "1",
      "Tx1.ContinuousTransfer": "False",
      "Tx1.RfBandwidth_Hz": "400000",
      "Tx1.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_LOW",
      "Tx1.DesiredLoForDualHop": "ADRV9001_LOSEL_LO1",
      "Tx1.SsiInterfaceRate_Hz": "896000",
      "Tx1.Lpf3dBCornerFrequency_Hz": "33000000",
      "Tx1.Lpf1dBFrequency_Hz": "0",
      "Tx1.WidebandFilter": "BW_80",
      "Tx1.McsToStrobeLatency": "0",
      "Tx1.ReadDelay": "5",
      "Tx1.SampleDelay": "0",
      "Tx1.Analysis": "None",
      "Tx1.UDP.Enabled": "False",
      "Tx1.UDP.Port": "11004",
      "Tx1.UDP.Host0": "127",
      "Tx1.UDP.Host1": "0",
      "Tx1.UDP.Host2": "0",
      "Tx1.UDP.Host3": "1",
      "Tx1.UDP.Host": "127.0.0.1",
      "Tx1.ChannelFilter0.Type": "CUSTOM",
      "Tx1.ChannelFilter0.FileName": "D:\\filter\\filter_coffi_85PercentFpass90PercentFstop.txt",
      "Tx1.ChannelFilter1.Type": "LOOK_UP",
      "Tx1.ChannelFilter1.FileName": "LOOK_UP",
      "Tx1.ChannelFilter2.Type": "LOOK_UP",
      "Tx1.ChannelFilter2.FileName": "LOOK_UP",
      "Tx1.ChannelFilter3.Type": "LOOK_UP",
      "Tx1.ChannelFilter3.FileName": "LOOK_UP",
      "Tx1.ChannelFilter4.Type": "LOOK_UP",
      "Tx1.ChannelFilter4.FileName": "LOOK_UP",
      "Tx1.ChannelFilter5.Type": "LOOK_UP",
      "Tx1.ChannelFilter5.FileName": "LOOK_UP",
      "Tx1.FrequencyCorrection.Enable": "False",
      "Tx1.FrequencyCorrection.IsImmediate": "True",
      "Tx1.FrequencyCorrection.Freq_Hz": "0",
      "Tx1.DPD.ChangeModelTapOrders": "False",
      "Tx1.DPD.PreLutScale": "8",
      "Tx1.DPD.Enable": "False",
      "Tx1.DPD.ClgcEnable": "False",
      "Tx1.DPD.CaptureDelay_us": "0",
      "Tx1.DPD.ClgcLoopOpen": "False",
      "Tx1.DPD.ClgcGainTarget": "0",
      "Tx1.DPD.ClgcFilterAlpha": "0.75",
      "Tx1.DPD.ClgcLastGain_HundredthdB": "0",
      "Tx1.DPD.ClgcFilteredGain_HundredthdB": "0",
      "Tx1.DPD.AdditionalPowerScale": "4",
      "Tx1.DPD.TimeFilterCoefficient": "0",
      "Tx1.DPD.DetectionPowerThreshold": "53942350",
      "Tx1.DPD.DetectionPeakThreshold": "214748365",
      "Tx1.DPD.CountsGreaterThanPeakThreshold": "0",
      "Tx1.DPD.CountsLessThanPowerThreshold": "4096",
      "Tx1.DPD.Detection": "Peak",
      "Tx1.DPD.EnableRepeatedEstimationInTDD": "False",
      "Tx1.DPD.Region0.Enable": "False",
      "Tx1.DPD.Region0.LowerBound_Hz": "0",
      "Tx1.DPD.Region0.UpperBound_Hz": "0",
      "Tx1.DPD.Region1.Enable": "False",
      "Tx1.DPD.Region1.LowerBound_Hz": "0",
      "Tx1.DPD.Region1.UpperBound_Hz": "0",
      "Tx1.DPD.Region2.Enable": "False",
      "Tx1.DPD.Region2.LowerBound_Hz": "0",
      "Tx1.DPD.Region2.UpperBound_Hz": "0",
      "Tx1.DPD.Region3.Enable": "False",
      "Tx1.DPD.Region3.LowerBound_Hz": "0",
      "Tx1.DPD.Region3.UpperBound_Hz": "0",
      "Tx1.DPD.Region4.Enable": "False",
      "Tx1.DPD.Region4.LowerBound_Hz": "0",
      "Tx1.DPD.Region4.UpperBound_Hz": "0",
      "Tx1.DPD.Region5.Enable": "False",
      "Tx1.DPD.Region5.LowerBound_Hz": "0",
      "Tx1.DPD.Region5.UpperBound_Hz": "0",
      "Tx1.DPD.Region6.Enable": "False",
      "Tx1.DPD.Region6.LowerBound_Hz": "0",
      "Tx1.DPD.Region6.UpperBound_Hz": "0",
      "Tx1.InitCals.Flags": "ADRV9001_INIT_CAL_TX_QEC, ADRV9001_INIT_CAL_TX_LO_LEAKAGE, ADRV9001_INIT_CAL_TX_LB_PD",
      "Tx1.PaRamp.Enable": "False",
      "Tx1.PaRamp.Trigger": "ADRV9001_TX_PA_RAMP_TRIGGER_SPI",
      "Tx1.PaRamp.AsymmetricRamp": "False",
      "Tx1.PaRamp.TriggerDelayFall": "5",
      "Tx1.PaRamp.TriggerDelayRise": "5",
      "Tx1.PaRamp.RampClock_kHz": "1000",
      "Tx1.PaRamp.UpEndIndex": "0",
      "Tx1.PaRamp.DownEndIndex": "0",
      "Enabled": "False",
      "FileName": "",
      "Tx1.PaRamp.ADRV9001_GPIO_SIGNAL_TX1_PA_RAMP_CTRL.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "Tx1.Delay.PropagationDelay_ns": "926000",
      "Tx1.Delay.RiseToAnalogOnDelay_ns": "916858",
      "Tx1.Delay.RiseToOnDelay_ns": "926000",
      "Tx1.Delay.HoldDelay_ns": "0",
      "Tx1.Delay.FallToOffDelay_ns": "926000",
      "Tx1.TxFrontEnd.Enabled": "False",
      "Tx1.LoopGain": "65536",
      "Tx1.Flags": "0",
      "Tx1.Attenuation.AttenuationControlPinConfiguration.IncrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Tx1.Attenuation.AttenuationControlPinConfiguration.DecrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Rx1.SignalType": "IQ16",
      "Rx1.RfInput": "ADRV9001_RX_A",
      "Rx1.IntermediateFrequency_kHz": "490",
      "Rx1.IntermediateFrequencyEnable": "True",
      "Rx1.CarrierFrequency_Hz": "900000000",
      "Rx1.AdcOptimization": "ADRV9001_ADC_LP",
      "Rx1.AnalogFilterOrder": "ORDER_1",
      "Rx1.RfBandwidth_Hz": "400000",
      "Rx1.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_LOW",
      "Rx1.DesiredLoForDualHop": "ADRV9001_LOSEL_LO2",
      "Rx1.DataportSampleRate_Hz": "896000",
      "Rx1.SsiInterfaceRate_Hz": "896000",
      "Rx1.Lpf3dBCornerFrequency_Hz": "6700000",
      "Rx1.Lpf1dBFrequency_Hz": "3350000",
      "Rx1.WidebandFilter": "BW_80",
      "Rx1.McsToStrobeLatency": "0",
      "Rx1.ReadDelay": "1",
      "Rx1.SampleDelay": "0",
      "Rx1.Analysis": "SingleTone",
      "Rx1.UDP.Enabled": "False",
      "Rx1.UDP.Port": "11003",
      "Rx1.UDP.Host0": "127",
      "Rx1.UDP.Host1": "0",
      "Rx1.UDP.Host2": "0",
      "Rx1.UDP.Host3": "1",
      "Rx1.UDP.Host": "127.0.0.1",
      "Rx1.ChannelFilter0.Type": "CUSTOM",
      "Rx1.ChannelFilter0.FileName": "D:\\filter\\filter_coffi_85PercentFpass90PercentFstop.txt",
      "Rx1.ChannelFilter1.Type": "LOOK_UP",
      "Rx1.ChannelFilter1.FileName": "LOOK_UP",
      "Rx1.ChannelFilter2.Type": "LOOK_UP",
      "Rx1.ChannelFilter2.FileName": "LOOK_UP",
      "Rx1.ChannelFilter3.Type": "LOOK_UP",
      "Rx1.ChannelFilter3.FileName": "LOOK_UP",
      "Rx1.ChannelFilter4.Type": "LOOK_UP",
      "Rx1.ChannelFilter4.FileName": "LOOK_UP",
      "Rx1.ChannelFilter5.Type": "LOOK_UP",
      "Rx1.ChannelFilter5.FileName": "LOOK_UP",
      "Rx1.FrequencyCorrection.Enable": "False",
      "Rx1.FrequencyCorrection.IsImmediate": "True",
      "Rx1.FrequencyCorrection.Freq_Hz": "0",
      "Rx1.BbdcRejection.BasebandDcRejection": "ADRV9001_BBDC_REJECTION_ENABLED",
      "Rx1.Delay.PropagationDelay_ns": "2350000",
      "Rx1.Delay.RiseToAnalogOnDelay_ns": "0",
      "Rx1.Delay.RiseToOnDelay_ns": "9142",
      "Rx1.Delay.HoldDelay_ns": "2350000",
      "Rx1.Delay.FallToOffDelay_ns": "0",
      "Rx1.Gain.InitRxGain": "255",
      "Rx1.Gain.IsDirtyAgc": "False",
      "Rx1.Gain.IsDirtyPinControl": "False",
      "Rx1.Gain.MaxAgcGainIndex": "255",
      "Rx1.Gain.MinAgcGainIndex": "195",
      "Rx1.Gain.MaxExtantGainIndex": "255",
      "Rx1.Gain.MinExtantGainIndex": "187",
      "Rx1.Gain.GainControl.LowThreshPreventIncrement": "False",
      "Rx1.Gain.GainControl.RxQecFreezeEnable": "True",
      "Rx1.Gain.GainControl.HbDetectorEnable": "True",
      "Rx1.Gain.GainControl.ApdDetectorEnable": "True",
      "Rx1.Gain.GainControl.ResetOnRxOn": "False",
      "Rx1.Gain.GainControl.OverrangeCrumb": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx1.Gain.GainControl.UnderrangeCrumb": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx1.Gain.GainControl.-1.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "Rx1.Gain.GainControlPinConfiguration.IncrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Rx1.Gain.GainControlPinConfiguration.DecrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Rx1.Gain.GainIndexReadout.Bits01And00": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx1.Gain.GainIndexReadout.Bits03And02": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx1.Gain.GainIndexReadout.Bits05And04": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx1.Gain.GainIndexReadout.ChangeBitAndBit06": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx1.InitCals.Flags": "ADRV9001_INIT_CAL_RX_QEC_FIC, ADRV9001_INIT_CAL_RX_RF_DC_OFFSET",
      "Rx1.InterfaceGain.SeedGain_dB": "ADRV9001_RX_INTERFACE_GAIN_0_DB",
      "Rx1.InterfaceGain.EndOfFrameGain_dB": "ADRV9001_RX_INTERFACE_GAIN_18_DB",
      "Rx1.InterfaceGain.RssiDuration": "255",
      "Rx1.InterfaceGain.RssiMovingAverageDuration": "10",
      "Rx1.InterfaceGain.GainControlAutomaticThreshold_dBFS": "-2",
      "Rx1.InterfaceGain.SignalPAR": "15",
      "Rx1.InterfaceGain.EnableFastAttack": "False",
      "Rx1.LoopGain": "65536",
      "Rx1.Flags": "ADRV9001_TRACKING_CAL_RX_HD2, ADRV9001_TRACKING_CAL_RX_BBDC, ADRV9001_TRACKING_CAL_RX_RFDC, ADRV9001_TRACKING_CAL_RX_QEC_FIC, ADRV9001_TRACKING_CAL_RX_GAIN_CONTROL_DETECTORS",
      "Rx1.RxFrontEnd.Enabled": "False",
      "Rx1.GainBits.Select": "ADRV9001_RX_GAIN_INDEX_GAIN_CHANGE_ZEROES",
      "Rx1.GainBits.AgcGainDelay": "0",
      "Rx1.GainBits.InterfaceGainDelay": "0",
      "ORx1.SignalType": "Disabled",
      "ORx1.IntermediateFrequency_kHz": "490",
      "ORx1.IntermediateFrequencyEnable": "True",
      "ORx1.CarrierFrequency_Hz": "900000000",
      "ORx1.AdcOptimization": "ADRV9001_ADC_LP",
      "ORx1.AnalogFilterOrder": "ORDER_1",
      "ORx1.RfInput": "ADRV9001_RX_B",
      "ORx1.RfBandwidth_Hz": "12000",
      "ORx1.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_LOW",
      "ORx1.DesiredLoForDualHop": "0",
      "ORx1.DataportSampleRate_Hz": "24000",
      "ORx1.SsiInterfaceRate_Hz": "24000",
      "ORx1.Lpf3dBCornerFrequency_Hz": "0",
      "ORx1.Lpf1dBFrequency_Hz": "20000000",
      "ORx1.WidebandFilter": "BW_80",
      "ORx1.McsToStrobeLatency": "0",
      "ORx1.ReadDelay": "0",
      "ORx1.SampleDelay": "0",
      "ORx1.Analysis": "SingleTone",
      "ORx1.UDP.Enabled": "False",
      "ORx1.UDP.Port": "11006",
      "ORx1.UDP.Host0": "127",
      "ORx1.UDP.Host1": "0",
      "ORx1.UDP.Host2": "0",
      "ORx1.UDP.Host3": "1",
      "ORx1.UDP.Host": "127.0.0.1",
      "ORx1.ChannelFilter0.Type": "LOOK_UP",
      "ORx1.ChannelFilter0.FileName": "LOOK_UP",
      "ORx1.ChannelFilter1.Type": "LOOK_UP",
      "ORx1.ChannelFilter1.FileName": "LOOK_UP",
      "ORx1.ChannelFilter2.Type": "LOOK_UP",
      "ORx1.ChannelFilter2.FileName": "LOOK_UP",
      "ORx1.ChannelFilter3.Type": "LOOK_UP",
      "ORx1.ChannelFilter3.FileName": "LOOK_UP",
      "ORx1.ChannelFilter4.Type": "LOOK_UP",
      "ORx1.ChannelFilter4.FileName": "LOOK_UP",
      "ORx1.ChannelFilter5.Type": "LOOK_UP",
      "ORx1.ChannelFilter5.FileName": "LOOK_UP",
      "ORx1.FrequencyCorrection.Enable": "False",
      "ORx1.FrequencyCorrection.IsImmediate": "True",
      "ORx1.FrequencyCorrection.Freq_Hz": "0",
      "ORx1.BbdcRejection.BasebandDcRejection": "ADRV9001_BBDC_REJECTION_ENABLED",
      "ORx1.Delay.PropagationDelay_ns": "0",
      "ORx1.Delay.RiseToAnalogOnDelay_ns": "0",
      "ORx1.Delay.RiseToOnDelay_ns": "8000",
      "ORx1.Delay.HoldDelay_ns": "0",
      "ORx1.Delay.FallToOffDelay_ns": "0",
      "ORx1.Gain.InitRxGain": "12",
      "ORx1.Gain.GainControlMode": "ADRV9001_RX_GAIN_CONTROL_MODE_SPI",
      "ORx1.Gain.IsDirtyAgc": "True",
      "ORx1.Gain.IsDirtyPinControl": "True",
      "ORx1.Gain.MaxAgcGainIndex": "14",
      "ORx1.Gain.MinAgcGainIndex": "2",
      "ORx1.Gain.MaxExtantGainIndex": "14",
      "ORx1.Gain.MinExtantGainIndex": "2",
      "ORx1.Gain.GainControl.Mode": "ADRV9001_RX_GAIN_CONTROL_DETECTION_MODE_PEAK_AND_POWER",
      "ORx1.Gain.GainControl.PeakOverloadThreshold": "0",
      "ORx1.Gain.GainControl.PeakUnderloadThreshold": "0",
      "ORx1.Gain.GainControl.PowerOverloadThreshold": "0",
      "ORx1.Gain.GainControl.PowerUnderloadThreshold": "0",
      "ORx1.Gain.GainControl.OverloadGainStep": "0",
      "ORx1.Gain.GainControl.UnderloadGainStep": "0",
      "ORx1.Gain.GainControl.GainRefreshPeriod_us": "0",
      "ORx1.Gain.GainControl.MeasurementDelay_us": "0",
      "ORx1.Gain.GainControl.MeasurementDuration_us": "0",
      "ORx1.Gain.GainControl.LowThreshPreventIncrement": "False",
      "ORx1.Gain.GainControl.RxQecFreezeEnable": "True",
      "ORx1.Gain.GainControl.HbDetectorEnable": "False",
      "ORx1.Gain.GainControl.ApdDetectorEnable": "False",
      "ORx1.Gain.GainControl.ResetOnRxOn": "False",
      "ORx1.Gain.GainControl.OverrangeCrumb": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx1.Gain.GainControl.UnderrangeCrumb": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx1.Gain.GainControl.-1.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "ORx1.Gain.GainControlPinConfiguration.DecrementStepSize": "0",
      "ORx1.Gain.GainControlPinConfiguration.IncrementStepSize": "0",
      "ORx1.Gain.GainControlPinConfiguration.IncrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "ORx1.Gain.GainControlPinConfiguration.DecrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "ORx1.Gain.GainIndexReadout.Bits01And00": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx1.Gain.GainIndexReadout.Bits03And02": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx1.Gain.GainIndexReadout.Bits05And04": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx1.Gain.GainIndexReadout.ChangeBitAndBit06": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx1.InitCals.Flags": "ADRV9001_INIT_CAL_RX_QEC_FIC, ADRV9001_INIT_CAL_RX_RF_DC_OFFSET",
      "ORx1.InterfaceGain.Gain_dB": "ADRV9001_RX_INTERFACE_GAIN_0_DB",
      "ORx1.InterfaceGain.SeedGain_dB": "ADRV9001_RX_INTERFACE_GAIN_18_DB",
      "ORx1.InterfaceGain.EndOfFrameGain_dB": "ADRV9001_RX_INTERFACE_GAIN_18_DB",
      "ORx1.InterfaceGain.UpdateTiming": "ADRV9001_RX_INTERFACE_GAIN_UPDATE_TIMING_NOW",
      "ORx1.InterfaceGain.ControlMode": "ADRV9001_RX_INTERFACE_GAIN_CONTROL_MANUAL",
      "ORx1.InterfaceGain.RssiDuration": "255",
      "ORx1.InterfaceGain.RssiMovingAverageDuration": "10",
      "ORx1.InterfaceGain.GainControlAutomaticThreshold_dBFS": "-2",
      "ORx1.InterfaceGain.SignalPAR": "15",
      "ORx1.InterfaceGain.EnableFastAttack": "False",
      "ORx1.LoopGain": "65536",
      "ORx1.Flags": "ADRV9001_TRACKING_CAL_RX_HD2, ADRV9001_TRACKING_CAL_RX_BBDC, ADRV9001_TRACKING_CAL_RX_RFDC, ADRV9001_TRACKING_CAL_RX_QEC_FIC, ADRV9001_TRACKING_CAL_RX_GAIN_CONTROL_DETECTORS",
      "ORx1.ADRV9001_GPIO_SIGNAL_ORX_ENABLE_1.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "Channel1.PowerSavings.PinPowerDownMode": "ADRV9001_POWERSAVINGANDMONITORMODE_CHANNEL_MODE_DISABLED",
      "Channel1.PowerSavings.RadioOffPowerDownMode": "ADRV9001_POWERSAVINGANDMONITORMODE_CHANNEL_MODE_DISABLED",
      "Channel1.PowerSavings.ADRV9001_GPIO_SIGNAL_POWER_SAVING_CHANNEL1.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "Channel2.SsiType": "ADRV9001_SSI_TYPE_LVDS",
      "Channel2.SsiNumLanes": "ADRV9001_SSI_2_LANE",
      "Channel2.SsiDataRate": "SINGLE",
      "Channel2.SsiStrobeType": "ADRV9001_SSI_SHORT_STROBE",
      "Channel2.ChannelEnableMode": "ADRV9001_SPI_MODE",
      "Channel2.SsiPowerDown": "ADRV9001_SSI_POWER_DOWN_DISABLED",
      "Channel2.ExternalPathDelay_ps": "0",
      "Channel2.TxDacFullScaleBoostEnable": "False",
      "Channel2.RxToTxLoopback": "False",
      "Channel2.TxToRxLoopback": "False",
      "Channel2.ChannelEnabled": "False",
      "Tx2.DataportSampleRate_Hz": "24000",
      "Tx2.SsiRefClock": "ADRV9001_SSI_TX_REF_CLOCK_PIN_DISABLED",
      "Tx2.CarrierFrequency_Hz": "900000000",
      "Tx2.Interpolation": "1",
      "Tx2.ContinuousTransfer": "True",
      "Tx2.RfBandwidth_Hz": "12000",
      "Tx2.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_LOW",
      "Tx2.DesiredLoForDualHop": "ADRV9001_LOSEL_LO2",
      "Tx2.SsiInterfaceRate_Hz": "24000",
      "Tx2.Lpf3dBCornerFrequency_Hz": "33000000",
      "Tx2.Lpf1dBFrequency_Hz": "0",
      "Tx2.WidebandFilter": "BW_80",
      "Tx2.McsToStrobeLatency": "0",
      "Tx2.ReadDelay": "5",
      "Tx2.SampleDelay": "0",
      "Tx2.Analysis": "None",
      "Tx2.UDP.Enabled": "False",
      "Tx2.UDP.Port": "11006",
      "Tx2.UDP.Host0": "127",
      "Tx2.UDP.Host1": "0",
      "Tx2.UDP.Host2": "0",
      "Tx2.UDP.Host3": "1",
      "Tx2.UDP.Host": "127.0.0.1",
      "Tx2.ChannelFilter0.Type": "DISABLED",
      "Tx2.ChannelFilter0.FileName": "DISABLED",
      "Tx2.ChannelFilter1.Type": "LOOK_UP",
      "Tx2.ChannelFilter1.FileName": "LOOK_UP",
      "Tx2.ChannelFilter2.Type": "LOOK_UP",
      "Tx2.ChannelFilter2.FileName": "LOOK_UP",
      "Tx2.ChannelFilter3.Type": "LOOK_UP",
      "Tx2.ChannelFilter3.FileName": "LOOK_UP",
      "Tx2.ChannelFilter4.Type": "LOOK_UP",
      "Tx2.ChannelFilter4.FileName": "LOOK_UP",
      "Tx2.ChannelFilter5.Type": "LOOK_UP",
      "Tx2.ChannelFilter5.FileName": "LOOK_UP",
      "Tx2.FrequencyCorrection.Enable": "False",
      "Tx2.FrequencyCorrection.IsImmediate": "True",
      "Tx2.FrequencyCorrection.Freq_Hz": "0",
      "Tx2.DPD.ChangeModelTapOrders": "False",
      "Tx2.DPD.PreLutScale": "8",
      "Tx2.DPD.Enable": "False",
      "Tx2.DPD.ClgcEnable": "False",
      "Tx2.DPD.CaptureDelay_us": "0",
      "Tx2.DPD.ClgcLoopOpen": "False",
      "Tx2.DPD.ClgcGainTarget": "0",
      "Tx2.DPD.ClgcFilterAlpha": "0.75",
      "Tx2.DPD.ClgcLastGain_HundredthdB": "0",
      "Tx2.DPD.ClgcFilteredGain_HundredthdB": "0",
      "Tx2.DPD.NumberOfSamples": "0",
      "Tx2.DPD.AdditionalPowerScale": "4",
      "Tx2.DPD.TimeFilterCoefficient": "0",
      "Tx2.DPD.DetectionPowerThreshold": "53942350",
      "Tx2.DPD.DetectionPeakThreshold": "214748365",
      "Tx2.DPD.CountsGreaterThanPeakThreshold": "0",
      "Tx2.DPD.CountsLessThanPowerThreshold": "4096",
      "Tx2.DPD.Detection": "Peak",
      "Tx2.DPD.EnableRepeatedEstimationInTDD": "False",
      "Tx2.DPD.Region0.Enable": "False",
      "Tx2.DPD.Region0.LowerBound_Hz": "0",
      "Tx2.DPD.Region0.UpperBound_Hz": "0",
      "Tx2.DPD.Region1.Enable": "False",
      "Tx2.DPD.Region1.LowerBound_Hz": "0",
      "Tx2.DPD.Region1.UpperBound_Hz": "0",
      "Tx2.DPD.Region2.Enable": "False",
      "Tx2.DPD.Region2.LowerBound_Hz": "0",
      "Tx2.DPD.Region2.UpperBound_Hz": "0",
      "Tx2.DPD.Region3.Enable": "False",
      "Tx2.DPD.Region3.LowerBound_Hz": "0",
      "Tx2.DPD.Region3.UpperBound_Hz": "0",
      "Tx2.DPD.Region4.Enable": "False",
      "Tx2.DPD.Region4.LowerBound_Hz": "0",
      "Tx2.DPD.Region4.UpperBound_Hz": "0",
      "Tx2.DPD.Region5.Enable": "False",
      "Tx2.DPD.Region5.LowerBound_Hz": "0",
      "Tx2.DPD.Region5.UpperBound_Hz": "0",
      "Tx2.DPD.Region6.Enable": "False",
      "Tx2.DPD.Region6.LowerBound_Hz": "0",
      "Tx2.DPD.Region6.UpperBound_Hz": "0",
      "Tx2.InitCals.Flags": "0",
      "Tx2.PaRamp.Enable": "False",
      "Tx2.PaRamp.Trigger": "ADRV9001_TX_PA_RAMP_TRIGGER_SPI",
      "Tx2.PaRamp.AsymmetricRamp": "False",
      "Tx2.PaRamp.TriggerDelayFall": "5",
      "Tx2.PaRamp.TriggerDelayRise": "5",
      "Tx2.PaRamp.RampClock_kHz": "1000",
      "Tx2.PaRamp.UpEndIndex": "0",
      "Tx2.PaRamp.DownEndIndex": "0",
      "Tx2.PaRamp.ADRV9001_GPIO_SIGNAL_TX2_PA_RAMP_CTRL.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "Tx2.Delay.PropagationDelay_ns": "1862",
      "Tx2.Delay.RiseToAnalogOnDelay_ns": "0",
      "Tx2.Delay.RiseToOnDelay_ns": "9142",
      "Tx2.Delay.HoldDelay_ns": "0",
      "Tx2.Delay.FallToOffDelay_ns": "1862",
      "Tx2.TxFrontEnd.Enabled": "False",
      "Tx2.LoopGain": "65536",
      "Tx2.Flags": "0",
      "Tx2.Attenuation.AttenuationControlPinConfiguration.IncrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Tx2.Attenuation.AttenuationControlPinConfiguration.DecrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Rx2.SignalType": "Disabled",
      "Rx2.RfInput": "ADRV9001_RX_A",
      "Rx2.IntermediateFrequency_kHz": "490",
      "Rx2.IntermediateFrequencyEnable": "True",
      "Rx2.CarrierFrequency_Hz": "900000000",
      "Rx2.AdcOptimization": "ADRV9001_ADC_LP",
      "Rx2.AnalogFilterOrder": "ORDER_1",
      "Rx2.RfBandwidth_Hz": "12000",
      "Rx2.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_LOW",
      "Rx2.DesiredLoForDualHop": "ADRV9001_LOSEL_LO2",
      "Rx2.DataportSampleRate_Hz": "24000",
      "Rx2.SsiInterfaceRate_Hz": "24000",
      "Rx2.Lpf3dBCornerFrequency_Hz": "40000000",
      "Rx2.Lpf1dBFrequency_Hz": "20000000",
      "Rx2.WidebandFilter": "BW_80",
      "Rx2.McsToStrobeLatency": "0",
      "Rx2.ReadDelay": "1",
      "Rx2.SampleDelay": "0",
      "Rx2.Analysis": "SingleTone",
      "Rx2.UDP.Enabled": "False",
      "Rx2.UDP.Port": "11005",
      "Rx2.UDP.Host0": "127",
      "Rx2.UDP.Host1": "0",
      "Rx2.UDP.Host2": "0",
      "Rx2.UDP.Host3": "1",
      "Rx2.UDP.Host": "127.0.0.1",
      "Rx2.ChannelFilter0.Type": "LOOK_UP",
      "Rx2.ChannelFilter0.FileName": "LOOK_UP",
      "Rx2.ChannelFilter1.Type": "LOOK_UP",
      "Rx2.ChannelFilter1.FileName": "LOOK_UP",
      "Rx2.ChannelFilter2.Type": "LOOK_UP",
      "Rx2.ChannelFilter2.FileName": "LOOK_UP",
      "Rx2.ChannelFilter3.Type": "LOOK_UP",
      "Rx2.ChannelFilter3.FileName": "LOOK_UP",
      "Rx2.ChannelFilter4.Type": "LOOK_UP",
      "Rx2.ChannelFilter4.FileName": "LOOK_UP",
      "Rx2.ChannelFilter5.Type": "LOOK_UP",
      "Rx2.ChannelFilter5.FileName": "LOOK_UP",
      "Rx2.FrequencyCorrection.Enable": "False",
      "Rx2.FrequencyCorrection.IsImmediate": "True",
      "Rx2.FrequencyCorrection.Freq_Hz": "0",
      "Rx2.BbdcRejection.BasebandDcRejection": "ADRV9001_BBDC_REJECTION_PAUSED",
      "Rx2.Delay.PropagationDelay_ns": "2350000",
      "Rx2.Delay.RiseToAnalogOnDelay_ns": "0",
      "Rx2.Delay.RiseToOnDelay_ns": "9142",
      "Rx2.Delay.HoldDelay_ns": "2350000",
      "Rx2.Delay.FallToOffDelay_ns": "0",
      "Rx2.Gain.InitRxGain": "247",
      "Rx2.Gain.IsDirtyAgc": "True",
      "Rx2.Gain.IsDirtyPinControl": "True",
      "Rx2.Gain.MaxAgcGainIndex": "255",
      "Rx2.Gain.MinAgcGainIndex": "195",
      "Rx2.Gain.MaxExtantGainIndex": "255",
      "Rx2.Gain.MinExtantGainIndex": "187",
      "Rx2.Gain.GainControl.LowThreshPreventIncrement": "False",
      "Rx2.Gain.GainControl.RxQecFreezeEnable": "True",
      "Rx2.Gain.GainControl.HbDetectorEnable": "False",
      "Rx2.Gain.GainControl.ApdDetectorEnable": "False",
      "Rx2.Gain.GainControl.ResetOnRxOn": "False",
      "Rx2.Gain.GainControl.OverrangeCrumb": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx2.Gain.GainControl.UnderrangeCrumb": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx2.Gain.GainControl.-1.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "Rx2.Gain.GainControlPinConfiguration.IncrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Rx2.Gain.GainControlPinConfiguration.DecrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Rx2.Gain.GainIndexReadout.Bits01And00": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx2.Gain.GainIndexReadout.Bits03And02": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx2.Gain.GainIndexReadout.Bits05And04": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx2.Gain.GainIndexReadout.ChangeBitAndBit06": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "Rx2.InitCals.Flags": "0",
      "Rx2.InterfaceGain.SeedGain_dB": "ADRV9001_RX_INTERFACE_GAIN_0_DB",
      "Rx2.InterfaceGain.EndOfFrameGain_dB": "ADRV9001_RX_INTERFACE_GAIN_18_DB",
      "Rx2.InterfaceGain.RssiDuration": "255",
      "Rx2.InterfaceGain.RssiMovingAverageDuration": "10",
      "Rx2.InterfaceGain.GainControlAutomaticThreshold_dBFS": "-2",
      "Rx2.InterfaceGain.SignalPAR": "15",
      "Rx2.InterfaceGain.EnableFastAttack": "False",
      "Rx2.LoopGain": "65536",
      "Rx2.Flags": "0",
      "Rx2.RxFrontEnd.Enabled": "False",
      "Rx2.GainBits.Select": "ADRV9001_RX_GAIN_INDEX_GAIN_CHANGE_ZEROES",
      "Rx2.GainBits.AgcGainDelay": "0",
      "Rx2.GainBits.InterfaceGainDelay": "0",
      "ORx2.SignalType": "Disabled",
      "ORx2.IntermediateFrequency_kHz": "490",
      "ORx2.IntermediateFrequencyEnable": "True",
      "ORx2.CarrierFrequency_Hz": "900000000",
      "ORx2.AdcOptimization": "ADRV9001_ADC_LP",
      "ORx2.AnalogFilterOrder": "ORDER_1",
      "ORx2.RfInput": "ADRV9001_RX_B",
      "ORx2.RfBandwidth_Hz": "12000",
      "ORx2.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_LOW",
      "ORx2.DesiredLoForDualHop": "0",
      "ORx2.DataportSampleRate_Hz": "24000",
      "ORx2.SsiInterfaceRate_Hz": "24000",
      "ORx2.Lpf3dBCornerFrequency_Hz": "0",
      "ORx2.Lpf1dBFrequency_Hz": "20000000",
      "ORx2.WidebandFilter": "BW_80",
      "ORx2.McsToStrobeLatency": "0",
      "ORx2.ReadDelay": "0",
      "ORx2.SampleDelay": "0",
      "ORx2.Analysis": "SingleTone",
      "ORx2.UDP.Enabled": "False",
      "ORx2.UDP.Port": "11008",
      "ORx2.UDP.Host0": "127",
      "ORx2.UDP.Host1": "0",
      "ORx2.UDP.Host2": "0",
      "ORx2.UDP.Host3": "1",
      "ORx2.UDP.Host": "127.0.0.1",
      "ORx2.ChannelFilter0.Type": "LOOK_UP",
      "ORx2.ChannelFilter0.FileName": "LOOK_UP",
      "ORx2.ChannelFilter1.Type": "LOOK_UP",
      "ORx2.ChannelFilter1.FileName": "LOOK_UP",
      "ORx2.ChannelFilter2.Type": "LOOK_UP",
      "ORx2.ChannelFilter2.FileName": "LOOK_UP",
      "ORx2.ChannelFilter3.Type": "LOOK_UP",
      "ORx2.ChannelFilter3.FileName": "LOOK_UP",
      "ORx2.ChannelFilter4.Type": "LOOK_UP",
      "ORx2.ChannelFilter4.FileName": "LOOK_UP",
      "ORx2.ChannelFilter5.Type": "LOOK_UP",
      "ORx2.ChannelFilter5.FileName": "LOOK_UP",
      "ORx2.FrequencyCorrection.Enable": "False",
      "ORx2.FrequencyCorrection.IsImmediate": "True",
      "ORx2.FrequencyCorrection.Freq_Hz": "0",
      "ORx2.BbdcRejection.BasebandDcRejection": "ADRV9001_BBDC_REJECTION_ENABLED",
      "ORx2.Delay.PropagationDelay_ns": "0",
      "ORx2.Delay.RiseToAnalogOnDelay_ns": "0",
      "ORx2.Delay.RiseToOnDelay_ns": "8000",
      "ORx2.Delay.HoldDelay_ns": "0",
      "ORx2.Delay.FallToOffDelay_ns": "0",
      "ORx2.Gain.InitRxGain": "12",
      "ORx2.Gain.GainControlMode": "ADRV9001_RX_GAIN_CONTROL_MODE_SPI",
      "ORx2.Gain.IsDirtyAgc": "True",
      "ORx2.Gain.IsDirtyPinControl": "True",
      "ORx2.Gain.MaxAgcGainIndex": "14",
      "ORx2.Gain.MinAgcGainIndex": "2",
      "ORx2.Gain.MaxExtantGainIndex": "14",
      "ORx2.Gain.MinExtantGainIndex": "2",
      "ORx2.Gain.GainControl.Mode": "ADRV9001_RX_GAIN_CONTROL_DETECTION_MODE_PEAK_AND_POWER",
      "ORx2.Gain.GainControl.PeakOverloadThreshold": "0",
      "ORx2.Gain.GainControl.PeakUnderloadThreshold": "0",
      "ORx2.Gain.GainControl.PowerOverloadThreshold": "0",
      "ORx2.Gain.GainControl.PowerUnderloadThreshold": "0",
      "ORx2.Gain.GainControl.OverloadGainStep": "0",
      "ORx2.Gain.GainControl.UnderloadGainStep": "0",
      "ORx2.Gain.GainControl.GainRefreshPeriod_us": "0",
      "ORx2.Gain.GainControl.MeasurementDelay_us": "0",
      "ORx2.Gain.GainControl.MeasurementDuration_us": "0",
      "ORx2.Gain.GainControl.LowThreshPreventIncrement": "False",
      "ORx2.Gain.GainControl.RxQecFreezeEnable": "True",
      "ORx2.Gain.GainControl.HbDetectorEnable": "False",
      "ORx2.Gain.GainControl.ApdDetectorEnable": "False",
      "ORx2.Gain.GainControl.ResetOnRxOn": "False",
      "ORx2.Gain.GainControl.OverrangeCrumb": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx2.Gain.GainControl.UnderrangeCrumb": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx2.Gain.GainControl.-1.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "ORx2.Gain.GainControlPinConfiguration.DecrementStepSize": "0",
      "ORx2.Gain.GainControlPinConfiguration.IncrementStepSize": "0",
      "ORx2.Gain.GainControlPinConfiguration.IncrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "ORx2.Gain.GainControlPinConfiguration.DecrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "ORx2.Gain.GainIndexReadout.Bits01And00": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx2.Gain.GainIndexReadout.Bits03And02": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx2.Gain.GainIndexReadout.Bits05And04": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx2.Gain.GainIndexReadout.ChangeBitAndBit06": "ADRV9001_GPIO_PIN_CRUMB_UNASSIGNED",
      "ORx2.InitCals.Flags": "0",
      "ORx2.InterfaceGain.Gain_dB": "ADRV9001_RX_INTERFACE_GAIN_0_DB",
      "ORx2.InterfaceGain.SeedGain_dB": "ADRV9001_RX_INTERFACE_GAIN_18_DB",
      "ORx2.InterfaceGain.EndOfFrameGain_dB": "ADRV9001_RX_INTERFACE_GAIN_18_DB",
      "ORx2.InterfaceGain.UpdateTiming": "ADRV9001_RX_INTERFACE_GAIN_UPDATE_TIMING_NOW",
      "ORx2.InterfaceGain.ControlMode": "ADRV9001_RX_INTERFACE_GAIN_CONTROL_MANUAL",
      "ORx2.InterfaceGain.RssiDuration": "255",
      "ORx2.InterfaceGain.RssiMovingAverageDuration": "10",
      "ORx2.InterfaceGain.GainControlAutomaticThreshold_dBFS": "-2",
      "ORx2.InterfaceGain.SignalPAR": "15",
      "ORx2.InterfaceGain.EnableFastAttack": "False",
      "ORx2.LoopGain": "65536",
      "ORx2.Flags": "0",
      "ORx2.ADRV9001_GPIO_SIGNAL_ORX_ENABLE_2.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "Channel2.PowerSavings.PinPowerDownMode": "ADRV9001_POWERSAVINGANDMONITORMODE_CHANNEL_MODE_DISABLED",
      "Channel2.PowerSavings.RadioOffPowerDownMode": "ADRV9001_POWERSAVINGANDMONITORMODE_CHANNEL_MODE_DISABLED",
      "Channel2.PowerSavings.ADRV9001_GPIO_SIGNAL_POWER_SAVING_CHANNEL2.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "LO1.Source": "INTERNAL",
      "LO1.PowerConsumption": "ADRV9001_PLL_POWER_LOW",
      "LO1.LoopBandwidth_kHz": "300",
      "LO1.PllCalibration": "ADRV9001_PLL_CALIBRATION_NORMAL",
      "LO1.Optimization": "ADRV9001_LO_GEN_OPTIMIZATION_POWER_CONSUMPTION",
      "LO2.Source": "INTERNAL",
      "LO2.PowerConsumption": "ADRV9001_PLL_POWER_LOW",
      "LO2.LoopBandwidth_kHz": "300",
      "LO2.PllCalibration": "ADRV9001_PLL_CALIBRATION_NORMAL",
      "LO2.Optimization": "ADRV9001_LO_GEN_OPTIMIZATION_POWER_CONSUMPTION",
      "TDD.DmaSync": "False",
      "TDD.TddClock_Hz": "199332000",
      "TDD.FileName": "\\Examples\\Automated TDD Configurations\\DMR_24K_RX_ONLY.json",
      "RadioStateLock": "False",
      "MonitorMode.PowerDownMode": "0",
      "MonitorMode.DetectionFirst": "0",
      "MonitorMode.DetectionMode": "ADRV9001_POWERSAVINGANDMONITORMODE_MONITOR_DETECTION_MODE_RSSI",
      "MonitorMode.FastBufferReadEnable": "False",
      "MonitorMode.ExternalPllEnable": "False",
      "MonitorMode.InitialBatterySaverDelay_us": "0",
      "MonitorMode.BbicWakeupLevelEnable": "False",
      "SystemPowerSavings.ADRV9001_GPIO_SIGNAL_MON_ENABLE_SPS.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "MonitorMode.Rssi.DetectionThreshold_mdBFS": "-80000",
      "MonitorMode.Rssi.MeasurementDuration_samples": "10",
      "MonitorMode.Rssi.MeasurementsStartPeriod_ms": "1",
      "MonitorMode.Rssi.NumberOfMeasurementsToAverage": "4",
      "MonitorMode.Vector.VectorMask": "1",
      "MonitorMode.DmrPdCalibration.MayEnable": "False",
      "MonitorMode.DmrPdCalibration.RunCal": "RUN_CAL",
      "MonitorMode.DmrPdCalibration.Delay": "0",
      "MonitorModeWakeup.ADRV9001_GPIO_SIGNAL_MON_BBIC_WAKEUP.Pin": "ADRV9001_GPIO_UNASSIGNED",
      ".LNA.ExternalLnaPinSel": "ADRV9001_EXTERNAL_LNA_PIN_RX1_LOWER_RX2_UPPER",
      ".LNA.SettlingDelay": "0",
      ".LNA.LnaType": "ADRV9001_EXTERNAL_LNA_TYPE_SINGLE",
      ".LNA.NumberLnaGainSteps": "4",
      ".LNA.LnaGainStep1": "0",
      ".LNA.LnaGainStep2": "0",
      ".LNA.LnaGainStep3": "0",
      ".LNA.LnaGainStep4": "0",
      ".LNA.LnaDigitalGainDelay": "0",
      ".LNA.Enabled": "ADRV9001_GPIO_ANALOG_PIN_NIBBLE_UNASSIGNED",
      "FrequencyHopping.Mode": "ADRV9001_FHMODE_LO_MUX_PREPROCESS",
      "FrequencyHopping.MinFrameDuration_us": "30000",
      "FrequencyHopping.PllLockWait_us": "77",
      "FrequencyHopping.PllPhaseSyncWait_us": "0",
      "FrequencyHopping.TransitionTime_us": "2500",
      "FrequencyHopping.DynamicTableLoad": "False",
      "FrequencyHopping.NumberOfRowsToLoad": "ADRV9001_FH_HOP_PER_DYNAMIC_LOAD_ONE",
      "FrequencyHopping.ZeroIf": "False",
      "FrequencyHopping.MinOperatingFrequency_Hz": "1000000000",
      "FrequencyHopping.MaxOperatingFrequency_Hz": "1000008000",
      "FrequencyHopping.MaxRxGainIndex": "255",
      "FrequencyHopping.MinRxGainIndex": "255",
      "FrequencyHopping.GainSetupByPin": "False",
      "FrequencyHopping.TableIndexCtrl": "ADRV9001_TABLEINDEXCTRL_AUTO_PING_PONG",
      "FrequencyHopping.MinTxAtten_dB": "0",
      "FrequencyHopping.MaxTxAtten_dB": "0",
      "FrequencyHopping.GainSetupByPin1.GainTable.FileName": "Disabled",
      "FrequencyHopping.GainSetupByPin1.AttenTable.FileName": "Disabled",
      "FrequencyHopping.GainSetupByPin1.GainAttenIndex.FileName": "Disabled",
      "FrequencyHopping.GainSetupByPin1.GAIN_ATTEN_INDEX_PIN_1": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.GainSetupByPin1.GAIN_ATTEN_INDEX_PIN_2": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.GainSetupByPin1.GAIN_ATTEN_INDEX_PIN_3": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.GainSetupByPin2.GainTable.FileName": "Disabled",
      "FrequencyHopping.GainSetupByPin2.AttenTable.FileName": "Disabled",
      "FrequencyHopping.GainSetupByPin2.GainAttenIndex.FileName": "Disabled",
      "FrequencyHopping.GainSetupByPin2.GAIN_ATTEN_INDEX_PIN_1": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.GainSetupByPin2.GAIN_ATTEN_INDEX_PIN_2": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.GainSetupByPin2.GAIN_ATTEN_INDEX_PIN_3": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.ADRV9001_GPIO_SIGNAL_FH_HOP.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.ADRV9001_GPIO_SIGNAL_FH_HOP_2.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "FfhTableA.Enabled": "True",
      "FfhTableA.FileName": "\\Examples\\Hop Tables\\ADRV9001_FH_DMR_TableA.csv",
      "FfhTableB.Enabled": "True",
      "FfhTableB.FileName": "\\Examples\\Hop Tables\\ADRV9001_FH_DMR_TableB.csv",
      "FrequencyHopping.TableIndexByPin.TableIndices": "[]",
      "FrequencyHopping.TableIndexByPin.TableIndexSequence.FileName": "",
      "FrequencyHopping.TableIndexByPin.TABLE_INDEX_PIN_1": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.TableIndexByPin.TABLE_INDEX_PIN_2": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.TableIndexByPin.TABLE_INDEX_PIN_3": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.TableIndexByPin.TABLE_INDEX_PIN_4": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.TableIndexByPin.TABLE_INDEX_PIN_5": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.TableIndexByPin.TABLE_INDEX_PIN_6": "ADRV9001_GPIO_UNASSIGNED",
      "FrequencyHopping.RuntimeFrameIndex": "0",
      "FrequencyHopping.NumChannels": "0",
      "FrequencyHopping.TableSwitchSequence1.MayEnable": "False",
      "FrequencyHopping.TableSwitchSequence1.MayChoose": "True",
      "FrequencyHopping.TableSwitchSequence1.Switches": "[]",
      "FrequencyHopping.TableSwitchSequence1.FileName": "TableAOnly",
      "FrequencyHopping.TableSwitchSequence1.ADRV9001_GPIO_SIGNAL_FH_HOP_TABLE_SELECT.Pin": "ADRV9001_GPIO_UNASSIGNED",
      ".PortSwitch.MinFreqPortA_Hz": "890000000",
      ".PortSwitch.MaxFreqPortA_Hz": "910000000",
      ".PortSwitch.MinFreqPortB_Hz": "1890000000",
      ".PortSwitch.MaxFreqPortB_Hz": "1910000000",
      ".PortSwitch.Enable": "False",
      "SpiMain.Enabled": "False",
      "SpiMain.NumBytes": "0",
      "SpiMain.BaudRateDiv": "0",
      "SpiMain.TransactionBytes": "0",
      "SpiMain.TransferMode": "ADRV9001_SPI_MASTER_CS_TRANSFER_TRANSACTION_BYTES",
      "SpiMain.SpiSlaveDevicesConnected": "ADRV9001_SPI_MASTER_SLAVE_SINGLE",
      "SpiMain.CsSource": "ADRV9001_SPI_MASTER_CS_SOURCE_GPIO_ANALOG",
      "SpiMain.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "SpiMain.TriggerSource": "ADRV9001_SPI_MASTER_TRIGGER_SOURCE_ARM",
      "SpiMain.WakeupTimer_us": "0",
      "SpiMain.Analog.ADRV9001_GPIO_NUM_SIGNALS.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "SpiMain.Digital.ADRV9001_GPIO_NUM_SIGNALS.Pin": "ADRV9001_GPIO_UNASSIGNED",
      "SpiBytes.FileName": ""
    }

  • Hello SivaLekha,

    We've implemented your code snippet in our configuration, utilizing channel 1 & 2 for transmission. After adjusting the attenuation and utilizing your command for reading, everything appears to be functioning smoothly, as demonstrated in the screenshot below.

    Tx Channel 2 

      

    Tx Channel 1

        

    Could you please provide us with the .taxidi file, so that we can analyze further?

    Regards 

    Rahul 

  • Hi Rahul ,

    My configuration is TDD and only using channel 1 and channel 2 is disabled. 

    Please find below google drive link with .taxidi file

    https://drive.google.com/file/d/1HVOz8Bxt_6PYMC5ZGpQ2a57OVYWs2rdb/view?usp=sharing 

  • Hi  

    In your example, you're setting the attenuation and then reading it back in the very next instruction itself,

    In my case, I am trying to do read operation only in main() function and set will be done inside the "beginTransmitting()" function.


    , can you please try this way ..

  • Hello SivaLekha,

    We've incorporated your taxidi file into TES and programmed it accordingly. Following that, we obtained the sample code in c99 and seamlessly integrated your code section into the main file, as depicted below.

    we haven't encountered any problems with reading back the attenuation level. In the "begin transmit" function, the attenuation value was initially set to 1000 mdB, equivalent to 10dB, as indicated in the figure below. The value we're retrieving using your code section aligns with the values specified in the "begin transmit" function.

    Regards,

    Rahul

  •   

    Again, the difference here is while loop, please try calling Tx_Attenuation_Get() API only once do not use while loop.  

    I have also tried with While loop and seen failure in biggening and then its reading correctly. 

    Please try without while loop 


  • Hi SivaLekha,

    Yes, we have tried the exact same way and we have replicated the issue. We are currently investigating the issue.

    Regards 

    Rahul 

  • Hi SivaLekha,

    After examining the issue and testing your configuration in various scenarios, we discovered that the timing for calling the attenuation_get function was incorrect. Specifically, when we call the function, the analog front end (illustrated in Figure 1) of the transceiver takes some time to power up and this timing can be controlled in TES as shown in Figure 2. Consequently, if we send a SPI command to retrieve the attenuation value immediately, it defaults to 40dB.

                                 

                                                             Figure 1: Tx Chain 

                                   

                                                    Figure 2: TES TDD Enablement Delays

    You can change these values in the API function as shown below:

    adi_adrv9001_ChannelEnablementDelays_t delays_9 = { 
    		.riseToOnDelay = 1376, 
    		.riseToAnalogOnDelay = 0, 
    		.fallToOffDelay = 0, 
    		.guardDelay = 0, 
    		.holdDelay = 4275 };
    	error_code = adi_adrv9001_Radio_ChannelEnablementDelays_Configure(adrv9001Device_0, ADI_RX, ADI_CHANNEL_1, &delays_9);
    
    	adi_adrv9001_ChannelEnablementDelays_t delays_10 = { 
    		.riseToOnDelay = 9302, 
    		.riseToAnalogOnDelay = 9925, 
    		.fallToOffDelay = 9302, 
    		.guardDelay = 0, 
    		.holdDelay = 0 };

    Regards,

    Rahul 

  • Hi Rahul,

    I tried setting different delays and it didn't help, can you please suggest the delay settings which is working for you!

Reply Children