From f6aea1af962988899d79cccaff376639684b33b7 Mon Sep 17 00:00:00 2001 From: x07maop Date: Tue, 1 Mar 2016 11:02:50 +0100 Subject: [PATCH] Script execution --- script/Averager.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 script/Averager.py diff --git a/script/Averager.py b/script/Averager.py new file mode 100644 index 0000000..6410686 --- /dev/null +++ b/script/Averager.py @@ -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) + \ No newline at end of file