r4673 - developers/werner/ahrt/host/tmc/lib
werner at docs.openmoko.org
werner at docs.openmoko.org
Sat Sep 27 02:49:01 CEST 2008
Author: werner
Date: 2008-09-27 02:49:01 +0200 (Sat, 27 Sep 2008)
New Revision: 4673
Modified:
developers/werner/ahrt/host/tmc/lib/crc.py
developers/werner/ahrt/host/tmc/lib/scope.py
Log:
Highlight:
- logic analyzer downloads are now about 66% faster
Details:
- lib/crc.py (crc.crc16): didn't even run
- lib/scope.py (rigol_la_data): only add data if it is different from the
previous sample
Modified: developers/werner/ahrt/host/tmc/lib/crc.py
===================================================================
--- developers/werner/ahrt/host/tmc/lib/crc.py 2008-09-27 00:22:28 UTC (rev 4672)
+++ developers/werner/ahrt/host/tmc/lib/crc.py 2008-09-27 00:49:01 UTC (rev 4673)
@@ -86,6 +86,6 @@
return crc
def crc16(self, crc, bytes):
- for b in bytes(crc, bytes):
+ for b in bytes:
crc = (crc >> 8) ^ self.crc16_syndrome[(crc ^ b) & 0xff]
return crc
Modified: developers/werner/ahrt/host/tmc/lib/scope.py
===================================================================
--- developers/werner/ahrt/host/tmc/lib/scope.py 2008-09-27 00:22:28 UTC (rev 4672)
+++ developers/werner/ahrt/host/tmc/lib/scope.py 2008-09-27 00:49:01 UTC (rev 4673)
@@ -235,13 +235,29 @@
res = []
for b in range(0, 16):
res.append(digital())
+
+ prev_low = 0
+ prev_high = 0
+
i = 424
while i != 1624:
div = (i-1024)/100.0
t = t0+div*td
- for b in range(0, 8):
- res[b].append(t, (ord(s[i]) & (1 << b)) != 0)
- res[b+8].append(t, (ord(s[i+1]) & (1 << b)) != 0)
+
+ doit = i == 424 or i == 1622
+
+ byte = ord(s[i])
+ if byte ^ prev_low or doit:
+ prev_low = byte
+ for b in range(0, 8):
+ res[b].append(t, (byte & (1 << b)) != 0)
+
+ byte = ord(s[i+1])
+ if byte ^ prev_high or doit:
+ prev_high = byte
+ for b in range(0, 8):
+ res[b+8].append(t, (byte & (1 << b)) != 0)
+
i += 2
return res
More information about the commitlog
mailing list