From 28bac11e9ac81a6e20e6eab39599185b346fbeba Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Wed, 31 Dec 2014 14:24:18 +0200 Subject: [PATCH] detect: split waiting logic --- amodem/detect.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/amodem/detect.py b/amodem/detect.py index 7c4960f..724f24b 100644 --- a/amodem/detect.py +++ b/amodem/detect.py @@ -28,7 +28,7 @@ class Detector(object): self.maxlen = config.baud # 1 second of symbols self.max_offset = self.TIMEOUT * config.Fs - def run(self, samples): + def _wait(self, samples): counter = 0 bufs = collections.deque([], maxlen=self.maxlen) for offset, buf in common.iterate(samples, self.Nsym, index=True): @@ -43,10 +43,13 @@ class Detector(object): counter = 0 if counter == self.CARRIER_THRESHOLD: - break + return offset, bufs else: raise ValueError('No carrier detected') + def run(self, samples): + offset, bufs = self._wait(samples) + length = (self.CARRIER_THRESHOLD - 1) * self.Nsym begin = offset - length