mirror of
https://github.com/romanz/amodem.git
synced 2026-02-08 02:18:00 +08:00
fix to_bytes()
This commit is contained in:
@@ -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):
|
||||
|
||||
2
recv.py
2
recv.py
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user