fix to_bytes()

This commit is contained in:
Roman Zeyde
2014-07-04 17:27:38 +03:00
parent 8a1a9f2377
commit 818ca9e8e4
2 changed files with 4 additions and 4 deletions

View File

@@ -27,10 +27,10 @@ def to_bits(bytes_list):
mask = 1 << i
yield (1 if (val & mask) else 0)
def to_bytes(bits):
bit_weights = [1 << i for i in range(8)]
def to_byte(bits):
assert len(bits) == 8
byte = sum(b << i for i, b in enumerate(bits))
byte = int(np.dot(bits, bit_weights))
return chr(byte)
def load(fname):

View File

@@ -154,7 +154,7 @@ def main(t, x):
log.info('Cannot demodulate symbols!')
else:
import ecc
data = iterate(data_bits, bufsize=8, advance=8, func=to_bytes)
data = iterate(data_bits, bufsize=8, advance=8, func=to_byte)
data = ''.join(c for _, c in data)
data = ecc.decode(data)
with file('data.recv', 'wb') as f: