Improve range settings in decoders

This commit is contained in:
DreamSourceLab 2020-05-09 10:47:40 +08:00
parent 9a06b706de
commit 8aaac8d97d
5 changed files with 13 additions and 10 deletions

View File

@ -101,7 +101,8 @@ class Decoder(srd.Decoder):
'values': (0, 1)},
{'id': 'bitorder', 'desc': 'Bit order',
'default': 'msb-first', 'values': ('msb-first', 'lsb-first')},
{'id': 'wordsize', 'desc': 'Word size', 'default': 8},
{'id': 'wordsize', 'desc': 'Word size', 'default': 8,
'values': tuple(range(4,129,1))},
)
annotations = (
('106', 'miso-data', 'MISO data'),

View File

@ -89,20 +89,20 @@ class Decoder(srd.Decoder):
options = (
{'id': 'baudrate', 'desc': 'Baud rate', 'default': 115200},
{'id': 'num_data_bits', 'desc': 'Data bits', 'default': 8,
'values': (5, 6, 7, 8, 9)},
'values': tuple(range(4,129,1))},
{'id': 'parity_type', 'desc': 'Parity type', 'default': 'none',
'values': ('none', 'odd', 'even', 'zero', 'one')},
{'id': 'parity_check', 'desc': 'Check parity?', 'default': 'yes',
'values': ('yes', 'no')},
{'id': 'num_stop_bits', 'desc': 'Stop bits', 'default': 1.0,
'values': (0.0, 0.5, 1.0, 1.5)},
'values': (0.0, 0.5, 1.0, 1.5, 2.0, 2.5)},
{'id': 'bit_order', 'desc': 'Bit order', 'default': 'lsb-first',
'values': ('lsb-first', 'msb-first')},
{'id': 'format', 'desc': 'Data format', 'default': 'hex',
'values': ('ascii', 'dec', 'hex', 'oct', 'bin')},
{'id': 'invert', 'desc': 'Invert Signal?', 'default': 'no',
'values': ('yes', 'no')},
{'id': 'anno_startstop', 'desc': 'Display Start/Stop?', 'default': 'no',
{'id': 'anno_startstop', 'desc': 'Display Start/Stop?', 'default': 'no',
'values': ('yes', 'no')},
)
annotations = (

View File

@ -101,7 +101,8 @@ class Decoder(srd.Decoder):
'values': (0, 1)},
{'id': 'bitorder', 'desc': 'Bit order',
'default': 'msb-first', 'values': ('msb-first', 'lsb-first')},
{'id': 'wordsize', 'desc': 'Word size', 'default': 8},
{'id': 'wordsize', 'desc': 'Word size', 'default': 8,
'values': tuple(range(5,129,1))},
{'id': 'frame', 'desc': 'Frame Decoder', 'default': 'no',
'values': ('yes', 'no')},
)

View File

@ -90,13 +90,13 @@ class Decoder(srd.Decoder):
options = (
{'id': 'baudrate', 'desc': 'Baud rate', 'default': 115200},
{'id': 'num_data_bits', 'desc': 'Data bits', 'default': 8,
'values': (5, 6, 7, 8, 9)},
'values': tuple(range(4,129,1))},
{'id': 'parity_type', 'desc': 'Parity type', 'default': 'none',
'values': ('none', 'odd', 'even', 'zero', 'one')},
{'id': 'parity_check', 'desc': 'Check parity?', 'default': 'yes',
'values': ('yes', 'no')},
{'id': 'num_stop_bits', 'desc': 'Stop bits', 'default': 1.0,
'values': (0.0, 0.5, 1.0, 1.5)},
'values': (0.0, 0.5, 1.0, 1.5, 2.0, 2.5)},
{'id': 'bit_order', 'desc': 'Bit order', 'default': 'lsb-first',
'values': ('lsb-first', 'msb-first')},
{'id': 'format', 'desc': 'Data format', 'default': 'hex',
@ -216,7 +216,7 @@ class Decoder(srd.Decoder):
self.frame_valid = False
es = self.samplenum + ceil(self.bit_width / 2.0)
self.putpse(self.frame_start, es, ['FRAME', 0,
(self.datavalue[rxtx], self.frame_valid[rxtx])])
(self.datavalue, self.frame_valid)])
self.state = 'WAIT FOR START BIT'
return

View File

@ -60,7 +60,8 @@ class Decoder(srd.Decoder):
'values': ('left-aligned', 'right-aligned')},
{'id': 'bitorder', 'desc': 'Bit order',
'default': 'msb-first', 'values': ('msb-first', 'lsb-first')},
{'id': 'wordsize', 'desc': 'Word size', 'default': 16},
{'id': 'wordsize', 'desc': 'Word size', 'default': 16,
'values': tuple(range(4,129,1))},
)
annotations = (
('left', 'Left channel'),
@ -187,7 +188,7 @@ class Decoder(srd.Decoder):
else:
if (left_algined and msb) or (not left_algined and not msb):
self.data >>= self.bitcount - self.wordlength
else:
else:
self.data &= int("1"*self.wordlength, 2)
self.oldws = self.oldws if left_high else not self.oldws
idx = 0 if self.oldws else 1