# Presets...
oldbyte = inbuf[0]
for i in range(channels):
- oldbit[i] = (oldbyte & (1 << i)) != 0
+ oldbit[i] = (oldbyte & (1 << i)) >> i
# Loop over all samples.
# TODO: Handle LAs with more/less than 8 channels.
if oldbyte == s:
continue
for i in range(channels):
- curbit = (s & (1 << i) != 0)
+ curbit = (s & (1 << i)) >> i
# Optimization: Skip identical bits (no transitions).
if oldbit[i] == curbit:
continue
return outbuf
+def register():
+ return {
+ 'id': 'transitioncounter',
+ 'name': 'Transition counter',
+ 'description': 'TODO',
+ 'function': 'sigrokdecode_count_transitions',
+ 'inputformats': ['raw'],
+ 'signalnames': {}, # FIXME
+ 'outputformats': ['transitioncounts'],
+ }
+
# Use psyco (if available) as it results in huge performance improvements.
try:
import psyco