X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=decoders%2Fspi.py;h=662b059afc766cfafa754c805c3c73ac061f316d;hp=1e4a7b4fb8e0dbe18e513fb40fa7c97593c615b2;hb=2b9837d9fc5f9b4eca52327527e18db4bfb730ff;hpb=c9b24fc3d2f8c84338f07239edc1d4850164ae0c;ds=sidebyside diff --git a/decoders/spi.py b/decoders/spi.py index 1e4a7b4..662b059 100644 --- a/decoders/spi.py +++ b/decoders/spi.py @@ -18,13 +18,13 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ## -import sigrokdecode +import sigrokdecode as srd -class Decoder(sigrokdecode.Decoder): +class Decoder(srd.Decoder): id = 'spi' name = 'SPI' - desc = '...desc...' longname = 'Serial Peripheral Interface (SPI) bus' + desc = '...desc...' longdesc = '...longdesc...' author = 'Gareth McMullin' email = 'gareth@blacksphere.co.nz' @@ -36,23 +36,22 @@ class Decoder(sigrokdecode.Decoder): {'id': 'sck', 'name': 'CLK', 'desc': 'SPI clock line'}, ] options = {} + annotations = [] def __init__(self): self.oldsck = 1 self.rxcount = 0 self.rxdata = 0 self.bytesreceived = 0 - self.out_proto = None - self.out_ann = None def start(self, metadata): - # self.out_proto = self.add(2) - self.out_ann = self.add(1) + # self.out_proto = self.add(srd.OUTPUT_PROTO, 'spi') + self.out_ann = self.add(srd.OUTPUT_ANN, 'spi') def report(self): return 'SPI: %d bytes received' % self.bytesreceived - def decode(self, timeoffset, duration, data): + def decode(self, ss, es, data): # HACK! At the moment the number of probes is not handled correctly. # E.g. if an input file (-i foo.sr) has more than two probes enabled. for (samplenum, (sdata, sck, x, y, z, a)) in data: @@ -66,7 +65,7 @@ class Decoder(sigrokdecode.Decoder): # If this is first bit, save timestamp if self.rxcount == 0: - self.time = timeoffset # FIXME + self.time = ss # FIXME # Receive bit into our shift register if sdata: self.rxdata |= 1 << (7 - self.rxcount) @@ -75,8 +74,8 @@ class Decoder(sigrokdecode.Decoder): if self.rxcount != 8: continue # Received a byte, pass up to sigrok - outdata = {'time':self.time, - 'duration':timeoffset + duration - self.time, + outdata = {'time':self.time, # FIXME + 'duration':ss + es - self.time, # FIXME 'data':self.rxdata, 'display':('%02X' % self.rxdata), 'type':'spi',