import sigrokdecode as srd
class Decoder(srd.Decoder):
- api_version = 2
+ api_version = 3
id = 'ssi32'
name = 'SSI32'
longname = 'Synchronous Serial Interface (32bit)'
desc = 'Synchronous Serial Interface (32bit) protocol.'
license = 'gplv2+'
inputs = ['spi']
- outputs = ['ssi32']
+ outputs = []
+ tags = ['Embedded/industrial']
options = (
{'id': 'msgsize', 'desc': 'Message size', 'default': 64},
)
)
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.ss_cmd, self.es_cmd = 0, 0
self.mosi_bytes = []
self.miso_bytes = []
def putx(self, data):
self.put(self.ss_cmd, self.es_cmd, self.out_ann, data)
- def reset(self):
+ def reset_data(self):
self.mosi_bytes = []
self.miso_bytes = []
self.es_array = []
def decode(self, ss, es, data):
ptype = data[0]
if ptype == 'CS-CHANGE':
- self.reset()
+ self.reset_data()
return
# Don't care about anything else.
return
self.handle_ack()
- self.reset()
+ self.reset_data()
else:
if len(self.mosi_bytes) < self.options['msgsize']:
return
self.handle_ctrl()
- self.reset()
+ self.reset_data()