Ejemplo n.º 1
0
class VegasServer(Pyro.core.ObjBase):
    def __init__(self,port='/dev/ttyS0'):
        Pyro.core.ObjBase.__init__(self)
        self.valon = Synthesizer(port)
        # get instance_id somehow
        self.vs = vegas_status(instance_id)
        self.dbuf2 = vegas_databuf(2)
        self.dbuf3 = vegas_databuf(3)        
        self.running = True
        
    def getTime(self):
        return time.time()
        
    def getSynthRefFreq(self):
        return self.valon.get_reference()
        
    def setSynthFreq(self,freq,chan_spacing=2.0):
        resA = self.valon.set_frequency(SYNTH_A,freq,chan_spacing=chan_spacing)
        resB = self.valon.set_frequency(SYNTH_B,freq,chan_spacing=chan_spacing)        
        return resA,resB
        
    def getSynthFreq(self):
        fA = self.valon.get_frequency(SYNTH_A)
        fB = self.valon.get_frequency(SYNTH_B)
        return fA,fB
        
    def getSynthLocked(self):
        resA = self.valon.get_phase_lock(SYNTH_A)
        resB = self.valon.get_phase_lock(SYNTH_B)
        return resA,resB
        
    def initShmem(self):
        pass
        
    def setParams(self,**kwargs):
        self.vs.read()
        for k,v in kwargs.items():
            self.vs.update(k,v)
        self.vs.write()
        
    def getParam(self,param=None):
        self.vs.read()
        if param:
            return {param:self.vs[param]}
        else:
            return dict(self.vs.items())
    def updateFromGBT(self):
        self.vs.read()
        self.vs.update_with_gbtstatus()
        self.vs.write()
        
    def getData(self,block=0,buf=2):
        if buf == 2:
            return self.dbuf2.data(block)
        else:
            return self.dbuf3.data(block)
    def quit(self):
        self.running = False
Ejemplo n.º 2
0
                      default="A",
                      help="Synth Channel (def: 'A')")

    (options, args) = parser.parse_args()

    try:
        sync = Sync("/dev/ttyUSB0")
        print "\nSuccessfully connected to the Valon Synthesizer on port /dev/ttyUSB0\n"
    except:
        print "\nCannot connect to the Valon Synthesizer on port /dev/ttyUSB0\n"
        exit(0)

    if not options.freq == 0:
        if options.channel.upper() == "A":
            print "Setting Synth A to " + str(options.freq) + " MHz"
            sync.set_frequency(SYNTH_A, int(options.freq))
        else:
            print "Setting Synth B to " + str(options.freq) + " MHz"
            sync.set_frequency(SYNTH_B, int(options.freq))

    if options.reference == "external":
        sync.set_ref_select(EXT_REF)
    else:
        sync.set_ref_select(INT_REF)

    fa = sync.get_frequency(SYNTH_A)
    time.sleep(0.3)
    fb = sync.get_frequency(SYNTH_B)
    time.sleep(0.3)
    fref = sync.get_ref_select()
    time.sleep(0.3)
Ejemplo n.º 3
0
class VegasServer(Pyro.core.ObjBase):
    def __init__(self, port='/dev/ttyS0'):
        Pyro.core.ObjBase.__init__(self)
        self.valon = Synthesizer(port)
        # get instance_id somehow
        self.vs = vegas_status(instance_id)
        self.dbuf2 = vegas_databuf(2)
        self.dbuf3 = vegas_databuf(3)
        self.running = True

    def getTime(self):
        return time.time()

    def getSynthRefFreq(self):
        return self.valon.get_reference()

    def setSynthFreq(self, freq, chan_spacing=2.0):
        resA = self.valon.set_frequency(SYNTH_A,
                                        freq,
                                        chan_spacing=chan_spacing)
        resB = self.valon.set_frequency(SYNTH_B,
                                        freq,
                                        chan_spacing=chan_spacing)
        return resA, resB

    def getSynthFreq(self):
        fA = self.valon.get_frequency(SYNTH_A)
        fB = self.valon.get_frequency(SYNTH_B)
        return fA, fB

    def getSynthLocked(self):
        resA = self.valon.get_phase_lock(SYNTH_A)
        resB = self.valon.get_phase_lock(SYNTH_B)
        return resA, resB

    def initShmem(self):
        pass

    def setParams(self, **kwargs):
        self.vs.read()
        for k, v in kwargs.items():
            self.vs.update(k, v)
        self.vs.write()

    def getParam(self, param=None):
        self.vs.read()
        if param:
            return {param: self.vs[param]}
        else:
            return dict(self.vs.items())

    def updateFromGBT(self):
        self.vs.read()
        self.vs.update_with_gbtstatus()
        self.vs.write()

    def getData(self, block=0, buf=2):
        if buf == 2:
            return self.dbuf2.data(block)
        else:
            return self.dbuf3.data(block)

    def quit(self):
        self.running = False
Ejemplo n.º 4
0
                    type=int,
                    choices=[-4, -1, 2, 5],
                    help='RF output level in dBm')
parser.add_argument('-s', '--store', action='store_true')
opts = parser.parse_args()

if _VERBOSE:
    print('Device:    ' + opts.dev)
    print('Port:      ' + opts.port)
    print('Frequency: %dMHz' % opts.freq)
    print('Out level: %ddBm' % opts.level)

if opts.port == 'A':
    synth = SYNTH_A
else:
    synth = SYNTH_B

syn = Synthesizer(opts.dev)
syn.set_frequency(synth, opts.freq)

print(syn.get_frequency(synth))

if opts.level != None:
    syn.set_rf_level(synth, opts.level)
print(syn.get_rf_level(synth))

if opts.store:
    print('Storing into flash memory ... '),
    syn.flash()
    print('Done.')