X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fade77xx%2Fpd.py;h=5421cf47a708c6d1694d22d869ccb39cfe4ac962;hb=e144452bcdd5f2abbe6b6f3da41ad64f67e39def;hp=053575e868cc7eecfa0bcb07832bb1ef389721aa;hpb=888790e97cb51d65b64f3fbe43d91e40f4776b07;p=libsigrokdecode.git diff --git a/decoders/ade77xx/pd.py b/decoders/ade77xx/pd.py index 053575e..5421cf4 100644 --- a/decoders/ade77xx/pd.py +++ b/decoders/ade77xx/pd.py @@ -26,33 +26,37 @@ import sigrokdecode as srd from .lists import * class Decoder(srd.Decoder): - api_version = 2 + api_version = 3 id = 'ade77xx' name = 'ADE77xx' longname = 'Analog Devices ADE77xx' desc = 'Poly phase multifunction energy metering IC protocol.' license = 'mit' inputs = ['spi'] - outputs = ['ade77xx'] + outputs = [] + tags = ['Analog/digital', 'IC', 'Sensor'] annotations = ( - ('read', 'Register read commands'), - ('write', 'Register write commands'), - ('warning', 'Warnings'), + ('read', 'Register read'), + ('write', 'Register write'), + ('warning', 'Warning'), ) annotation_rows = ( - ('read', 'Read', (0,)), - ('write', 'Write', (1,)), + ('reads', 'Reads', (0,)), + ('writes', 'Writes', (1,)), ('warnings', 'Warnings', (2,)), ) - def reset(self): + def reset_data(self): self.expected = 0 self.mosi_bytes, self.miso_bytes = [], [] def __init__(self): - self.ss_cmd, self.es_cmd = 0, 0 self.reset() + def reset(self): + self.ss_cmd, self.es_cmd = 0, 0 + self.reset_data() + def start(self): self.out_ann = self.register(srd.OUTPUT_ANN) @@ -77,7 +81,7 @@ class Decoder(srd.Decoder): idx = 1 if write else 0 self.putx([idx, ['%s: %s' % (rblob[0], "SHORT")]]) self.put_warn([self.ss_cmd, es], "Short transfer!") - self.reset() + self.reset_data() return # Don't care about anything else. @@ -124,4 +128,4 @@ class Decoder(srd.Decoder): else: self.putx([0, ['%s: %#x' % (rblob[0], vali)]]) - self.reset() + self.reset_data()