######################## #ADI Demo Python Script ######################## #Import Reference to the DLL import clr import System import time clr.AddReferenceToFileAndPath("C:\\Program Files (x86)\\Analog Devices\\ADRV9009 Transceiver Evaluation Software\\AdiCmdServerClient.dll") from AdiCmdServerClient import AdiCommandServerClient from AdiCmdServerClient import Talise from AdiCmdServerClient import FpgaTalise from AdiCmdServerClient import Enums from System import Array import AdiCmdServerClient #Create an Instance of the Class Link = AdiCommandServerClient.Instance #Connect to the Zynq Platform if(Link.hw.Connected == 1): Connect = 0 else: Connect = 1 Link.hw.Connect("192.168.1.10", 55555) print Link.Version() ##################################################################### #Frequency hopping config, this can be set in radio off state only #################################################################### Link.Talise.RadioOff() Fhm_Config = Link.Talise.FhmConfig() Fhm_Config.FhmGpioPin = AdiCmdServerClient.GpioSel.TAL_GPIO_INVALID #TAL_GPIO_04 #TAL_GPIO_INVALID Fhm_Config.FhmMinFreq_MHz = 300 Fhm_Config.FhmMaxFreq_MHz = 6000 Link.Talise.SetFhmConfig(Fhm_Config) Link.Talise.RadioOn() ##################################################################### #Frequency hopping mode setup, this can be called in radio on state #################################################################### Fhm_Mode = Link.Talise.FhmMode() Fhm_Mode.FhmEnable = 1 Fhm_Mode.EnableMcsSync = 1 Fhm_Mode.FhmTriggerMode = Talise.FhmTriggerMode.FhmNonGpioMode #FhmGpioMode, FhmNonGpioMode Fhm_Mode.FhmExitMode = Talise.FhmExitMode.FhmFullExit #FhmQuickExit, FhmFullExit Fhm_Mode.FhmInitFrequency_Hz = 300000000 Link.Talise.SetFhmMode(Fhm_Mode) #################################################################### #Read back the service frequency before starting frequency hopping #################################################################### init_freq = 0 init_freq = Link.Talise.GetRfPllFrequency(Link.Talise.PllName.RfPll , 0) ##################################################################### #Frequency hopping frequency set and can call any nymber of hopps #################################################################### ''' #Link.Talise.SetFhmHop(300000000) time.sleep(5) print Link.Talise.GetFhmRfPllFrequency(0) Link.Talise.SetFhmHop(500000000) time.sleep(5) print Link.Talise.GetFhmRfPllFrequency(0) Link.Talise.SetFhmHop(700000000) time.sleep(5) print Link.Talise.GetFhmRfPllFrequency(0) Link.Talise.SetFhmHop(900000000) time.sleep(5) print Link.Talise.GetFhmRfPllFrequency(0) Link.Talise.SetFhmHop(1100000000) time.sleep(5) print Link.Talise.GetFhmRfPllFrequency(0) Link.Talise.SetFhmHop(130000000) time.sleep(5) print Link.Talise.GetFhmRfPllFrequency(0) ''' for i in range(0,100,1): Link.Talise.SetFhmHop(300000000) Link.Talise.SetFhmHop(6000000000) Link.Talise.SetFhmHop(300000000) ################################################################################################################### #Frequency hopping mode disable, make sure to disable after FHM as the RFPLL loop filter BW is restored to default. ################################################################################################################### Fhm_Mode.FhmEnable = 0 Link.Talise.SetFhmMode(Fhm_Mode) ######################################## #configure back the service frequency ######################################## Link.Talise.RadioOff() Link.Talise.SetRfPllFrequency(Link.Talise.PllName.RfPll , init_freq ) Link.Talise.RadioOn() #Disconnect from the Zynq Platform if(Connect == 1): Link.hw.Disconnect()