diff --git a/grid_recorder.py b/grid_recorder.py index 9bd67e5..0eca760 100644 --- a/grid_recorder.py +++ b/grid_recorder.py @@ -33,7 +33,7 @@ class Configuration(): # timestamps self.now = datetime.datetime.now() - self.start_clock = None + self.start_clock = [datetime.datetime.now().hour, datetime.datetime.now().minute] self.end_clock = None # paths @@ -90,9 +90,11 @@ class Configuration(): self.gain = int(line.split(':')[1].strip()) # ToDo: add option to start now !!! elif 'StartTime' in line: - self.start_clock = np.array(line.strip().replace(' ', '').split(':')[1:], dtype=int) + if len(np.array(line.strip().replace(' ', '').split(':')[1:])) > 1: + self.start_clock = np.array(line.strip().replace(' ', '').split(':')[1:], dtype=int) elif 'EndTime' in line: - self.end_clock = np.array(line.strip().replace(' ', '').split(':')[1:], dtype=int) + if len(np.array(line.strip().replace(' ', '').split(':')[1:])) > 1: + self.end_clock = np.array(line.strip().replace(' ', '').split(':')[1:], dtype=int) elif 'Gain' in line: self.gain = int(line.split(':')[1].strip()) self.channels = self.n_rows * self.n_cols + self.n_extra @@ -262,6 +264,7 @@ class Recorder(): self.record() def record(self): + while True: if datetime.datetime.now().hour == self.config.start_clock[0] and datetime.datetime.now().minute == self.config.start_clock[1]: break @@ -377,11 +380,12 @@ class Recorder(): else: (np.array(data[last_idx:], dtype=np.float32) / self.config.gain).tofile(self.f) - if datetime.datetime.now().hour * 60 + datetime.datetime.now().minute >= self.config.end_clock[0] * 60 + self.config.end_clock[1]: - self.f.flush() - GPIO.output(self.LED1_pin, GPIO.LOW) - GPIO.output(self.LED_out_pin, GPIO.LOW) - break + if hasattr(self.config.end_clock, '__len__'): + if datetime.datetime.now().hour * 60 + datetime.datetime.now().minute >= self.config.end_clock[0] * 60 + self.config.end_clock[1]: + self.f.flush() + GPIO.output(self.LED1_pin, GPIO.LOW) + GPIO.output(self.LED_out_pin, GPIO.LOW) + break (np.array(data[:index], dtype=np.float32) / self.config.gain).tofile(self.f) self.f.flush()