X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=decoders%2Fmrf24j40%2Fpd.py;h=b242ee661449e61c7b5c8da77665d40afccfc33a;hp=83fc254461e698b91bb14d18e7eacb378808b9d2;hb=6cbba91f23b9f9ace75b4722c9c0776b9211008d;hpb=4539e9ca58966ce3c9cad4801b16c315e86ace01 diff --git a/decoders/mrf24j40/pd.py b/decoders/mrf24j40/pd.py index 83fc254..b242ee6 100644 --- a/decoders/mrf24j40/pd.py +++ b/decoders/mrf24j40/pd.py @@ -21,14 +21,15 @@ import sigrokdecode as srd from .lists import * class Decoder(srd.Decoder): - api_version = 2 + api_version = 3 id = 'mrf24j40' name = 'MRF24J40' longname = 'Microchip MRF24J40' desc = 'IEEE 802.15.4 2.4 GHz RF tranceiver chip.' license = 'gplv2+' inputs = ['spi'] - outputs = ['mrf24j40'] + outputs = [] + tags = ['IC', 'Wireless/RF'] annotations = ( ('sread', 'Short register read commands'), ('swrite', 'Short register write commands'), @@ -43,6 +44,9 @@ class Decoder(srd.Decoder): ) def __init__(self): + self.reset() + + def reset(self): self.ss_cmd, self.es_cmd = 0, 0 self.mosi_bytes = [] self.miso_bytes = [] @@ -56,7 +60,7 @@ class Decoder(srd.Decoder): def putw(self, pos, msg): self.put(pos[0], pos[1], self.out_ann, [4, [msg]]) - def reset(self): + def reset_data(self): self.mosi_bytes = [] self.miso_bytes = [] @@ -103,7 +107,7 @@ class Decoder(srd.Decoder): if cs_old is not None and cs_old == 0 and cs_new == 1: if len(self.mosi_bytes) not in (0, 2, 3): self.putw([self.ss_cmd, es], 'Misplaced CS!') - self.reset() + self.reset_data() return # Don't care about anything else. @@ -126,8 +130,8 @@ class Decoder(srd.Decoder): if len(self.mosi_bytes) == 3: self.es_cmd = es self.handle_long() - self.reset() + self.reset_data() else: self.es_cmd = es self.handle_short() - self.reset() + self.reset_data()