class TestGeneral(unittest.TestCase): def setUp(self): #run before each test self.SMW = VSG() try: self.SMW.jav_Open(host, prnt=0) self.SMW.jav_Reset() self.SMW.jav_ClrErr() self.SMW.dLastErr = "" except: self.assertTrue(1) def tearDown(self): #Run after each test self.SMW.jav_Close() ############################################################################### ### <Test> ############################################################################### def test_SMW_Connect(self): self.SMW.jav_IDN(prnt=0) self.assertEqual(self.SMW.Make, "Rohde&Schwarz") def test_SMW_Freq(self): frq = 1e6 self.SMW.Set_Freq(frq) rdFrq = self.SMW.Get_Freq() self.assertEqual(self.SMW.jav_Error()[0], '0') self.assertEqual(frq, rdFrq) def test_SMW_Pwr(self): pwr = -10 self.SMW.Set_RFPwr(pwr) rdPwr = self.SMW.Get_PowerRMS() self.assertEqual(self.SMW.jav_Error()[0], '0') self.assertEqual(pwr, rdPwr)
class VST(object): def __init__(self): self.Freq = 19e9 def jav_Open(self, SMW_IP, FSW_IP, OFile=''): self.SMW = VSG().jav_Open(SMW_IP, OFile) #Create SMW Object self.FSW = VSA().jav_Open(FSW_IP, OFile) #Create FSW Object return self def jav_Close(self): self.SMW.jav_Close() self.FSW.jav_Close() def jav_ClrErr(self): self.SMW.jav_ClrErr() self.FSW.jav_ClrErr() def Set_Freq(self, freq): self.SMW.Set_Freq(freq) self.FSW.Set_Freq(freq)
class VST(object): """ Rohde & Schwarz Vector Signal Transceiver Object """ def __init__(self): self.Freq = 19e9 def jav_Open(self,SMW_IP,FSW_IP,OFile=''): self.SMW = VSG().jav_Open(SMW_IP,OFile) #Create SMW Object self.FSW = VSA().jav_Open(FSW_IP,OFile) #Create FSW Object return self def jav_Close(self): self.SMW.jav_Close() self.FSW.jav_Close() def jav_ClrErr(self): self.SMW.jav_ClrErr() self.FSW.jav_ClrErr() def Set_Freq(self,freq): self.SMW.Set_Freq(freq) self.FSW.Set_Freq(freq)
########################################################## ### Make Measurement ########################################################## for Freq in FreqArry: ### Set Frequency SMW.Set_Freq(Freq) FSW.Set_Freq(Freq + 50e6) VSE.Set_Freq(0) for Pwr in PwrArry: ### Set Power SMW.Set_RFPwr(Pwr) #FSW.Set_Autolevel_IFOvld() #Maximize Dynamic Range ### Measure EVM FSW.Get_IQ_Data(IQFile) #Save IQ Data to file VSE.Set_InitImm() #Update VSE EVM_Meas = VSE.Get_EVM_Params() #Attn; RefLvl; Pwr; EVM f.write(EVM_Meas) VSE.jav_ClrErr() #Clear Errors #end PwrLoop #end FreqLoop ########################################################## ### Cleanup Automation ########################################################## SMW.jav_Close() FSW.jav_Close() VSE.jav_Close()
#WLAN-->Frame Blocks-->TxMode sStd.upper() if sStd == 'B': self.write(f':SOUR:BB:WLNN:FBL1:PMOD LEG') #Set Physical Mode self.write(f':SOUR:BB:WLNN:FBL1:TMOD CCK') elif sStd == 'G' or sStd == 'A': self.write(f':SOUR:BB:WLNN:FBL1:PMOD LEG') #Set Physical Mode self.write(f':SOUR:BB:WLNN:FBL1:TMOD L{self.WLAN_ChBW}') elif sStd == 'N': self.write(f':SOUR:BB:WLNN:FBL1:PMOD MIX') #Set Physical Mode self.write(f':SOUR:BB:WLNN:FBL1:TMOD HT{self.WLAN_ChBW}') elif sStd == 'AC': self.write(f':SOUR:BB:WLNN:FBL1:PMOD MIX') #Set Physical Mode self.write(f':SOUR:BB:WLNN:FBL1:TMOD V{self.WLAN_ChBW}') elif sStd == 'AX': self.write(f':SOUR:BB:WLNN:FBL1:PMOD MIX') #Set Physical Mode self.write(f':SOUR:BB:WLNN:FBL1:TMOD HE{self.WLAN_ChBW}') else: print(f'Set_WLAN_Standard: {sStd} not supported') ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported WLAN = VSG() WLAN.jav_Open("192.168.1.114") print(WLAN.Get_WLAN_Standard()) WLAN.jav_Close()