From 359e015b35e6be1dc90dd4e639a95c184cefa5a1 Mon Sep 17 00:00:00 2001 From: Alex Forencich Date: Wed, 6 Jan 2021 18:39:03 -0800 Subject: [PATCH] Add row_size parameter to hexdump methods --- cocotbext/axi/utils.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/cocotbext/axi/utils.py b/cocotbext/axi/utils.py index 1983e17..c510cad 100644 --- a/cocotbext/axi/utils.py +++ b/cocotbext/axi/utils.py @@ -23,28 +23,28 @@ THE SOFTWARE. """ -def hexdump_line(data, offset): +def hexdump_line(data, offset, row_size=16): h = "" c = "" - for ch in data[0:16]: + for ch in data[0:row_size]: h += f"{ch:02x} " c += chr(ch) if 32 < ch < 127 else "." - return f"{offset:08x}: {h:48} {c}" + return f"{offset:08x}: {h:{row_size*3}} {c}" -def hexdump(data, start=0, length=None, prefix="", offset=0): +def hexdump(data, start=0, length=None, row_size=16, prefix="", offset=0): stop = min(start+length, len(data)) if length else len(data) - for k in range(start, stop, 16): - print(prefix+hexdump_line(data[k:min(k+16, stop)], k+offset)) + for k in range(start, stop, row_size): + print(prefix+hexdump_line(data[k:min(k+row_size, stop)], k+offset, row_size)) -def hexdump_lines(data, start=0, length=None, prefix="", offset=0): +def hexdump_lines(data, start=0, length=None, row_size=16, prefix="", offset=0): lines = [] stop = min(start+length, len(data)) if length else len(data) - for k in range(start, stop, 16): - lines.append(prefix+hexdump_line(data[k:min(k+16, stop)], k+offset)) + for k in range(start, stop, row_size): + lines.append(prefix+hexdump_line(data[k:min(k+row_size, stop)], k+offset, row_size)) return lines -def hexdump_str(data, start=0, length=None, prefix="", offset=0): - return "\n".join(hexdump_lines(data, start, length, prefix, offset)) +def hexdump_str(data, start=0, length=None, row_size=16, prefix="", offset=0): + return "\n".join(hexdump_lines(data, start, length, row_size, prefix, offset))