## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
-#
# Generic I2C demultiplexing protocol decoder
-#
-# Takes an I2C stream as input and outputs multiple I2C streams, each stream
-# containing only I2C packets for one specific I2C slave.
-#
import sigrokdecode as srd
# get the whole chunk of packets (from START to STOP).
def decode(self, ss, es, data):
- cmd, databyte, ack = data
+ cmd, databyte = data
# Add the I2C packet to our local cache.
- self.packets += [[ss, es, data]]
+ self.packets.append([ss, es, data])
if cmd in ('ADDRESS READ', 'ADDRESS WRITE'):
if databyte in self.slaves:
return
# We're never seen this slave, add a new stream.
- self.slaves += [databyte]
- self.out_proto += [self.add(srd.OUTPUT_PROTO,
- 'i2c-%s' % hex(databyte))]
+ self.slaves.append(databyte)
+ self.out_proto.append(self.add(srd.OUTPUT_PROTO,
+ 'i2c-%s' % hex(databyte)))
self.stream = self.streamcount
self.streamcount += 1
elif cmd == 'STOP':