From: Uwe Hermann Date: Wed, 5 Mar 2014 22:34:50 +0000 (+0100) Subject: ir_rc5: Only determine edge type once. X-Git-Tag: libsigrokdecode-0.3.0~67 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=92d992d2e50a1996fa2f436f5217b5a9fb3b7e62;p=libsigrokdecode.git ir_rc5: Only determine edge type once. --- 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)