X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Frtc8564%2Fpd.py;h=24a68fbe28da6f50c8d30f4a57ddf1de8f0e8d9f;hb=486b19ce017c6663be6574dacd0c823304903bca;hp=41cff0d6ef5f8bea2d885589a3f7f034b9396439;hpb=da9bcbd9f45b0153465c55ec726a0d76f6d7f01e;p=libsigrokdecode.git diff --git a/decoders/rtc8564/pd.py b/decoders/rtc8564/pd.py index 41cff0d..24a68fb 100644 --- a/decoders/rtc8564/pd.py +++ b/decoders/rtc8564/pd.py @@ -32,7 +32,7 @@ def reg_list(): return tuple(l) class Decoder(srd.Decoder): - api_version = 1 + api_version = 2 id = 'rtc8564' name = 'RTC-8564' longname = 'Epson RTC-8564 JE/NB' @@ -40,11 +40,6 @@ class Decoder(srd.Decoder): license = 'gplv2+' inputs = ['i2c'] outputs = ['rtc8564'] - optional_probes = ( - {'id': 'clkout', 'name': 'CLKOUT', 'desc': 'Clock output'}, - {'id': 'clkoe', 'name': 'CLKOE', 'desc': 'Clock output enable'}, - {'id': 'int', 'name': 'INT#', 'desc': 'Interrupt'}, - ) annotations = reg_list() + ( ('read', 'Read date/time'), ('write', 'Write date/time'), @@ -72,7 +67,6 @@ class Decoder(srd.Decoder): self.bits = [] def start(self): - # self.out_python = self.register(srd.OUTPUT_PYTHON) self.out_ann = self.register(srd.OUTPUT_ANN) def putx(self, data): @@ -195,7 +189,7 @@ class Decoder(srd.Decoder): if cmd != 'START': return self.state = 'GET SLAVE ADDR' - self.block_start_sample = ss + self.ss_block = ss elif self.state == 'GET SLAVE ADDR': # Wait for an address write operation. # TODO: We should only handle packets to the RTC slave (0xa2/0xa3). @@ -226,7 +220,7 @@ class Decoder(srd.Decoder): # TODO: Handle read/write of only parts of these items. d = '%02d.%02d.%02d %02d:%02d:%02d' % (self.days, self.months, self.years, self.hours, self.minutes, self.seconds) - self.put(self.block_start_sample, es, self.out_ann, + self.put(self.ss_block, es, self.out_ann, [9, ['Write date/time: %s' % d, 'Write: %s' % d, 'W: %s' % d]]) self.state = 'IDLE' @@ -252,12 +246,9 @@ class Decoder(srd.Decoder): elif cmd == 'STOP': d = '%02d.%02d.%02d %02d:%02d:%02d' % (self.days, self.months, self.years, self.hours, self.minutes, self.seconds) - self.put(self.block_start_sample, es, self.out_ann, + self.put(self.ss_block, es, self.out_ann, [10, ['Read date/time: %s' % d, 'Read: %s' % d, 'R: %s' % d]]) self.state = 'IDLE' else: pass # TODO? - else: - raise Exception('Invalid state: %s' % self.state) -