import gc from mDevice import Device import resourceFiles reload(resourceFiles) import HSCEngines reload(HSCEngines) import HSCProcesses reload(HSCProcesses) from HSCEngines import HSCEngineWithILDDCDGC from HSCProcesses import HSCProcessWithILDDCDGC from mConnect import Connect if boardType not in ["AFE79FMC"]: try: import mPowerCard reload(mPowerCard) from mPowerCard import PowerCard pc = PowerCard(tag = "Power Card", addr = usbHandleName+" D", Board_num = boardType) pc.reset = True pc.defaults = True except: pc=None pass else: pc = None if simulationMode==False: if boardType not in ["AFE79FMC"]: if not useMpsse: adcregProg.addressLen=16 adcregProg.packetLen = 24 adcregProg.pin0 = 0 adcregProg.pin1 = 1 adcregProg.pin2 = 6 adcregProg.pin3 = 2 adcregProg.pin4 = 4 adcregProg.pin5 = 4 adcregProg.pin6 = 4 adcregProg.pin7 = 4 adcregProg.clkEdge=1 adcregProg.msbFirst = 1 lmkregProg.addressLen=16 lmkregProg.packetLen = 24 lmkregProg.pin0 = 5 lmkregProg.pin1 = 5 lmkregProg.pin2 = 5 lmkregProg.pin3 = 5 lmkregProg.pin4 = 6 lmkregProg.pin5 = 2 lmkregProg.pin6 = 0 lmkregProg.pin7 = 1 lmkregProg.msbFirst = 1 lmkregProg.clkEdge = 1 if cpldInstalled: cpldRegProg.addressLen=16 cpldRegProg.packetLen = 24 cpldRegProg.pin0 = 5 cpldRegProg.pin1 = 5 cpldRegProg.pin2 = 5 cpldRegProg.pin3 = 5 cpldRegProg.pin4 = 0 cpldRegProg.pin5 = 1 cpldRegProg.pin6 = 6 cpldRegProg.pin7 = 2 cpldRegProg.msbFirst = 1 cpldRegProg.clkEdge = 1 cRegProg.pin2 = 5 else: lmkregProg.addressLen=16 lmkregProg.packetLen = 24 lmkregProg.pin0 = 5 lmkregProg.pin1 = 5 lmkregProg.pin2 = 2 lmkregProg.pin3 = 0 lmkregProg.pin4 = 1 lmkregProg.pin5 = 6 lmkregProg.pin6 = 5 lmkregProg.pin7 = 5 lmkregProg.msbFirst = 1 lmkregProg.clkEdge = 1 try: import j58Wrapper reload(j58Wrapper) from j58Wrapper import j58WrapperClass myfpga=j58WrapperClass() if boardType in ["AFE79FMC"]: from j58Wrapper import j58SpiWrapper myfpgaSpi = j58SpiWrapper(myfpga) else: myfpgaSpi = "" except: error("Reset the FPGA and rerun devInit.py") raise else: try: import j58Wrapper reload(j58Wrapper) from j58Wrapper import j58WrapperClass myfpga=j58WrapperClass() except: myfpga="" myfpgaSpi="" import mAfe78xxDeviceWrapper reload(mAfe78xxDeviceWrapper) import mlmkDevice reload(mlmkDevice) import globalDefs as Globals import mCpld reload(mCpld) if boardType not in ["AFE79FMC"]: device=mAfe78xxDeviceWrapper.afe78xxDeviceWrapper(fileName=Globals.libFolderPath+"//"+"resourceFiles//"+Afe79xxLibraries.folderDirDict[folderName]['dmlName'],regProgDevice=adcregProg,name='DONOT_OPEN_Atharv_FULL') else: device=mAfe78xxDeviceWrapper.afe78xxDeviceWrapper(fileName=Globals.libFolderPath+"//"+"resourceFiles//"+Afe79xxLibraries.folderDirDict[folderName]['dmlName'],regProgDevice=myfpgaSpi,name='DONOT_OPEN_Atharv_FULL') lmk=mlmkDevice.LMK(name="LMK Clock Divider",fileName=Globals.libFolderPath+"//resourceFiles//"+"LMK04828_form_new.dml",regProgDevice=lmkregProg) lmk.setResetProperty(lmk.head.page.System.Top_Modes._SW_RESET) print("LMK configured") if boardType not in ["AFE79FMC"]: cpld=Device(fileName=Globals.libFolderPath+"//"+"resourceFiles//EvmCpld.dml",regProgDevice=cpldRegProg,name='CPLD') cpld.logEn=False else: cpld = None lmk.logEn=False #### clk sources clkSource.frequency=2e9 clkSource.amplitude=10 clkSource.on=1 DevClkSource.frequency=491.52e6 DevClkSource.amplitude=10 DevClkSource.on=1 process=HSCProcessWithILDDCDGC() engine=HSCEngineWithILDDCDGC(device=myfpga,process=process,clockVariable=clkSource._frequency,inputVariable=sigSource._frequency) if simulationMode==True or useMpsse==True: device.delay=0 else: device.delay=0.015 myfpga.byte_swap=0 import mLogDump reload(mLogDump) logDumpInst=mLogDump.logDump(ASTERIX_DIR+DEVICES_DIR+r"\AFE79xxConfig.txt") device.logClassInst=logDumpInst from mSetupParams import setupParams from mSetupParams import fpgaParamsClass fpgaParams=fpgaParamsClass() from mSetupParams import lmkParamsClass lmkParams=lmkParamsClass() import mLmk reload(mLmk) from mLmk import lmkLib LMKlibInst=lmkLib(lmk,lmkParams) import mFPGA_J58 reload(mFPGA_J58) from mFPGA_J58 import fpgaLib_J58 FPGAlibInst=fpgaLib_J58(myfpga,fpgaParams) import mAfeCTestWrapper reload(mAfeCTestWrapper) from mAfeCTestWrapper import afeCTestWrapper CAFE=afeCTestWrapper(device,usbHandleName+" A",device.regProgDevice,"libCAfe79xxPG1px.dll") CAFE.dllInst.init_tiAfe79DeviceInfo_t() CAFE.setAfeLogLvl(0,3) if simulationMode==True: CAFE.dllInst.setAfeLibsRunMode(1) else: CAFE.dllInst.setAfeLibsRunMode(0) setupParams.CAFE=CAFE setupParams.fpgaLib=FPGAlibInst setupParams.FPGA=FPGAlibInst setupParams.lmkLib=LMKlibInst setupParams.simulationMode=simulationMode setupParams.cpldRegs=cpld setupParams.process=process setupParams.engine=engine setupParams.boardType=boardType import mFuncDecorator reload(mFuncDecorator) from mFuncDecorator import * def loadLibs(dutNo=0): import mAfeConstants reload(mAfeConstants) from mAfeConstants import * import mAfeParameters reload(mAfeParameters) from mAfeParameters import systemParams from mAfeParameters import systemStatus import mAfeLibrary reload(mAfeLibrary) from mAfeLibrary import afe78xxLibrary device1Refs=deviceRefs() sysParams=systemParams() sysStatus=systemStatus() sysParams.chipId=chipId sysParams.chipVersion=chipVersion device1Refs.device=device device1Refs.process=process device1Refs.lmkRegs=lmk device1Refs.engine=engine device1Refs.systemParams=sysParams device1Refs.systemStatus=sysStatus device1Refs.lmkParams=lmkParams device1Refs.fpgaRegs=myfpga device1Refs.hwResetPin=cRegProg afeInst=afe78xxLibrary(device1Refs,dutNo) afeInst.FPGA=FPGAlibInst afeInst.LMK=LMKlibInst setupParams.dutInstances=[afeInst,] if dutNo==0: import mCpld reload(mCpld) from mCpld import cpldLib CPLDLibInst=cpldLib(cpld,sysStatus) setupParams.CPLD=CPLDLibInst return (sysParams,sysStatus,afeInst) (sysParams,sysStatus,AFE)=loadLibs() try: import iGuiPage # try: import globalDefs as Globals imlFile=open(Globals.libFolderPath+r"\\resourceFiles\\afeiGui\\iGuiTree.iml",'r') imlFileLines= imlFile.readlines() imlFile.close() lineNo=0 for line in imlFileLines: line=line.replace("path=","path =") line=line.replace(r"'",r'"') if "path =" in line: line=line[:line.find("path =")]+'path = "'+ Globals.libFolderPath+"\\"+line[line.find("resourceFiles"):] # line=line.replace(pathInLine.group(1)[:pathInLine.group(1).rfind('\\')],"path = '"+Globals.libFolderPath.replace(r'/',r'\\')+r"\\resourceFiles\\afeiGui\\") imlFileLines[lineNo]=line lineNo+=1 imlFile=open(Globals.libFolderPath+r"\\resourceFiles\\afeiGui\\iGuiTree.iml",'w') imlFile.writelines(imlFileLines) imlFile.close() from iGui import iGui import afeiGui reload(afeiGui) import afeiGui.mAfe79xxJesdTxCode reload(afeiGui.mAfe79xxJesdTxCode) from afeiGui.mAfe79xxJesdTxCode import afe79xxJesdTxiGui import afeiGui.mAfe79xxJesdRxCode reload(afeiGui.mAfe79xxJesdRxCode) from afeiGui.mAfe79xxJesdRxCode import afe79xxJesdRxiGui import afeiGui.mAfe79xxSysParamCode reload(afeiGui.mAfe79xxSysParamCode) from afeiGui.mAfe79xxSysParamCode import afe79xxSystemParamsiGui import afeiGui.mAfe79xxGpioFinalMapGuiCode reload(afeiGui.mAfe79xxGpioFinalMapGuiCode) import afeiGui.mAfeGuiConstants reload(afeiGui.mAfeGuiConstants) from afeiGui.mAfeGuiConstants import afeGuiConstants import afeiGui.mAfeGuiController reload(afeiGui.mAfeGuiController) from afeiGui.mAfeGuiController import afeGuiControllerClass import afeiGui.mAfe79xxPllCode reload(afeiGui.mAfe79xxPllCode) from afeiGui.mAfe79xxPllCode import afe79xxPlliGui import afeiGui.mAfe79xxPowerCardiGui reload(afeiGui.mAfe79xxPowerCardiGui) from afeiGui.mAfe79xxPowerCardiGui import afe79xxPowerCardiGui import afeiGui.mAfe79xxFpgaCpldiGui reload(afeiGui.mAfe79xxFpgaCpldiGui) from afeiGui.mAfe79xxFpgaCpldiGui import afe79xxFpgaCpldiGui import afeiGui.mAfe79xxPapandAlarmiGui reload(afeiGui.mAfe79xxPapandAlarmiGui) from afeiGui.mAfe79xxPapandAlarmiGui import afe79xxPapandAlarmiGui import afeiGui.mAfe79xxagciGui reload(afeiGui.mAfe79xxagciGui) from afeiGui.mAfe79xxagciGui import afe79xxAgciGui import afeiGui.mAfe79xxncoiGui reload(afeiGui.mAfe79xxncoiGui) from afeiGui.mAfe79xxncoiGui import afe79xxncoiGui from mAfeConstants import gpioConstants import afeiGui.mLmkGuiWrapper reload(afeiGui.mLmkGuiWrapper) import afeiGui.mAfe79xxTopSimplified reload(afeiGui.mAfe79xxTopSimplified) from afeiGui.mAfe79xxTopSimplified import afe79xxtopSimplified import afeiGui.mAfeGuiConstants reload(afeiGui.mAfeGuiConstants) from afeiGui.mAfeGuiConstants import afeGuiConstants import afeiGui.mAfe79xxConfig reload(afeiGui.mAfe79xxConfig) from afeiGui.mAfe79xxConfig import afe79xxConfig from afeiGui.mLmkGuiWrapper import lmkGuiWrapperClass lmkClassGui=lmkGuiWrapperClass() lmkClassGui.lmk=lmk afeGuiConstantsInst=afeGuiConstants() afeGuiConstantsInst.setupParams=setupParams afeGuiController=afeGuiControllerClass(AFE,gpioConstants,afeGuiConstantsInst) afeGuiConstantsInst.guiControllerInstance=afeGuiController configiGuiClass = afe79xxConfig(libInstance = AFE,afeGuiConstantsInst=afeGuiConstantsInst) afeGuiConstantsInst.configiGuiInst = configiGuiClass gpioStatusiGuiClass = afeiGui.mAfe79xxGpioFinalMapGuiCode.gpioMap(libInstance =AFE, afeGuiConstantsInst=afeGuiConstantsInst,cpld=cpld) afeGuiConstantsInst.gpioStatusiGuiClassInst = gpioStatusiGuiClass topSimplifiediGuiClass = afe79xxtopSimplified(libInstance = AFE,afeGuiConstantsInst=afeGuiConstantsInst) afeGuiConstantsInst.topSimplifiediGuiInst = topSimplifiediGuiClass sysParamsiGuiClass = afe79xxSystemParamsiGui( libInstance = AFE,afeGuiConstantsInst= afeGuiConstantsInst) afeGuiConstantsInst.sysParamInst = sysParamsiGuiClass jesdTxiGuiClass = afe79xxJesdTxiGui(libInstance = AFE,afeGuiConstantsInst=afeGuiConstantsInst) afeGuiConstantsInst.jesdTxiGuiClassInst = jesdTxiGuiClass jesdRxiGuiClass = afe79xxJesdRxiGui(libInstance = AFE,afeGuiConstantsInst=afeGuiConstantsInst) afeGuiConstantsInst.jesdRxiGuiClassInst = jesdRxiGuiClass plliGuiClass = afe79xxPlliGui(libInstance = AFE ,afeGuiConstantsInst= afeGuiConstantsInst) afeGuiConstantsInst.plliGuiClassInst=plliGuiClass papandAlarmiGuiClass=afe79xxPapandAlarmiGui(libInstance = AFE,afeGuiConstantsInst=afeGuiConstantsInst) afeGuiConstantsInst.papandAlarmiGuiClassInst=papandAlarmiGuiClass ncoControliGuiClass=afe79xxncoiGui(libInstance = AFE, afeGuiConstantsInst=afeGuiConstantsInst) afeGuiConstantsInst.ncoControliGuiClassInst=ncoControliGuiClass agcAndAlciGuiClass=afe79xxAgciGui(libInstance = AFE, afeGuiConstantsInst=afeGuiConstantsInst) afeGuiConstantsInst.agcAndAlciGuiClassInst=agcAndAlciGuiClass fpgaCpldiGuiClass = afe79xxFpgaCpldiGui(libInstance = AFE, afeGuiConstantsInst=afeGuiConstantsInst, fpga=myfpga) afeGuiConstantsInst.fpgaCpldiGuiClass=fpgaCpldiGuiClass afeGuiConstantsInst.powerCardInst = pc powerCardiGuiClass = afe79xxPowerCardiGui(libInstance = AFE,afeGuiConstantsInst=afeGuiConstantsInst,pc = pc) afe79xxiGui= iGui(fileName = Globals.libFolderPath+"//resourceFiles//"+r"\\afeiGui\iGuiTree.iml") afeGuiController.updateObjectsFunc() afe79xxiGui.show() configiGuiClass._partnumber.setValue(1) configiGuiClass._partnumber.gui.widgets[1].combo.setDisabled(1) topSimplifiediGuiClass._partnumber.setValue(1) topSimplifiediGuiClass._partnumber.gui.widgets[1].combo.setDisabled(1) sysParamsiGuiClass._partnumber.setValue(1) sysParamsiGuiClass._partnumber.gui.widgets[1].combo.setDisabled(1) configiGuiClass.loadExcelData() afeGuiConstantsInst.guiInstance = afe79xxiGui setupParams.afe79xxiGui=afe79xxiGui setupParams.afeGuiConstants=afeGuiConstants Globals.iGuiInstance=[afe79xxiGui.mainWindow] for indexOfSvg in range(len(afe79xxiGui.mainWindow.stackWidget.children())): if type(afe79xxiGui.mainWindow.stackWidget.widget(indexOfSvg)) != iGuiPage.iGuiPage: continue afe79xxiGui.mainWindow.stackWidget.widget(indexOfSvg).svgWidget.setMinimumSize(1600, 900) # sets minimum size for the svg from PySide.QtCore import * configiGuiClass._comments0.setValue(" 1. In HSDC Pro DAC tab, Select AFE79xx_2x2TX_44210, Data Rate = 491.52M.\n 2. In HSDC Pro ADC tab, Select AFE79xx_2x2RX_24410, Data Rate = 245.76M ---> To capture 4 RX channels.\n 3. In HSDC Pro ADC tab, Select AFE79xx_1x2FB_44210, Data Rate = 491.52M ---> To capture 2 FB channels.") configiGuiClass._comments0.gui.widgets[1].valueLabel.setAlignment(Qt.AlignLeft) configiGuiClass._comments0.gui.widgets[1].valueLabel.setAlignment(Qt.AlignVCenter) # configiGuiClass._comments0.gui.widgets[1].valueLabel.setAlignment(Qt.WA_Resized) except: error("Error Loading iGui") mainWindow.restoreSession(PROJECTS_DIR+r"\AFE79xx\bringup\customGui.astx") Connect(process.fftImdParams._fin1,sigSource._frequency,1,1) Connect(process.fftImdParams._fin2,imdSource._frequency,1,1) engine.sampleNo=32768 process.complexfftParam.ignoreBinsAroundFin1AndFin2ForSnr=1 process.complexfftParam.ignoreImdBinsForSnr=1 process.complexfftParam.finSkipBins=200 gc.collect() process.fftParam.snrFreqBandLower=100e6 process.fftParam.finSkipBins=200 lmk.logEn=0 if simulationMode==True or boardType in ['AFE79FMC']: device.delay_time=0 elif useMpsse: device.delay_time=0.005 else: device.delay_time=0.02