Post Go back to editing

Change the TX interface rate and data port rate in the adrv9002 no-OS project.

Category: Software
Product Number: ZCU102+ADRV9002
Software Version: vitis2022.2

Hello

I want to change the TX interface rate and data port rate in the no-OS project.

Do I only need to modify txInputRate_Hz and txInterfaceSampleRate_Hz in navassa_CMOS_profile.h, or are there other parameters that need to be changed as well?

Thanks,

John

  • Hi ,

    You will need to generate a new profile using TES for these modifications. Furthermore, you should check if they require changes also in the HDL you are using.

    The following forum might be helpful:  TES GUI & Software Support ADRV9001 – ADRV9007

    Regards,

    George

  • Hi  ,

    My understanding is that if the data port rates and interface rates generated in the TES software are different, the other settings will not change, and the profile will only have a few different parameters. So, I generated a data port rate from TES that is different from the Navassa_CMOS_profile. Then, I modified the interface rate profile with these two related parameters. After burning and executing, it was found that RX2 had an initial failure.

    Is my modification correct?

    The picture below shows the part I modified and the error I encountered.

    Thanks,

    John

  • Hi  ,

    You should check with TES to see whether the profile is correct and you receive actual data. Another thing would be to debug the application and see why is ADC initialization failing.

    Regards,

    George

  • Hi  ,

    I think previously I only modified the profile without changing stream.h, which caused the issue. It has been resolved now.

    Attached is my current TES session. After replacing the contents of the no-OS Navassa_CMOS_profile and Navassa_Stream.h files with the profile and stream.h files generated by this session, the UART did not show any errors, but nothing was visible on the spectrum analyzer after TX transmission.

    Using the same session, I connected TES to the ZCU102+9002, and the spectrum analyzer displayed the waveform when transmitting a single tone.

    {
      "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": "Custom",
      "Diversity": "True",
      "ClockPllMode": "HIGH_PERFORMANCE",
      "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": "ADRV9001_TX_IQ",
      "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_MANUAL",
      "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_SPI",
      "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_CMOS",
      "McsClock_kHz": "39532",
      "ExpandedCustomSearch": "False",
      "NumSamples": "4096",
      "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_CMOS",
      "Channel1.SsiNumLanes": "ADRV9001_SSI_1_LANE",
      "Channel1.SsiDataRate": "SINGLE",
      "Channel1.SsiStrobeType": "ADRV9001_SSI_SHORT_STROBE",
      "Channel1.ChannelEnableMode": "ADRV9001_PIN_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": "1920000",
      "Tx1.SsiRefClock": "ADRV9001_SSI_TX_REF_CLOCK_PIN_DCLK_OUT_ENABLED",
      "Tx1.CarrierFrequency_Hz": "2450000000",
      "Tx1.Interpolation": "1",
      "Tx1.ContinuousTransfer": "True",
      "Tx1.RfBandwidth_Hz": "1008000",
      "Tx1.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_HIGH",
      "Tx1.DesiredLoForDualHop": "ADRV9001_LOSEL_LO1",
      "Tx1.SsiInterfaceRate_Hz": "1920000",
      "Tx1.Lpf3dBCornerFrequency_Hz": "50000000",
      "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": "DISABLED",
      "Tx1.ChannelFilter0.FileName": "DISABLED",
      "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": "918000",
      "Tx1.Delay.RiseToOnDelay_ns": "926000",
      "Tx1.Delay.HoldDelay_ns": "0",
      "Tx1.Delay.FallToOffDelay_ns": "926000",
      "Tx1.TxFrontEnd.Enabled": "False",
      "Tx1.LoopGain": "65536",
      "Tx1.Flags": "ADRV9001_TRACKING_CAL_TX_QEC, ADRV9001_TRACKING_CAL_TX_LO_LEAKAGE",
      "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": "0",
      "Rx1.IntermediateFrequencyEnable": "False",
      "Rx1.CarrierFrequency_Hz": "2450000000",
      "Rx1.AdcOptimization": "ADRV9001_ADC_HP",
      "Rx1.AnalogFilterOrder": "ORDER_1",
      "Rx1.RfBandwidth_Hz": "1008000",
      "Rx1.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_HIGH",
      "Rx1.DesiredLoForDualHop": "ADRV9001_LOSEL_LO1",
      "Rx1.DataportSampleRate_Hz": "1920000",
      "Rx1.SsiInterfaceRate_Hz": "1920000",
      "Rx1.Lpf3dBCornerFrequency_Hz": "40000000",
      "Rx1.Lpf1dBFrequency_Hz": "20000000",
      "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": "LOOK_UP",
      "Rx1.ChannelFilter0.FileName": "LOOK_UP",
      "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": "8000",
      "Rx1.Delay.HoldDelay_ns": "2350000",
      "Rx1.Delay.FallToOffDelay_ns": "0",
      "Rx1.Gain.InitRxGain": "247",
      "Rx1.Gain.IsDirtyAgc": "True",
      "Rx1.Gain.IsDirtyPinControl": "True",
      "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": "False",
      "Rx1.Gain.GainControl.ApdDetectorEnable": "False",
      "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_QEC_WBPOLY, 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_QEC_WBPOLY, 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_CMOS",
      "Channel2.SsiNumLanes": "ADRV9001_SSI_1_LANE",
      "Channel2.SsiDataRate": "SINGLE",
      "Channel2.SsiStrobeType": "ADRV9001_SSI_SHORT_STROBE",
      "Channel2.ChannelEnableMode": "ADRV9001_PIN_MODE",
      "Channel2.SsiPowerDown": "ADRV9001_SSI_POWER_DOWN_DISABLED",
      "Channel2.ExternalPathDelay_ps": "0",
      "Channel2.TxDacFullScaleBoostEnable": "False",
      "Channel2.RxToTxLoopback": "False",
      "Channel2.TxToRxLoopback": "False",
      "Channel2.ChannelEnabled": "True",
      "Tx2.DataportSampleRate_Hz": "1920000",
      "Tx2.SsiRefClock": "ADRV9001_SSI_TX_REF_CLOCK_PIN_DCLK_OUT_ENABLED",
      "Tx2.CarrierFrequency_Hz": "2450000000",
      "Tx2.Interpolation": "1",
      "Tx2.ContinuousTransfer": "True",
      "Tx2.RfBandwidth_Hz": "1008000",
      "Tx2.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_HIGH",
      "Tx2.DesiredLoForDualHop": "ADRV9001_LOSEL_LO1",
      "Tx2.SsiInterfaceRate_Hz": "1920000",
      "Tx2.Lpf3dBCornerFrequency_Hz": "50000000",
      "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": "ADRV9001_INIT_CAL_TX_QEC, ADRV9001_INIT_CAL_TX_LO_LEAKAGE, ADRV9001_INIT_CAL_TX_LB_PD",
      "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": "926000",
      "Tx2.Delay.RiseToAnalogOnDelay_ns": "918000",
      "Tx2.Delay.RiseToOnDelay_ns": "926000",
      "Tx2.Delay.HoldDelay_ns": "0",
      "Tx2.Delay.FallToOffDelay_ns": "926000",
      "Tx2.TxFrontEnd.Enabled": "False",
      "Tx2.LoopGain": "65536",
      "Tx2.Flags": "ADRV9001_TRACKING_CAL_TX_QEC, ADRV9001_TRACKING_CAL_TX_LO_LEAKAGE",
      "Tx2.Attenuation.AttenuationControlPinConfiguration.IncrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Tx2.Attenuation.AttenuationControlPinConfiguration.DecrementPin": "ADRV9001_GPIO_UNASSIGNED",
      "Rx2.SignalType": "IQ16",
      "Rx2.RfInput": "ADRV9001_RX_A",
      "Rx2.IntermediateFrequency_kHz": "0",
      "Rx2.IntermediateFrequencyEnable": "False",
      "Rx2.CarrierFrequency_Hz": "2450000000",
      "Rx2.AdcOptimization": "ADRV9001_ADC_HP",
      "Rx2.AnalogFilterOrder": "ORDER_1",
      "Rx2.RfBandwidth_Hz": "1008000",
      "Rx2.PowerConsumption": "ADRV9001_COMPONENT_POWER_LEVEL_HIGH",
      "Rx2.DesiredLoForDualHop": "ADRV9001_LOSEL_LO1",
      "Rx2.DataportSampleRate_Hz": "1920000",
      "Rx2.SsiInterfaceRate_Hz": "1920000",
      "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_ENABLED",
      "Rx2.Delay.PropagationDelay_ns": "2350000",
      "Rx2.Delay.RiseToAnalogOnDelay_ns": "0",
      "Rx2.Delay.RiseToOnDelay_ns": "8000",
      "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": "ADRV9001_INIT_CAL_RX_QEC_FIC, ADRV9001_INIT_CAL_RX_RF_DC_OFFSET",
      "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": "ADRV9001_TRACKING_CAL_RX_QEC_WBPOLY, ADRV9001_TRACKING_CAL_RX_BBDC, ADRV9001_TRACKING_CAL_RX_RFDC, ADRV9001_TRACKING_CAL_RX_QEC_FIC, ADRV9001_TRACKING_CAL_RX_GAIN_CONTROL_DETECTORS",
      "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": "ADRV9001_INIT_CAL_RX_QEC_FIC, ADRV9001_INIT_CAL_RX_RF_DC_OFFSET",
      "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": "ADRV9001_TRACKING_CAL_RX_QEC_WBPOLY, ADRV9001_TRACKING_CAL_RX_BBDC, ADRV9001_TRACKING_CAL_RX_RFDC, ADRV9001_TRACKING_CAL_RX_QEC_FIC, ADRV9001_TRACKING_CAL_RX_GAIN_CONTROL_DETECTORS",
      "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_PHASE_NOISE",
      "TDD.DmaSync": "False",
      "TDD.TddClock_Hz": "199310000",
      "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_REALTIME_PROCESS",
      "FrequencyHopping.MinFrameDuration_us": "360",
      "FrequencyHopping.PllLockWait_us": "0",
      "FrequencyHopping.PllPhaseSyncWait_us": "0",
      "FrequencyHopping.TransitionTime_us": "60",
      "FrequencyHopping.DynamicTableLoad": "False",
      "FrequencyHopping.NumberOfRowsToLoad": "ADRV9001_FH_HOP_PER_DYNAMIC_LOAD_ONE",
      "FrequencyHopping.ZeroIf": "False",
      "FrequencyHopping.MinOperatingFrequency_Hz": "0",
      "FrequencyHopping.MaxOperatingFrequency_Hz": "0",
      "FrequencyHopping.MaxRxGainIndex": "0",
      "FrequencyHopping.MinRxGainIndex": "0",
      "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": "False",
      "FfhTableA.FileName": "",
      "FfhTableB.Enabled": "False",
      "FfhTableB.FileName": "",
      "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": "False",
      "FrequencyHopping.TableSwitchSequence1.Switches": "[]",
      "FrequencyHopping.TableSwitchSequence1.FileName": "",
      "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": ""
    }

    My question is:

    1.If this profile setting allows TES to control transmission, can the same profile be used for no-OS as well?

    2.Since I can't configure a profile exactly the same as no-OS, could you provide the no-OS session? I would like to use it as a basis for modifications.

    Thanks,

    John

  • Hi ,

    1. Yes, you should use the profile working with TES for no-OS. This has to be combined with the .bin files generated by TES for the same profile.

    2. You can generate the no-OS profile header files using the following script in the project folder: https://github.com/analogdevicesinc/no-OS/blob/main/projects/adrv9001/scripts/json2cstring

    Regards,

    George

  • Hi  ,

    Could you provide a no-OS .taxidi file that I can load the session and make modifications to?

    Thanks,

    John

  • hi  ,

    The current situation is that with the same profile and Stream.h, the UART does not show any errors, but TES can transmit while no-OS cannot. Could you suggest points to check?

    Thanks,

    John

  • Hi,

    You should look for API calls that help you debug the issue. A staring point would be the functions in the following file:

    https://github.com/analogdevicesinc/no-OS/blob/main/drivers/rf-transceiver/navassa/devices/adrv9001/public/include/adi_adrv9001_radio.h

    You should also make sure that your TES version is the same with the one in the no-OS repository (printed as a UART message when running the applictation).

    Regards,

    George

  • Hi   

    I am working on same approach.

    I have generated Sample Code in C using TES in Demo mode and replaced the default profiles in the adrv9002_init_data.c file. there were some issue with this generated profile from TES I made update according to the default profile and run. 

    It run successfully but have some issue with its working,

    1. at adc  integerated ILA to observe the receiving signal. I observed it only shows input signal at q0, and q1 instead of i0,q0.