X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=decoders%2Fmrf24j40%2Fpd.py;h=8ccf47384a67f4b54b3f9b2c353aa545d0e9bd47;hp=286fa52403a4bd78d0c638cea2176a63a66de39e;hb=039b0db244e2e592a581a6c9b79a934bde136569;hpb=07505b2a1a31759f90f9e7e2bfee5d75d4b1b729 diff --git a/decoders/mrf24j40/pd.py b/decoders/mrf24j40/pd.py index 286fa52..8ccf473 100644 --- a/decoders/mrf24j40/pd.py +++ b/decoders/mrf24j40/pd.py @@ -14,20 +14,19 @@ ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## along with this program; if not, see . ## 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' + license = 'gplv2+' inputs = ['spi'] outputs = ['mrf24j40'] annotations = ( @@ -43,7 +42,10 @@ class Decoder(srd.Decoder): ('warnings', 'Warnings', (4,)), ) - def __init__(self, **kwargs): + def __init__(self): + self.reset() + + def reset(self): self.ss_cmd, self.es_cmd = 0, 0 self.mosi_bytes = [] self.miso_bytes = [] @@ -57,7 +59,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 = [] @@ -104,7 +106,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. @@ -127,8 +129,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()