我写了一个labrad服务器。有用。但是我遇到了一个问题。 首先,它是我的代码:
from labrad.server import LabradServer, setting
import numpy as np
SERVERNAME = 'tian'
class Tian_Server(LabradServer):
name = SERVERNAME
def initServer(self):
self.dac = self.client.servers['laserdac_server']
def set_supervisor_current(self,first_current):
self.dac.set_individual_analog_voltages([('05', first_current)])
print 'supervisor is set to:',first_current
# scan current
@setting(1)
def scan_supervisor_2Ddata(self,c):
"some code"
for v in scan1:
yield self.dac.set_individual_analog_voltages([('05', v)])
"take my data"
print "scan supervisor: ", v
"some code"
return <my data as a 2D-string>
if __name__ == "__main__":
from labrad import util
server = Tian_Server()
util.runServer( server )
我需要使用yield,否则我无法同时设置电流。 但是现在,我无法返回应该在其他方法中使用的数据。 有谁知道吗? 非常感谢!