|  | 
|  | 1 | +#pylint: disable=trailing-whitespace, line-too-long, bad-whitespace, invalid-name, R0204, C0200 | 
|  | 2 | +#pylint: disable=superfluous-parens, missing-docstring, broad-except, R0801 | 
|  | 3 | +#pylint: disable=too-many-lines, too-many-instance-attributes, too-many-statements, too-many-nested-blocks | 
|  | 4 | +#pylint: disable=too-many-branches, too-many-public-methods, too-many-locals, too-many-arguments | 
|  | 5 | + | 
|  | 6 | +#===================================================================================== | 
|  | 7 | +#This is an example code for RF Explorer RF6GEN Signal Generator python functionality.  | 
|  | 8 | +#Set frequency and power level to generate a frequency SWEEP and CW signal  | 
|  | 9 | +#in RFE6GEN Signal Generator. | 
|  | 10 | +#In order to avoid USB issues, connect only RF Explorer Signal Generator to run this example. | 
|  | 11 | +#It is not suggested to connect RF Explorer Spectrum Analyzer at the same time | 
|  | 12 | +#===================================================================================== | 
|  | 13 | + | 
|  | 14 | +import time | 
|  | 15 | +import RFExplorer | 
|  | 16 | + | 
|  | 17 | + | 
|  | 18 | +#--------------------------------------------------------- | 
|  | 19 | +# global variables and initialization | 
|  | 20 | +#--------------------------------------------------------- | 
|  | 21 | + | 
|  | 22 | +SERIALPORT = None    #serial port data  | 
|  | 23 | +BAUDRATE = 500000 | 
|  | 24 | + | 
|  | 25 | +objRFEGenerator = RFExplorer.RFECommunicator()     #Initialize object and thread | 
|  | 26 | + | 
|  | 27 | +#--------------------------------------------------------- | 
|  | 28 | +# Main processing loop | 
|  | 29 | +#--------------------------------------------------------- | 
|  | 30 | + | 
|  | 31 | +try: | 
|  | 32 | +    #Find and show valid serial ports | 
|  | 33 | +    objRFEGenerator.GetConnectedPorts()     | 
|  | 34 | + | 
|  | 35 | +    #Connect to available port | 
|  | 36 | +    if (objRFEGenerator.ConnectPort(SERIALPORT, BAUDRATE)): | 
|  | 37 | +        #Reset the unit to start fresh | 
|  | 38 | +        objRFEGenerator.SendCommand("r") | 
|  | 39 | +        #Wait for unit to notify reset completed | 
|  | 40 | +        while(objRFEGenerator.IsResetEvent): | 
|  | 41 | +            pass | 
|  | 42 | +        #Wait for unit to stabilize | 
|  | 43 | +        time.sleep(3) | 
|  | 44 | +         | 
|  | 45 | +        #Request RF Explorer Generator configuration | 
|  | 46 | +        objRFEGenerator.SendCommand_RequestConfigData() | 
|  | 47 | +        #Wait to receive configuration and model details | 
|  | 48 | +        while(objRFEGenerator.ActiveModel == RFExplorer.RFE_Common.eModel.MODEL_NONE): | 
|  | 49 | +            objRFEGenerator.ProcessReceivedString(True)    #Process the received configuration | 
|  | 50 | + | 
|  | 51 | +        #If object is a generator, we can continue the example | 
|  | 52 | +        if (objRFEGenerator.IsGenerator()):   | 
|  | 53 | +            #request internal calibration data, if available | 
|  | 54 | +            objRFEGenerator.SendCommand("Cq") | 
|  | 55 | +            objRFE6GENCal = objRFEGenerator.GetRFE6GENCal() #Object to manage the calibration data from generator | 
|  | 56 | +            while (objRFE6GENCal.GetCalSize() < 0):     | 
|  | 57 | +                objRFEGenerator.ProcessReceivedString(True)    #Process the received configuration | 
|  | 58 | +               | 
|  | 59 | +            #----------- Frequency Sweep Test Section ----------- | 
|  | 60 | +            #Set Sweep Setting | 
|  | 61 | +            print("# New SWEEP settings...") | 
|  | 62 | +            objRFEGenerator.RFGenStartFrequencyMHZ = 400    | 
|  | 63 | +            objRFEGenerator.RFGenStopFrequencyMHZ = 450 | 
|  | 64 | +            objRFEGenerator.RFGenSweepSteps = 25 | 
|  | 65 | +            objRFEGenerator.RFGenStepWaitMS = 200 | 
|  | 66 | +            print("SWEEP Settings = Start:" + str(objRFEGenerator.StartFrequencyMHZ) + "MHz" + " - Stop:" + str(objRFEGenerator.StopFrequencyMHZ) + "MHz" +  | 
|  | 67 | +                  " - Steps:" + str(objRFEGenerator.RFGenSweepSteps) + " - Delay:" + str(objRFEGenerator.RFGenStepWaitMS) + "ms" + " - Power:" + str(objRFEGenerator.GetSignalGeneratorEstimatedAmplitude(objRFEGenerator.RFGenCWFrequencyMHZ)) + "dBm") | 
|  | 68 | +            #Start Frequency Sweep | 
|  | 69 | +            objRFEGenerator.SendCommand_GeneratorSweepFreq()     | 
|  | 70 | +            #wait 5 seconds | 
|  | 71 | +            time.sleep(5)    | 
|  | 72 | +            #Stop Frequency Sweep | 
|  | 73 | +            objRFEGenerator.SendCommand_GeneratorRFPowerOFF()    | 
|  | 74 | +            print("Stop SWEEP") | 
|  | 75 | + | 
|  | 76 | +            #----------- CW Test Section ----------- | 
|  | 77 | +            #Set CW settings | 
|  | 78 | +            print("# New CW settings...") | 
|  | 79 | +            objRFEGenerator.RFGenCWFrequencyMHZ = 500 | 
|  | 80 | +            objRFEGenerator.RFGenHighPowerSwitch = False | 
|  | 81 | +            objRFEGenerator.RFGenPowerLevel = 3 | 
|  | 82 | +            print("Change CW settings --> Start:" + str(objRFEGenerator.RFGenCWFrequencyMHZ) + "MHz" + " - Power:" + str(objRFEGenerator.GetSignalGeneratorEstimatedAmplitude(objRFEGenerator.RFGenCWFrequencyMHZ)) + "dBm") | 
|  | 83 | +            #Start CW | 
|  | 84 | +            objRFEGenerator.SendCommand_GeneratorCW() | 
|  | 85 | +            time.sleep(5) | 
|  | 86 | +            #Change CW power | 
|  | 87 | +            print("# New CW power...") | 
|  | 88 | +            objRFEGenerator.RFGenPowerLevel = 0 | 
|  | 89 | +            print("Change CW power = Start:" + str(objRFEGenerator.RFGenCWFrequencyMHZ) + "MHz" + " - Power:" + str(objRFEGenerator.GetSignalGeneratorEstimatedAmplitude(objRFEGenerator.RFGenCWFrequencyMHZ)) + "dBm") | 
|  | 90 | +            #Start new CW | 
|  | 91 | +            objRFEGenerator.SendCommand_GeneratorCW() | 
|  | 92 | +            time.sleep(5) | 
|  | 93 | +            #Change CW Frequency | 
|  | 94 | +            print("# New CW frequency...") | 
|  | 95 | +            objRFEGenerator.RFGenCWFrequencyMHZ = 510 | 
|  | 96 | +            print("Change CW frequency = Start:" + str(objRFEGenerator.RFGenCWFrequencyMHZ) + "MHz" + " - Power:" + str(objRFEGenerator.GetSignalGeneratorEstimatedAmplitude(objRFEGenerator.RFGenCWFrequencyMHZ)) + "dBm") | 
|  | 97 | +            #Start new CW | 
|  | 98 | +            objRFEGenerator.SendCommand_GeneratorCW() | 
|  | 99 | +            time.sleep(5) | 
|  | 100 | +        else: | 
|  | 101 | +            print("Error: Device connected is a Spectrum Analyzer. \nPlease, connect a Signal Generator") | 
|  | 102 | +    else: | 
|  | 103 | +        print("Not Connected") | 
|  | 104 | +except Exception as obEx: | 
|  | 105 | +    print("Error: " + str(obEx)) | 
|  | 106 | + | 
|  | 107 | +#--------------------------------------------------------- | 
|  | 108 | +# Close object and release resources | 
|  | 109 | +#--------------------------------------------------------- | 
|  | 110 | + | 
|  | 111 | +objRFEGenerator.Close()    #Finish the thread and close port | 
|  | 112 | +objRFEGenerator = None  | 
0 commit comments