X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=decoders%2Fmx25lxx05d.py;h=3f0dc18c71df247d6577414168f0099f253c62ff;hp=9ae1370102fd7b3b1b90a87be178ee8490fbe81b;hb=56202222ed83ff030239bb23be8296574674c4f7;hpb=1b1c914fe5c1b88db6e0b8e49bee896428d483cb diff --git a/decoders/mx25lxx05d.py b/decoders/mx25lxx05d.py index 9ae1370..3f0dc18 100644 --- a/decoders/mx25lxx05d.py +++ b/decoders/mx25lxx05d.py @@ -30,7 +30,7 @@ # http://www.macronix.com/QuickPlace/hq/PageLibrary4825740B00298A3B.nsf/h_Index/3F21BAC2E121E17848257639003A3146/$File/MX25L1605D-3205D-6405D-1.5.pdf # -import sigrok +import sigrokdecode as srd # States IDLE = -1 @@ -157,18 +157,7 @@ miso_packets = [ {'type': 'D', 'range': (10, 11), 'data': 0xff, 'ann': ''}, ] -class Sample(): - def __init__(self, data): - self.data = data - def probe(self, probe): - s = ord(self.data[probe / 8]) & (1 << (probe % 8)) - return True if s else False - -def sampleiter(data, unitsize): - for i in range(0, len(data), unitsize): - yield(Sample(data[i:i+unitsize])) - -class Decoder(sigrok.Decoder): +class Decoder(srd.Decoder): id = 'mx25lxx05d' name = 'Macronix MX25Lxx05D' longname = 'Macronix MX25Lxx05D SPI flash chip decoder' @@ -179,17 +168,17 @@ class Decoder(sigrok.Decoder): license = 'gplv2+' inputs = ['spi', 'spi', 'logic'] outputs = ['mx25lxx05d'] - probes = {} # TODO: HOLD#, WP#/ACC + probes = [] # TODO: HOLD#, WP#/ACC options = {} # TODO def __init__(self, **kwargs): - self.probes = Decoder.probes.copy() self.state = IDLE self.cmdstate = 1 # TODO self.out = [] def start(self, metadata): - self.unitsize = metadata['unitsize'] + # self.out_proto = self.add(srd.OUTPUT_PROTO, 'mx25lxx05d') + self.out_ann = self.add(srd.OUTPUT_ANN, 'mx25lxx05d') def report(self): pass @@ -320,11 +309,11 @@ class Decoder(sigrok.Decoder): self.out += o - def decode(self, data): + def decode(self, timeoffset, duration, data): self.out = [] # Iterate over all SPI MISO/MOSI packets. TODO: HOLD#, WP#/ACC? - for i in xrange(len(miso_packets)): + for i in range(len(miso_packets)): p_miso = miso_packets[i] p_mosi = mosi_packets[i] @@ -360,5 +349,6 @@ class Decoder(sigrok.Decoder): pass if self.out != []: - self.put(self.out) + # self.put(0, 0, self.out_proto, out_proto) + self.put(0, 0, self.out_ann, self.out)