From 92d992d2e50a1996fa2f436f5217b5a9fb3b7e62 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Wed, 5 Mar 2014 23:34:50 +0100 Subject: [PATCH] ir_rc5: Only determine edge type once. --- decoders/ir_rc5/pd.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/decoders/ir_rc5/pd.py b/decoders/ir_rc5/pd.py index 1abba82..25a4576 100644 --- a/decoders/ir_rc5/pd.py +++ b/decoders/ir_rc5/pd.py @@ -145,20 +145,21 @@ class Decoder(srd.Decoder): self.state = 'MID1' self.old_ir = self.ir continue + edge = self.edge_type() if self.state == 'MID1': - self.state = 'START1' if self.edge_type() == 's' else 'MID0' - bit = None if self.edge_type() == 's' else 0 + self.state = 'START1' if edge == 's' else 'MID0' + bit = None if edge == 's' else 0 elif self.state == 'MID0': - self.state = 'START0' if self.edge_type() == 's' else 'MID1' - bit = None if self.edge_type() == 's' else 1 + self.state = 'START0' if edge == 's' else 'MID1' + bit = None if edge == 's' else 1 elif self.state == 'START1': - if self.edge_type() == 's': + if edge == 's': self.state = 'MID1' - bit = 1 if self.edge_type() == 's' else None + bit = 1 if edge == 's' else None elif self.state == 'START0': - if self.edge_type() == 's': + if edge == 's': self.state = 'MID0' - bit = 0 if self.edge_type() == 's' else None + bit = 0 if edge == 's' else None else: raise Exception('Invalid state: %s' % self.state) -- 2.30.2