From b213c0461126495175aaa36fba85f50606594e39 Mon Sep 17 00:00:00 2001 From: Gerhard Sittig Date: Sat, 18 Jul 2020 19:02:18 +0200 Subject: caliper: refactor and unobfuscate timeout handling Move math expressions with always identical values out of the loop, and improve readability of the packet timeout condition in the process. --- decoders/caliper/pd.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'decoders/caliper/pd.py') diff --git a/decoders/caliper/pd.py b/decoders/caliper/pd.py index 6d07a87..404e830 100644 --- a/decoders/caliper/pd.py +++ b/decoders/caliper/pd.py @@ -82,12 +82,14 @@ class Decoder(srd.Decoder): timeout_ms = self.options['timeout_ms'] want_unit = self.options['unit'] show_all = self.options['changes'] == 'no' + snum_per_ms = self.samplerate / 1000 + timeout_snum = timeout_ms * snum_per_ms while True: - clk, data = self.wait([{0: 'r'}, {'skip': round(self.samplerate / 1000)}]) + clk, data = self.wait([{0: 'r'}, {'skip': round(snum_per_ms)}]) # Timeout after inactivity. if timeout_ms > 0: - if self.samplenum > self.es_cmd + (self.samplerate / (1000 / timeout_ms)): + if self.samplenum > self.es_cmd + timeout_snum: if self.bits > 0: self.putg(self.ss_cmd, self.samplenum, 1, [ 'timeout with %s bits in buffer' % (self.bits), -- cgit v1.2.3-70-g09d2