## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
-# MEMSIC MXC6225XU protocol decoder
-
import sigrokdecode as srd
# Definitions of various bits in MXC6225XU registers.
}
class Decoder(srd.Decoder):
- api_version = 1
+ api_version = 2
id = 'mxc6225xu'
name = 'MXC6225XU'
longname = 'MEMSIC MXC6225XU'
license = 'gplv2+'
inputs = ['i2c']
outputs = ['mxc6225xu']
- probes = []
- optional_probes = [
- {'id': 'int', 'name': 'INT', 'desc': 'DTOS interrupt output pin'},
- ]
- options = {}
- annotations = [
- ['Text', 'Human-readable text'],
- ]
+ annotations = (
+ ('text', 'Human-readable text'),
+ )
def __init__(self, **kwargs):
self.state = 'IDLE'
def start(self):
- # self.out_proto = self.add(srd.OUTPUT_PROTO, 'mxc6225xu')
- self.out_ann = self.add(srd.OUTPUT_ANN, 'mxc6225xu')
-
- def report(self):
- pass
+ self.out_ann = self.register(srd.OUTPUT_ANN)
def putx(self, data):
self.put(self.ss, self.es, self.out_ann, data)
def decode(self, ss, es, data):
cmd, databyte = data
- # Store the start/end samples of this I2C packet.
+ # Store the start/end samples of this I²C packet.
self.ss, self.es = ss, es
# State machine.
if self.state == 'IDLE':
- # Wait for an I2C START condition.
+ # Wait for an I²C START condition.
if cmd != 'START':
return
self.state = 'GET SLAVE ADDR'