X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=decoders%2Fsda2506%2Fpd.py;h=6df57554f69f0176facddd0d06682616bfcdfef7;hp=8b63cf0ec000f4c5d70df9a3d03722226cd3a6ba;hb=HEAD;hpb=c14ef8e3cd644f29b5990e6e88788cbf17428795 diff --git a/decoders/sda2506/pd.py b/decoders/sda2506/pd.py index 8b63cf0..6df5755 100644 --- a/decoders/sda2506/pd.py +++ b/decoders/sda2506/pd.py @@ -19,6 +19,9 @@ import re import sigrokdecode as srd +from common.srdhelper import SrdIntEnum + +Pin = SrdIntEnum.from_str('Pin', 'CLK DATA CE') ann_cmdbit, ann_databit, ann_cmd, ann_data, ann_warning = range(5) @@ -30,7 +33,8 @@ class Decoder(srd.Decoder): desc = 'Serial nonvolatile 1-Kbit EEPROM.' license = 'gplv2+' inputs = ['logic'] - outputs = ['sda2506'] + outputs = [] + tags = ['IC', 'Memory'] channels = ( {'id': 'clk', 'name': 'CLK', 'desc': 'Clock'}, {'id': 'd', 'name': 'DATA', 'desc': 'Data'}, @@ -40,13 +44,13 @@ class Decoder(srd.Decoder): ('cmdbit', 'Command bit'), ('databit', 'Data bit'), ('cmd', 'Command'), - ('data', 'Data byte'), - ('warnings', 'Human-readable warnings'), + ('databyte', 'Data byte'), + ('warning', 'Warning'), ) annotation_rows = ( ('bits', 'Bits', (ann_cmdbit, ann_databit)), - ('commands', 'Commands', (ann_cmd,)), ('data', 'Data', (ann_data,)), + ('commands', 'Commands', (ann_cmd,)), ('warnings', 'Warnings', (ann_warning,)), ) @@ -87,8 +91,8 @@ class Decoder(srd.Decoder): def decode(self): while True: - # Wait for CLK edge or CE edge. - clk, d, ce = self.wait([{0: 'e'}, {2: 'e'}]) + # Wait for CLK edge or CE# edge. + clk, d, ce = self.wait([{Pin.CLK: 'e'}, {Pin.CE: 'e'}]) if self.matched[0] and ce == 1 and clk == 1: # Rising clk edge and command mode.