X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fmdio%2Fpd.py;h=15414e5fac891a2d7aca01f2f438bb4235abc382;hb=9a76aa18ecd429adda8a45258f43a2a93cc6def3;hp=7c2fc5f3039b465bbe65fb5055c8eb21848d1c85;hpb=97b874bd0b6913ed52df1b8aac5e7491479fac9a;p=libsigrokdecode.git diff --git a/decoders/mdio/pd.py b/decoders/mdio/pd.py index 7c2fc5f..15414e5 100644 --- a/decoders/mdio/pd.py +++ b/decoders/mdio/pd.py @@ -33,10 +33,11 @@ class Decoder(srd.Decoder): id = 'mdio' name = 'MDIO' longname = 'Management Data Input/Output' - desc = 'Half-duplex sync serial bus for MII management between MAC and PHY.' + desc = 'MII management bus between MAC and PHY.' license = 'bsd' inputs = ['logic'] outputs = ['mdio'] + tags = ['Networking'] channels = ( {'id': 'mdc', 'name': 'MDC', 'desc': 'Clock'}, {'id': 'mdio', 'name': 'MDIO', 'desc': 'Data'}, @@ -62,6 +63,9 @@ class Decoder(srd.Decoder): ) def __init__(self): + self.reset() + + def reset(self): self.illegal_bus = 0 self.samplenum = -1 self.clause45_addr = -1 # Clause 45 is context sensitive. @@ -92,7 +96,7 @@ class Decoder(srd.Decoder): if self.clause45 and self.clause45_addr != -1: decoded_min += str.format('ADDR: %04X ' % self.clause45_addr) elif self.clause45: - decoded_min += str.format('ADDR: UKWN ' % self.clause45_addr) + decoded_min += str.format('ADDR: UKWN ') if self.clause45 and self.opcode > 1 \ or (not self.clause45 and self.opcode): @@ -272,10 +276,9 @@ class Decoder(srd.Decoder): def state_DATA(self, mdio): if self.data == -1: self.data = 0 - self.putff([2, ['TURNAROUND', 'TA', 'T']]) + self.putff([2, ['TA', 'T']]) if self.ta_invalid: - self.putff([4, ['TURNAROUND%s' % self.ta_invalid, - 'TA%s' % self.ta_invalid, 'TA', 'T']]) + self.putff([4, ['TA%s' % self.ta_invalid, 'TA', 'T']]) self.ss_frame_field = self.samplenum self.data_bits -= 1 self.data |= mdio << self.data_bits