X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fspi%2Fpd.py;h=27971378c24d664301b3a9a70172ab361acaa3df;hb=2787cf2abc0187679e87d3735ca3e64c2a1a91c8;hp=7b979f0762bf3e50e555627344f26f916ec9c272;hpb=d399c64172cdf99637b63b01d2af1e509ed6b059;p=libsigrokdecode.git diff --git a/decoders/spi/pd.py b/decoders/spi/pd.py index 7b979f0..2797137 100644 --- a/decoders/spi/pd.py +++ b/decoders/spi/pd.py @@ -82,6 +82,7 @@ class Decoder(srd.Decoder): license = 'gplv2+' inputs = ['logic'] outputs = ['spi'] + tags = ['Embedded/industrial'] channels = ( {'id': 'clk', 'name': 'CLK', 'desc': 'Clock'}, ) @@ -121,6 +122,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 +138,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 +253,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)