]> sigrok.org Git - libsigrokdecode.git/commitdiff
lpc: Bugfix: Sample data at rising clock edges.
authorUwe Hermann <redacted>
Tue, 13 Aug 2013 19:30:04 +0000 (21:30 +0200)
committerUwe Hermann <redacted>
Wed, 14 Aug 2013 07:21:27 +0000 (09:21 +0200)
decoders/lpc/pd.py

index 7da0dd8761d8d4d3af875ca1f96ea88e4027b1ea..61c63834d9528da9f03d62c479506d57f9535d3d 100644 (file)
@@ -301,7 +301,6 @@ class Decoder(srd.Decoder):
         self.tarcount = 0
         self.state = 'IDLE'
 
-    # TODO: At which edge of the clock is data latched? Falling?
     def decode(self, ss, es, data):
         for (samplenum, pins) in data:
 
@@ -316,11 +315,11 @@ class Decoder(srd.Decoder):
             # TODO: Handle optional pins.
             (lframe, lreset, lclk, lad0, lad1, lad2, lad3) = pins
 
-            # Only look at the signals upon falling LCLK edges.
-            # TODO: Rising?
-            ## if not (self.oldlclk == 1 and lclk == 0):
-            ##     self.oldlclk = lclk
-            ##     continue
+            # Only look at the signals upon rising LCLK edges. The LPC clock
+            # is the same as the PCI clock (which is sampled at rising edges).
+            if not (self.oldlclk == 0 and lclk == 1):
+                self.oldlclk = lclk
+                continue
 
             # Store LAD[3:0] bit values (one nibble) in local variables.
             # Most (but not all) states need this.