]> sigrok.org Git - libsigrokdecode.git/commitdiff
ir_rc5: Only determine edge type once.
authorUwe Hermann <redacted>
Wed, 5 Mar 2014 22:34:50 +0000 (23:34 +0100)
committerUwe Hermann <redacted>
Wed, 5 Mar 2014 22:34:50 +0000 (23:34 +0100)
decoders/ir_rc5/pd.py

index 1abba82d7a211f284334af2e985cab8611298b23..25a4576e71b378b03290dc5c12bd6e4429719ddc 100644 (file)
@@ -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)