]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/can/pd.py
decoders: Fix incorrect 'outputs' fields.
[libsigrokdecode.git] / decoders / can / pd.py
index 5be3e993e0db522548a851e1fc4cc2316fd0d5e7..ba75914641365f8de925ba9d24cb22a3ad612aee 100644 (file)
@@ -30,7 +30,8 @@ class Decoder(srd.Decoder):
     desc = 'Field bus protocol for distributed realtime control.'
     license = 'gplv2+'
     inputs = ['logic']
-    outputs = ['can']
+    outputs = []
+    tags = ['Automotive']
     channels = (
         {'id': 'can_rx', 'name': 'CAN RX', 'desc': 'CAN bus line'},
     )
@@ -65,6 +66,9 @@ class Decoder(srd.Decoder):
     )
 
     def __init__(self):
+        self.reset()
+
+    def reset(self):
         self.samplerate = None
         self.reset_variables()
 
@@ -129,7 +133,7 @@ class Decoder(srd.Decoder):
         # CAN uses NRZ encoding and bit stuffing.
         # After 5 identical bits, a stuff bit of opposite value is added.
         # But not in the CRC delimiter, ACK, and end of frame fields.
-        if len(self.bits) > self.last_databit + 16:
+        if len(self.bits) > self.last_databit + 17:
             return False
         last_6_bits = self.rawbits[-6:]
         if last_6_bits not in ([0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 0]):