blob: 781826a09a978ddc275d36b1bb1c032358227692 [file] [log] [blame]
#!/usr/bin/env python3
""" Print connection map lookahead in human readable format. """
import argparse
import capnp
from lib.connection_box_tools import load_connection_box, iterate_connection_box
# Remove magic import hook.
capnp.remove_import_hook()
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument(
'--schema_path', help='Path to connection map schema', required=True
)
parser.add_argument('--lookahead_map', required=True)
args = parser.parse_args()
with open(args.lookahead_map, 'rb') as f:
cost_map = load_connection_box(args.schema_path, f)
for segment, connection_box, (
x_off, y_off), m in iterate_connection_box(cost_map):
assert len(m.dims) == 2
x_dim = m.dims[0]
y_dim = m.dims[1]
print(
'Cost map for segment {} connection box {} (size {}, {}, offset {}, {})'
.format(segment, connection_box, x_dim, y_dim, x_off, y_off)
)
itr = iter(m.data)
for x in range(x_dim):
for y in range(y_dim):
value = next(itr)
print(
'({}, {}) = {{ delay = {}, congestion = {} }}'.format(
x + x_off,
y + y_off,
value.value.delay,
value.value.congestion,
)
)
if __name__ == "__main__":
main()