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
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
#!/bin/env python import sys import argparse from valon_synth import Synthesizer, SYNTH_A, SYNTH_B parser = argparse.ArgumentParser( description='Get Frequency of Valon Synthesizer') parser.add_argument('dev', help='The device file of Valon, usally /dev/ttyUSBn') opts = parser.parse_args() syn = Synthesizer(opts.dev) print('A: %f %d' % (syn.get_frequency(SYNTH_A), syn.get_rf_level(SYNTH_A))) print('B: %f %d' % (syn.get_frequency(SYNTH_B), syn.get_rf_level(SYNTH_B)))
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) la = sync.get_rf_level(SYNTH_A) time.sleep(0.3) lb = sync.get_rf_level(SYNTH_B) time.sleep(0.3) print "Channel A Output Frequency:", fa, "MHz with level", la, "dBm" print "Channel B Output Frequency:", fb, "MHz with level", lb, "dBm" if fref == 0: print "\nReference Input Signal set to INTERNAL\n" else:
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.')