Skip to content

Commit 71f4514

Browse files
committed
max72xx: Rename max7219 to max72xx and streamline PD
Changes include using "No-op" as annotation text instead of "No-op:", fixing typos and clarifying the bit count warning texts.
1 parent 78a4bfc commit 71f4514

2 files changed

Lines changed: 14 additions & 11 deletions

File tree

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
##
1919

2020
'''
21-
This decoder stacks on top of the 'spi' PD and decodes the Maxim MAX7219 and
22-
MAX7221 LED matrix driver protocol.
21+
This decoder stacks on top of the 'spi' PD and decodes the Maxim MAX7219
22+
and MAX7221 LED matrix driver protocol.
2323
'''
2424

2525
from .pd import Decoder
Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ def _decode_intensity(val):
4242

4343
class Decoder(srd.Decoder):
4444
api_version = 3
45-
id = 'max7219'
46-
name = 'MAX7219'
45+
id = 'max72xx'
46+
name = 'MAX72xx'
4747
longname = 'Maxim MAX7219/MAX7221'
48-
desc = 'Maxim MAX72xx series 8-digit LED display driver.'
48+
desc = 'Maxim MAX72xx series 8-digit LED display driver'
4949
license = 'gplv2+'
5050
inputs = ['spi']
5151
outputs = []
@@ -54,13 +54,13 @@ class Decoder(srd.Decoder):
5454
{'id': 'numofdrivers', 'desc': 'Number of daisy-chained chips', 'default': 1},
5555
)
5656
annotations = (
57-
('chip', 'Index of chip in daisy-chain'),
57+
('chip', 'Index of chip in daisy chain'),
5858
('register', 'Registers written to the device'),
5959
('digit', 'Digits displayed on the device'),
6060
('warning', 'Human-readable warnings'),
6161
)
6262
annotation_rows = (
63-
('chip_nr', 'Chip Nr.', (ann_chip,)),
63+
('chip_nr', 'Chip number', (ann_chip,)),
6464
('commands', 'Commands', (ann_reg, ann_digit)),
6565
('warnings', 'Warnings', (ann_warning,)),
6666
)
@@ -78,10 +78,13 @@ def start(self):
7878
self.num_of_drivers = self.options['numofdrivers']
7979

8080
def putchip(self, ss, es, chip):
81-
self.put(ss, es, self.out_ann, [ann_chip, ['Chip %d:' % (chip)]])
81+
self.put(ss, es, self.out_ann, [ann_chip, ['Chip %d' % (chip)]])
8282

8383
def putreg(self, ss, es, reg, value):
84-
self.put(ss, es, self.out_ann, [ann_reg, ['%s: %s' % (reg, value)]])
84+
if value:
85+
self.put(ss, es, self.out_ann, [ann_reg, ['%s: %s' % (reg, value)]])
86+
else:
87+
self.put(ss, es, self.out_ann, [ann_reg, [reg]])
8588

8689
def putdigit(self, ss, es, digit, value):
8790
self.put(ss, es, self.out_ann, [ann_digit, ['Digit %d: %02X' % (digit, value)]])
@@ -122,6 +125,6 @@ def decode(self, ss, es, data):
122125
if self.pos > 0 and self.pos < 2 * self.num_of_drivers:
123126
# Don't warn if pos=0 so that CS# glitches don't appear
124127
# as spurious warnings.
125-
self.putwarn(self.cs_start, es, 'Short write')
128+
self.putwarn(self.cs_start, es, 'Not enough bits sent for current number of chips')
126129
elif self.pos > 2 * self.num_of_drivers:
127-
self.putwarn(self.cs_start, es, 'Overlong write')
130+
self.putwarn(self.cs_start, es, 'Too many bits sent for current number of chips')

0 commit comments

Comments
 (0)