X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=decoders%2Fspi%2Fpd.py;h=85bb1cb9e3195464fc55a983d3e87ecc78cf0baf;hp=7b979f0762bf3e50e555627344f26f916ec9c272;hb=f04db50ab7bbc59b7668396500b92ae2d3418f0e;hpb=d399c64172cdf99637b63b01d2af1e509ed6b059 diff --git a/decoders/spi/pd.py b/decoders/spi/pd.py index 7b979f0..85bb1cb 100644 --- a/decoders/spi/pd.py +++ b/decoders/spi/pd.py @@ -121,6 +121,9 @@ class Decoder(srd.Decoder): ) def __init__(self): + self.reset() + + def reset(self): self.samplerate = None self.bitcount = 0 self.misodata = self.mosidata = 0 @@ -134,19 +137,18 @@ class Decoder(srd.Decoder): self.cs_was_deasserted = False self.have_cs = self.have_miso = self.have_mosi = None - def metadata(self, key, value): - if key == srd.SRD_CONF_SAMPLERATE: - self.samplerate = value - def start(self): self.out_python = self.register(srd.OUTPUT_PYTHON) self.out_ann = self.register(srd.OUTPUT_ANN) self.out_binary = self.register(srd.OUTPUT_BINARY) - if self.samplerate is not None: - self.out_bitrate = self.register(srd.OUTPUT_META, - meta=(int, 'Bitrate', 'Bitrate during transfers')) + self.out_bitrate = self.register(srd.OUTPUT_META, + meta=(int, 'Bitrate', 'Bitrate during transfers')) self.bw = (self.options['wordsize'] + 7) // 8 + def metadata(self, key, value): + if key == srd.SRD_CONF_SAMPLERATE: + self.samplerate = value + def putw(self, data): self.put(self.ss_block, self.samplenum, self.out_ann, data) @@ -250,7 +252,7 @@ class Decoder(srd.Decoder): self.putdata() # Meta bitrate. - if self.samplerate is not None: + if self.samplerate: elapsed = 1 / float(self.samplerate) elapsed *= (self.samplenum - self.ss_block + 1) bitrate = int(1 / elapsed * ws)