X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fcan%2Fpd.py;h=d76d649cc593bfeb7101f636cbb5b4d476d64619;hb=d0d63deadf5b841199c42721bc498fc5c9a86126;hp=5be3e993e0db522548a851e1fc4cc2316fd0d5e7;hpb=45a5088085c07c862549ad820d752a46ef0e0c76;p=libsigrokdecode.git diff --git a/decoders/can/pd.py b/decoders/can/pd.py index 5be3e99..d76d649 100644 --- a/decoders/can/pd.py +++ b/decoders/can/pd.py @@ -65,6 +65,9 @@ class Decoder(srd.Decoder): ) def __init__(self): + self.reset() + + def reset(self): self.samplerate = None self.reset_variables() @@ -129,7 +132,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]):