Post Go back to editing

ADRV-DPD1/PCBZ ADL5335 DGA Python API Function

We are using ADRV-DPD1/PCBZ API RF card with AD9375.  The RF card includes ADL5335 DGA (Digital Gain Amplifier)  with  digitally controlled attenuator mounted on it . It is possible to control that attenuator with both API Python function or GUI. I have tried both, I can control the attenuator (and gain)  through the GUI properly (please see GUI screen below)  with the set button.

However, when I use the API function  to arrange attenuator value  (  from GUI log file given as python code below  ) with Python or MATLAB,  I get the error  “Exception: adl5335_setAttenuation: Error. DGA Not Initialized.” 

I am sure DGA is working and initialized , since I see the waveform on the Spectrum Analyzer screen.   The function  I mentioned  is  “Link.ADl5335.setAttenuation(0,0,0,0)” .  Why might I get the DGA  error, can you help us with this issue ?

 

Thank you,

########################
#ADI Demo Python Script
########################
#Gui Version:0.4.2	DLL Version:1.5.1.3568	Fpga Version:46010200 ArmVersion: 5.1.1

#Import Reference to the DLL
import System
from System import Array
from System import Int16
from System import UInt32
from System import Byte
from System import SByte
import time
import clr
clr.AddReferenceToFileAndPath("C:\\Program Files (x86)\\Analog Devices\\Small Cell Evaluation Software\\AdiCmdServerClient.dll")
from AdiCmdServerClient import AdiCommandServerClient
from AdiCmdServerClient import Enums
from AdiCmdServerClient import MykDpdConfig
from AdiCmdServerClient import MykClgcConfig
from AdiCmdServerClient import MykVswrConfig
from AdiCmdServerClient import TddFsmParameters_us
from AdiCmdServerClient import MykonosProfileData
from AdiCmdServerClient.AD9528 import AD9528Settings

#Create an Instance of the Class
Link = AdiCommandServerClient.Instance
Mykonos = AdiCommandServerClient.Instance.Mykonos
FpgaMykonos = AdiCommandServerClient.Instance.FpgaMykonos

#Connect to the Zynq Platform
#Connect to the Zynq Platform
if(Link.hw.Connected == 1):
    Connect = 1
else:
	Connect = 0
	Link.hw.Connect("Unknown", Unknown)
   
Link.Mykonos.getGpio3v3SetLevel(63)
Link.Mykonos.setGpio3v3PinLevel(47)
Link.Mykonos.getGpio3v3SetLevel(47)
Link.Mykonos.setGpio3v3PinLevel(63)
Link.Mykonos.getGpio3v3SetLevel(63)
Link.Mykonos.setGpio3v3PinLevel(62)
Link.Adl5335.setAttenuation(0, 10, 0)
Link.Adl5335.setAttenuation(0, 3, 0)
Link.Mykonos.getGpio3v3SetLevel(62)
Link.Mykonos.setGpio3v3PinLevel(63)
Link.Adl5335.setAttenuation(0, 3, 0)


#Read the Version
print Link.version()

#Disconnect from the Zynq Platform
if(Connect == 0):
    Link.hw.Disconnect()