def Set_IQR_Trig_Timeout(self, iTime): """Trigger Timeout, sec""" self.write(f'TRIGger:GPRF:MEAS:IQRecorder:TOUT {iTime}') def Set_IQR_Trig_MinGap(self, iTime): """Trigger Timeout, sec""" self.write(f'TRIGger:GPRF:MEAS:IQRecorder:MGAP {iTime}') def Set_IQR_Units(self, sUnit): """VOLT (Float32) | RAW""" self.write(f'CONFigure:GPRF:MEAS:IQRecorder:MUNit {sUnit}') ############################################################################### ### Run if Main ############################################################################### if __name__ == "__main__": ### this won't be run when imported CMP = RCT() CMP.jav_Open("192.168.1.160") # CMP.Set_IQR_timeout(1) # CMP.Init_Meas_IQCapture() # CMP.Set_IQR_Time(0.0125) # CMP.Set_IQR_SamplingRate(245.76) print(CMP.Get_IQR_data_ASCII()[0:50]) rd = (CMP.Get_IQR_data_Bin()) print(rd) CMP.jav_ClrErr() CMP.jav_Close()
def test_RCT_Common(self): from rssd.RCT.Common import RCT #pylint:disable=E0611,E0401 self.CMW = RCT() self.assertEqual(self.CMW.Model,"CMW-GPRF")
print('Error Set_5GNR_TransPrecoding') def Set_5GNR_Trigger_Source(self, source): """ string 'Free Run (Fast Sync)' 'Free Run (No Sync)' 'IF Power' """ self.write(f':TRIG:NRMM:MEAS:MEV:SOUR "{source}"') def Set_5GNR_Stop(self): self.write(f'STOP:NRMM:MEAS:MEV STOP') #RDY state ############################################################################### ### Run if Main ############################################################################### if __name__ == "__main__": ### this won't be run when imported CMP = RCT() CMP.jav_Open("192.168.1.160") CMP.Set_5GNR_Path('P1.RRH.RF1') CMP.Set_5GNR_Freq(28e9) CMP.Set_5GNR_ExpPwr(-9) CMP.Set_5GNR_UserMargin(13) CMP.Set_5GNR_PhaseCompensate_Freq(28e9) CMP.Set_5GNR_BWP_Frame_Periodicity('2') CMP.Set_5GNR_BWP_Frame_SlotConfig(0, 0, 8, 0) CMP.Set_5GNR_ChannelBW(100) CMP.Set_5GNR_CellID(1) CMP.Set_5GNR_BWP_Ch_DMRS_1stDMRSSym(2) # CMP.Set_5GNR_NumBWP() CMP.write(f'CONF:NRMM:MEAS:CC{CMP.cc}:BWP BWP0, {CMP.scs}, NORM, 66, 0' ) #SCS; NORM; RB; RBO CMP.write(f'CONF:NRMM:MEAS:CC{CMP.cc}:BWP:PUSC:DMTA BWP0, 1, 2, 1'
return rdStr def Set_Meas_RefLevl(self,fRefLvl): #Val ### ENP = Expected Nominal Power self.write(f'CONF:GPRF:MEAS:RFS:ENP {fRefLvl}') def Set_Meas_Span(self,fFreq): """ 10; 20; 40; 80; 160; 250; 500; 1000 MHz allowed """ self.write(f'CONF:GPRF:MEAS:FFTS:FSP {fFreq}') def Set_Meas_SweepTime(self,fTime): if fTime > 0: self.write(f'CONF:GPRF:MEAS:SPEC:FSW:SWT {fTime}') else: self.write(f'CONF:GPRF:MEAS:SPEC:FSW:SWT:AUTO ON') def Set_Meas_UserMargin(self,fPwr): """User Margin (Crest Factor)""" self.write(f'CONFigure:GPRF:MEAS:RFSettings:UMARgin {fPwr}') ############################################################################### ### Run if Main ############################################################################### if __name__ == "__main__": ### this won't be run when imported CMW = RCT() CMW.jav_Open("192.168.1.160") pwr = CMW.Get_Meas_FFT_Power() print(pwr) # CMW.Set_Meas_Autolevel() CMW.jav_Close()
def setUp(self): #run before each test self.CMP = RCT().jav_OpenTest(host)
class TestGeneral(unittest.TestCase): def setUp(self): #run before each test self.CMP = RCT().jav_OpenTest(host) def tearDown(self): #Run after each test self.assertEqual(self.CMP.jav_Error()[0], '0') self.CMP.jav_Close() ############################################################################### ### <Test> ############################################################################### def test_RCT_Ex_GenArb(self): self.CMP.Init_Gen() self.CMP.Set_Gen_Port('P1.IFOut') self.CMP.Set_Gen_Port_State('ON') self.CMP.Set_Gen_Freq(6e9) self.CMP.Set_Gen_RFPwr(-50) self.CMP.Set_Gen_Mode('ARB') self.CMP.Set_Gen_ArbWv('Test.wv') self.CMP.Set_Gen_ArbExec() self.CMP.Set_Gen_RFState('ON') def test_RCT_Ex_GenCW(self): self.CMP.Init_Gen() self.CMP.Set_Gen_Port('P1.IFOut') self.CMP.Set_Gen_Port_State('ON') self.CMP.Set_Gen_Freq(6e9) self.CMP.Set_Gen_RFPwr(-50) self.CMP.Set_Gen_Mode('CW') self.CMP.Set_Gen_RFState('ON') def test_RCT_Ex_GenListMode(self): self.CMP.Init_Gen() self.CMP.Set_Gen_Port('P1.IFOut') self.CMP.Set_Gen_Port_State('ON') self.CMP.Set_Gen_Freq(6e9) self.CMP.Set_Gen_RFPwr(-50) self.CMP.Set_Gen_ListMode('ON') self.CMP.Set_Gen_RFState('ON') self.CMP.Set_Gen_ListMode('OFF') def test_RCT_Ex_MeasFFT(self): self.CMP.Init_Meas_FFT() self.CMP.Set_Meas_Freq(6e9) self.CMP.Set_Meas_Port('P1.IFIn') self.CMP.Set_Meas_Autolevel() # self.CMP.Set_Meas_RefLevl(-10) # self.CMP.Set_Meas_UserMargin(0) self.CMP.Set_Meas_RFBW(10e6) self.CMP.Set_Meas_Span(100e6) def test_RCT_Ex_MeasPwr(self): self.CMP.Init_Meas_Power() self.CMP.Set_Meas_Freq(6e9) self.CMP.Set_Meas_UserMargin(0) self.CMP.Set_Meas_Expected_Nom_Power(0) self.CMP.Set_Meas_TriggerSource('IF Power') self.CMP.Set_Meas_TriggerThreshold(-10) self.CMP.Set_Meas_TriggerThreshold(-40) self.CMP.Set_Meas_Pwr_MLength(100e-6) self.CMP.Set_Meas_RFBW(100e6) self.CMP.Get_Meas_Power() def test_RCT_Get_Gen(self): self.CMP.Get_Gen_ArbWv() self.CMP.Get_Gen_Freq() self.CMP.Get_Gen_Mode() self.CMP.Get_Gen_Port() def test_RCT_Get_Meas(self): self.CMP.Get_Meas_Port() def test_RCT_System(self): self.CMP.Get_Options() self.CMP.Init_Syst()
"""ExpPwr = Range + ExtAttn - UserMargin range: -10 to 10 units: dB """ self.write(f'CONF:NRMM:MEAS:RFS:MLOF {pwr}') def Set_5GNR_PhaseComp(self,state,freq): """ State: OFF | CAF | UDEF Freq : Hz""" self.write(f'CONF:NRMM:MEAS:MEV:PCOM {state},{freq}') def Set_5GNR_Periodicity(self,period): """ Period: 05 | 0625 | 1 | 125 | 2 | 25 | 5 | 10 """ self.write(f'CONF:NRMM:MEAS:ULDL:PER MS{period}') def Set_5GNR_UserMargin(self, pwr): """ExpPwr = Range + ExtAttn - UserMargin units: dB """ self.write(f'CONF:NRMM:MEAS:RFS:UMAR {pwr} DB') ############################################################################### ### Run if Main ############################################################################### if __name__ == "__main__": ### this won't be run when imported CMW = RCT() CMW.jav_Open("192.168.1.160") CMW.Init_Syst() print(CMW.Get_5GNR_EVM()) CMW.jav_Close()
return rdStr def Set_Meas_RefLevl(self,fRefLvl): #Val ### ENP = Expected Nominal Power self.write(f'CONF:GPRF:MEAS:RFS:ENP {fRefLvl}') def Set_Meas_Span(self,fFreq): """ 10; 20; 40; 80; 160; 250; 500; 1000 MHz allowed """ self.write(f'CONF:GPRF:MEAS:FFTS:FSP {fFreq}') def Set_Meas_SweepTime(self,fTime): if fTime > 0: self.write(f'CONF:GPRF:MEAS:SPEC:FSW:SWT {fTime}') else: self.write(f'CONF:GPRF:MEAS:SPEC:FSW:SWT:AUTO ON') def Set_Meas_UserMargin(self,fPwr): """User Margin (Crest Factor)""" self.write(f'CONFigure:GPRF:MEAS:RFSettings:UMARgin {fPwr}') ############################################################################### ### Run if Main ############################################################################### if __name__ == "__main__": ### this won't be run when imported CMW = RCT() CMW.jav_Open("192.168.1.160") pwr = CMW.Set_Gen_ArbWv('OneTone.mat.wv') print(pwr) # CMW.Set_Meas_Autolevel() CMW.jav_Close()