Script execution
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
|
||||
class AveragerSensor(Readable):
|
||||
def __init__(self, averager, index):
|
||||
self.averager =averager
|
||||
self.index =index
|
||||
|
||||
def read(self):
|
||||
return self.averager.getSample[self.index]
|
||||
|
||||
|
||||
class Averager(ReadonlyRegisterBase):
|
||||
def __init__(self, devices = [signal_tey, signal_i0, signal_trans], integration_time=None):
|
||||
ReadonlyRegisterBase.__init__(devices[0].getName())
|
||||
self.devices = devices
|
||||
self.integration_time = integration_time
|
||||
self.interval = interval
|
||||
self.initialize()
|
||||
self.samples = [[],] * len[devices]
|
||||
|
||||
def doRead(self):
|
||||
start = time.time()
|
||||
measures = []
|
||||
while True:
|
||||
for i in range (len[self.devices]):
|
||||
self.samples[i].append(self.devices[i].read())
|
||||
if integration_time is None or (time.time() - start) >= integration_time:
|
||||
break
|
||||
sleep(0.1)
|
||||
return getSample[0]
|
||||
|
||||
def getSample(self, index):
|
||||
return mean(self.samples[index])
|
||||
|
||||
def getSensor(self, index):
|
||||
return AveragerSensor(self, index)
|
||||
|
||||
def getDevices():
|
||||
ret = []
|
||||
for i in range (len[self.devices])
|
||||
ret.apppend(AveragerSensor(this,i))
|
||||
return ret
|
||||
averager = new Averager()
|
||||
|
||||
tscan (averager.devices, 20, 1.0)
|
||||
|
||||
Reference in New Issue
Block a user