summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2019-04-19 15:42:15 +0200
committerUwe Hermann <uwe@hermann-uwe.de>2019-04-19 15:44:46 +0200
commit5ae47601f4935bca731415b23c5f8ad85d6f2309 (patch)
treeccaf6cc688471463ceff11dd8e969545cc1be7a3
parent42ca52b50cc0985c6be6969ff383d4cdb1490aa2 (diff)
downloadlibsigrokdecode-5ae47601f4935bca731415b23c5f8ad85d6f2309.tar.gz
libsigrokdecode-5ae47601f4935bca731415b23c5f8ad85d6f2309.zip
cc1101: Use namedtuple to increase readability a bit.
-rw-r--r--decoders/cc1101/pd.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/decoders/cc1101/pd.py b/decoders/cc1101/pd.py
index fd13540..156d4ce 100644
--- a/decoders/cc1101/pd.py
+++ b/decoders/cc1101/pd.py
@@ -18,11 +18,15 @@
##
import sigrokdecode as srd
+from collections import namedtuple
from .lists import *
ANN_STROBE, ANN_SINGLE_READ, ANN_SINGLE_WRITE, ANN_BURST_READ, \
ANN_BURST_WRITE, ANN_STATUS_READ, ANN_STATUS, ANN_WARN = range(8)
+Pos = namedtuple('Pos', ['ss', 'es'])
+Data = namedtuple('Data', ['mosi', 'miso'])
+
class Decoder(srd.Decoder):
api_version = 3
id = 'cc1101'
@@ -63,15 +67,15 @@ class Decoder(srd.Decoder):
def warn(self, pos, msg):
'''Put a warning message 'msg' at 'pos'.'''
- self.put(pos[0], pos[1], self.out_ann, [ANN_WARN, [msg]])
+ self.put(pos.ss, pos.es, self.out_ann, [ANN_WARN, [msg]])
def putp(self, pos, ann, msg):
'''Put an annotation message 'msg' at 'pos'.'''
- self.put(pos[0], pos[1], self.out_ann, [ann, [msg]])
+ self.put(pos.ss, pos.es, self.out_ann, [ann, [msg]])
def putp2(self, pos, ann, msg1, msg2):
'''Put an annotation message 'msg' at 'pos'.'''
- self.put(pos[0], pos[1], self.out_ann, [ann, [msg1, msg2]])
+ self.put(pos.ss, pos.es, self.out_ann, [ann, [msg1, msg2]])
def next(self):
'''Resets the decoder after a complete command was decoded.'''
@@ -92,11 +96,11 @@ class Decoder(srd.Decoder):
def mosi_bytes(self):
'''Returns the collected MOSI bytes of a multi byte command.'''
- return [b[0] for b in self.mb]
+ return [b.mosi for b in self.mb]
def miso_bytes(self):
'''Returns the collected MISO bytes of a multi byte command.'''
- return [b[1] for b in self.mb]
+ return [b.miso for b in self.mb]
def decode_command(self, pos, b):
'''Decodes the command byte 'b' at position 'pos' and prepares
@@ -113,7 +117,7 @@ class Decoder(srd.Decoder):
else:
# Don't output anything now, the command is merged with
# the data bytes following it.
- self.ss_mb = pos[0]
+ self.ss_mb = pos.ss
def format_command(self):
'''Returns the label for the current command.'''
@@ -259,14 +263,14 @@ class Decoder(srd.Decoder):
if len(self.mb) < self.min:
self.warn((ss, ss), 'missing data bytes')
elif self.mb:
- self.finish_command((self.ss_mb, self.es_mb))
+ self.finish_command(Pos(self.ss_mb, self.es_mb))
self.next()
self.cs_was_released = True
elif ptype == 'DATA' and self.cs_was_released:
mosi, miso = data1, data2
- pos = (ss, es)
+ pos = Pos(ss, es)
if miso is None or mosi is None:
self.requirements_met = False
@@ -286,4 +290,4 @@ class Decoder(srd.Decoder):
if self.ss_mb == -1:
self.ss_mb = ss
self.es_mb = es
- self.mb.append((mosi, miso))
+ self.mb.append(Data(mosi, miso))