Files
dev/script/test19.py
2018-01-19 10:56:53 +01:00

45 lines
1.3 KiB
Python
Executable File

import ch.psi.pshell.device.ReadonlyRegisterBase as ReadonlyRegisterBase
import ch.psi.pshell.device.ReadonlyRegister.ReadonlyRegisterArray as ReadonlyRegisterArray
class Mean(Readable):
def __init__(self, dev):
self.dev =dev
def read(self):
return mean(self.dev.take())
class Variance(Readable):
def __init__(self, dev):
self.dev =dev
def read(self):
return variance(self.dev.take())
class Measures(ReadonlyRegisterBase, ReadonlyRegisterArray):
def __init__(self, dev, count, interval=0):
self.dev = dev
self.count = count
self.interval = interval
self.initialize()
def getSize(self):
return self.count
def doRead(self):
measures = []
for i in range(self.count):
measures.append(self.dev.read())
if self.interval>0 and i<(self.count-1):
time.sleep(self.interval)
return measures
def average(dev, count, interval=0.0):
#av = Measures(dev, count, interval)
#return [av, Mean(av), Variance(av)]
av = Averager(dev, count, int(interval*1000))
av.initialize()
return [av, av.samples, av.variance]
res= lscan(inp, average(sin,5,0.1), 0, 40, 20, 0.1)