X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fi2s%2Fpd.py;h=c4ac4fba2daeafe46d66176d0f4d8ec368868b87;hb=29fc362596c87eaa3dc684d1d23047772ad27354;hp=28a48502fd3edad3d826a759f326139171734bc1;hpb=50bd5d259677faf87bb3408e111d0e833d7ba9b4;p=libsigrokdecode.git diff --git a/decoders/i2s/pd.py b/decoders/i2s/pd.py index 28a4850..c4ac4fb 100644 --- a/decoders/i2s/pd.py +++ b/decoders/i2s/pd.py @@ -22,9 +22,6 @@ import sigrokdecode as srd -# Annotation formats -ANN_HEX = 0 - class Decoder(srd.Decoder): api_version = 1 id = 'i2s' @@ -42,7 +39,9 @@ class Decoder(srd.Decoder): optional_probes = [] options = {} annotations = [ - ['Hex', 'Annotations in hex format'], + ['left', 'Left channel'], + ['right', 'Right channel'], + ['warnings', 'Warnings'], ] def __init__(self, **kwargs): @@ -53,7 +52,6 @@ class Decoder(srd.Decoder): self.samplesreceived = 0 self.first_sample = None self.start_sample = None - self.samplenum = -1 self.wordlength = -1 def start(self, metadata): @@ -96,16 +94,16 @@ class Decoder(srd.Decoder): # Only submit the sample, if we received the beginning of it. if self.start_sample != None: self.samplesreceived += 1 - self.put(self.start_sample, self.samplenum, self.out_proto, + self.put(self.start_sample, samplenum, self.out_proto, ['data', self.data]) - self.put(self.start_sample, self.samplenum, self.out_ann, - [ANN_HEX, ['%s: 0x%08x' % ('L' if self.oldws else 'R', - self.data)]]) + idx = 0 if self.oldws else 1 + self.put(self.start_sample, samplenum, self.out_ann, + [idx, ['0x%08x', self.data)]]) # Check that the data word was the correct length. if self.wordlength != -1 and self.wordlength != self.bitcount: - self.put(self.start_sample, self.samplenum, self.out_ann, - [ANN_HEX, ['WARNING: Received a %d-bit word, when a ' + self.put(self.start_sample, samplenum, self.out_ann, + [2, ['Received a %d-bit word, when a ' '%d-bit word was expected' % (self.bitcount, self.wordlength)]]) @@ -114,11 +112,11 @@ class Decoder(srd.Decoder): # Reset decoder state. self.data = 0 self.bitcount = 0 - self.start_sample = self.samplenum + self.start_sample = samplenum # Save the first sample position. if self.first_sample == None: - self.first_sample = self.samplenum + self.first_sample = samplenum self.oldws = ws