X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fenc28j60%2Fpd.py;h=f7a6625a22c7b58602895dbe44cf1130d7ae5126;hb=1865f48de72cebc0c8031bce8e5aaa2a3e1c5092;hp=d1a601f220f8a86ff8ceb7c63bdc24c6472da55b;hpb=72db471edc03396ac2d0e3ffd490984617978346;p=libsigrokdecode.git diff --git a/decoders/enc28j60/pd.py b/decoders/enc28j60/pd.py index d1a601f..f7a6625 100644 --- a/decoders/enc28j60/pd.py +++ b/decoders/enc28j60/pd.py @@ -82,15 +82,20 @@ class Decoder(srd.Decoder): self.ranges = [] self.cmd_ss = None self.cmd_es = None + self.range_ss = None + self.range_es = None self.active = False self.bsel0 = None self.bsel1 = None def start(self): - self.ann = self.register(srd.OUTPUT_ANN) + self.out_ann = self.register(srd.OUTPUT_ANN) def putc(self, data): - self.put(self.cmd_ss, self.cmd_es, self.ann, data) + self.put(self.cmd_ss, self.cmd_es, self.out_ann, data) + + def putr(self, data): + self.put(self.range_ss, self.range_es, self.out_ann, data) def _process_command(self): if len(self.mosi) == 0: @@ -121,67 +126,39 @@ class Decoder(srd.Decoder): reg_addr = self.mosi[0] & REG_ADDR_MASK reg_name = self._get_register_name(reg_addr) - ss, es = self.cmd_ss, self.ranges[1][0] + self.range_ss, self.range_es = self.cmd_ss, self.ranges[1][0] if reg_name is None: # We don't know the bank we're in yet. - self.put(ss, es, self.ann, [ - ANN_REG_ADDR, - [ - 'Reg Bank ? Addr 0x{0:02X}'.format(reg_addr), - '?:{0:02X}'.format(reg_addr), - ]]) - self.put(ss, es, self.ann, [ - ANN_WARNING, - [ - 'Warning: Register bank not known yet.', - 'Warning', - ]]) + self.putr([ANN_REG_ADDR, [ + 'Reg Bank ? Addr 0x{0:02X}'.format(reg_addr), + '?:{0:02X}'.format(reg_addr)]]) + self.putr([ANN_WARNING, ['Warning: Register bank not known yet.', + 'Warning']]) else: - self.put(ss, es, self.ann, [ - ANN_REG_ADDR, - [ - 'Reg {0}'.format(reg_name), - '{0}'.format(reg_name), - ]]) + self.putr([ANN_REG_ADDR, ['Reg {0}'.format(reg_name), + '{0}'.format(reg_name)]]) if (reg_name == '-') or (reg_name == 'Reserved'): - self.put(ss, es, self.ann, [ - ANN_WARNING, - [ - 'Warning: Invalid register accessed.', - 'Warning', - ]]) + self.putr([ANN_WARNING, ['Warning: Invalid register accessed.', + 'Warning']]) def _put_data_byte(self, data, byte_index, binary=False): - ss = self.ranges[byte_index][0] + self.range_ss = self.ranges[byte_index][0] if byte_index == len(self.mosi) - 1: - es = self.cmd_es + self.range_es = self.cmd_es else: - es = self.ranges[byte_index + 1][0] + self.range_es = self.ranges[byte_index + 1][0] if binary: - self.put(ss, es, self.ann, [ - ANN_DATA, - [ - 'Data 0b{0:08b}'.format(data), - '{0:08b}'.format(data), - ]]) + self.putr([ANN_DATA, ['Data 0b{0:08b}'.format(data), + '{0:08b}'.format(data)]]) else: - self.put(ss, es, self.ann, [ - ANN_DATA, - [ - 'Data 0x{0:02X}'.format(data), - '{0:02X}'.format(data), - ]]) + self.putr([ANN_DATA, ['Data 0x{0:02X}'.format(data), + '{0:02X}'.format(data)]]) def _put_command_warning(self, reason): - self.putc([ - ANN_WARNING, - [ - 'Warning: {0}'.format(reason), - 'Warning', - ]]) + self.putc([ANN_WARNING, ['Warning: {0}'.format(reason), 'Warning']]) def _process_rcr(self): self.putc([ANN_RCR, ['Read Control Register', 'RCR']]) @@ -211,13 +188,8 @@ class Decoder(srd.Decoder): if len(self.mosi) == 2: self._put_data_byte(self.miso[1], 1) else: - ss, es = self.ranges[1][0], self.ranges[2][0] - self.put(ss, es, self.ann, [ - ANN_DATA, - [ - 'Dummy Byte', - 'Dummy', - ]]) + self.range_ss, self.range_es = self.ranges[1][0], self.ranges[2][0] + self.putr([ANN_DATA, ['Dummy Byte', 'Dummy']]) self._put_data_byte(self.miso[2], 2) def _process_rbm(self): @@ -225,13 +197,8 @@ class Decoder(srd.Decoder): self._put_command_warning('Invalid header byte.') return - self.putc([ - ANN_RBM, - [ - 'Read Buffer Memory: Length {0}'.format( - len(self.mosi) - 1), - 'RBM', - ]]) + self.putc([ANN_RBM, ['Read Buffer Memory: Length {0}'.format( + len(self.mosi) - 1), 'RBM']]) for i in range(1, len(self.miso)): self._put_data_byte(self.miso[i], i) @@ -255,13 +222,8 @@ class Decoder(srd.Decoder): self._put_command_warning('Invalid header byte.') return - self.putc([ - ANN_WBM, - [ - 'Write Buffer Memory: Length {0}'.format( - len(self.mosi) - 1), - 'WBM', - ]]) + self.putc([ANN_WBM, ['Write Buffer Memory: Length {0}'.format( + len(self.mosi) - 1), 'WBM']]) for i in range(1, len(self.mosi)): self._put_data_byte(self.mosi[i], i)