]> sigrok.org Git - libsigrokdecode.git/commitdiff
jtag_stm32: Update to reflect change in jtag OUT_PYTHON.
authorUwe Hermann <redacted>
Wed, 2 Sep 2015 18:49:47 +0000 (20:49 +0200)
committerUwe Hermann <redacted>
Thu, 3 Sep 2015 16:03:53 +0000 (18:03 +0200)
decoders/jtag_stm32/pd.py

index 51c910defd03c75f7775c636964339651624f83c..10a098fa4276660b78bc1bec04e3252db8e9ca72 100644 (file)
@@ -133,7 +133,7 @@ class Decoder(srd.Decoder):
 
     def __init__(self, **kwargs):
         self.state = 'IDLE'
-        # self.state = 'BYPASS'
+        self.samplenums = None
 
     def start(self):
         self.out_ann = self.register(srd.OUTPUT_ANN)
@@ -178,16 +178,20 @@ class Decoder(srd.Decoder):
                  [0, ['Unknown instruction: ' % bits]]) # TODO
 
     def decode(self, ss, es, data):
-        # Assumption: The right-most char in the 'val' bitstring is the LSB.
         cmd, val = data
 
         self.ss, self.es = ss, es
 
-        # The STM32F10xxx has two serially connected JTAG TAPs, the
-        # boundary scan tap (5 bits) and the Cortex-M3 TAP (4 bits).
-        # See UM 31.5 "STM32F10xxx JTAG TAP connection" for details.
-        # Due to this, we need to ignore the last bit of each data shift.
-        val = val[:-1]
+        if cmd != 'NEW STATE':
+            val, self.samplenums = val
+
+            # The right-most char in the 'val' bitstring is the LSB.
+
+            # The STM32F10xxx has two serially connected JTAG TAPs, the
+            # boundary scan tap (5 bits) and the Cortex-M3 TAP (4 bits).
+            # See UM 31.5 "STM32F10xxx JTAG TAP connection" for details.
+            # Due to this, we need to ignore the last bit of each data shift.
+            val = val[:-1]
 
         # State machine
         if self.state == 'IDLE':