add newline every 32 read requests
This commit is contained in:
parent
19342c4735
commit
29727ffc96
|
|
@ -164,11 +164,16 @@ class UARTInterface(Elaboratable):
|
||||||
|
|
||||||
for addr_chunk in addr_chunks:
|
for addr_chunk in addr_chunks:
|
||||||
# Encode addrs into read requests
|
# Encode addrs into read requests
|
||||||
bytes_out = b"".join([f"R{a:04X}\r\n".encode("ascii") for a in addr_chunk])
|
bytes_out = "".join([f"R{a:04X}\r\n" for a in addr_chunk])
|
||||||
ser.write(bytes_out)
|
|
||||||
|
# Add a \n after every 32 packets, see:
|
||||||
|
# https://github.com/fischermoseley/manta/issues/18
|
||||||
|
bytes_out = "\n".join(split_into_chunks(bytes_out, 7 * 32))
|
||||||
|
|
||||||
|
ser.write(bytes_out.encode("ascii"))
|
||||||
|
|
||||||
# Read responses have the same length as read requests
|
# Read responses have the same length as read requests
|
||||||
bytes_in = ser.read(len(bytes_out))
|
bytes_in = ser.read(7 * len(addr_chunk))
|
||||||
|
|
||||||
if len(bytes_in) != len(bytes_out):
|
if len(bytes_in) != len(bytes_out):
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
|
|
@ -211,9 +216,8 @@ class UARTInterface(Elaboratable):
|
||||||
|
|
||||||
# Encode addrs and datas into write requests
|
# Encode addrs and datas into write requests
|
||||||
bytes_out = "".join([f"W{a:04X}{d:04X}\r\n" for a, d in zip(addrs, datas)])
|
bytes_out = "".join([f"W{a:04X}{d:04X}\r\n" for a, d in zip(addrs, datas)])
|
||||||
bytes_out = bytes_out.encode("ascii")
|
|
||||||
ser = self._get_serial_device()
|
ser = self._get_serial_device()
|
||||||
ser.write(bytes_out)
|
ser.write(bytes_out.encode("ascii"))
|
||||||
|
|
||||||
def _decode_read_response(self, response_bytes):
|
def _decode_read_response(self, response_bytes):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue