juggle: add demo flag and improve README

old-commit-hash: 920b751888a09192f055241c7db6cfdfc5f1bf57
This commit is contained in:
Adeeb Shihadeh
2021-11-28 14:19:49 -08:00
parent 973a48acef
commit 807e84d900
2 changed files with 22 additions and 11 deletions
+7 -3
View File
@@ -16,6 +16,8 @@ from urllib.parse import urlparse, parse_qs
juggle_dir = os.path.dirname(os.path.realpath(__file__))
DEMO_ROUTE = "4cf7a6ad03080c90|2021-09-29--13-46-36"
def load_segment(segment_name):
print(f"Loading {segment_name}")
if segment_name is None:
@@ -94,12 +96,13 @@ def juggle_route(route_name, segment_number, segment_count, qlog, can, layout):
start_juggler(tempfile.name, dbc, layout)
def get_arg_parser():
parser = argparse.ArgumentParser(description="PlotJuggler plugin for reading openpilot logs",
parser = argparse.ArgumentParser(description="A helper to run PlotJuggler on openpilot routes",
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("--demo", action="store_true", help="Use the demo route instead of providing one")
parser.add_argument("--qlog", action="store_true", help="Use qlogs")
parser.add_argument("--can", action="store_true", help="Parse CAN data")
parser.add_argument("--stream", action="store_true", help="Start PlotJuggler without a route to stream data using Cereal")
parser.add_argument("--stream", action="store_true", help="Start PlotJuggler in streaming mode")
parser.add_argument("--layout", nargs='?', help="Run PlotJuggler with a pre-defined layout")
parser.add_argument("route_name", nargs='?', help="The route name to plot (cabana share URL accepted)")
parser.add_argument("segment_number", type=int, nargs='?', help="The index of the segment to plot")
@@ -116,4 +119,5 @@ if __name__ == "__main__":
if args.stream:
start_juggler(layout=args.layout)
else:
juggle_route(args.route_name.strip(), args.segment_number, args.segment_count, args.qlog, args.can, args.layout)
route = DEMO_ROUTE if args.demo else args.route_name.strip()
juggle_route(route, args.segment_number, args.segment_count, args.qlog, args.can, args.layout)