From 7e9843b5e6d0756bc7c17ef7338c384b7b330df0 Mon Sep 17 00:00:00 2001 From: Justin Newberry Date: Thu, 11 Jan 2024 14:46:31 -0500 Subject: [PATCH] replace more tools with SegmentRangeReader (#30968) * replace lrfros * and those ones too --- selfdrive/debug/run_process_on_route.py | 9 +++------ selfdrive/debug/toyota_eps_factor.py | 6 ++---- tools/latencylogger/latency_logger.py | 4 ++-- tools/replay/can_replay.py | 4 ++-- tools/tuning/measure_steering_accuracy.py | 4 ++-- 5 files changed, 11 insertions(+), 16 deletions(-) diff --git a/selfdrive/debug/run_process_on_route.py b/selfdrive/debug/run_process_on_route.py index 8209b409ca..51ba06ec14 100755 --- a/selfdrive/debug/run_process_on_route.py +++ b/selfdrive/debug/run_process_on_route.py @@ -3,14 +3,12 @@ import argparse from openpilot.selfdrive.test.process_replay.process_replay import CONFIGS, replay_process -from openpilot.tools.lib.logreader import MultiLogIterator -from openpilot.tools.lib.route import Route from openpilot.tools.lib.helpers import save_log +from openpilot.tools.lib.srreader import SegmentRangeReader if __name__ == "__main__": parser = argparse.ArgumentParser(description="Run process on route and create new logs", formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument("--qlog", help="Use qlog instead of log", action="store_true") parser.add_argument("--fingerprint", help="The fingerprint to use") parser.add_argument("route", help="The route name to use") parser.add_argument("process", help="The process to run") @@ -18,8 +16,7 @@ if __name__ == "__main__": cfg = [c for c in CONFIGS if c.proc_name == args.process][0] - route = Route(args.route) - lr = MultiLogIterator(route.qlog_paths() if args.qlog else route.log_paths()) + lr = SegmentRangeReader(args.route) inputs = list(lr) outputs = replay_process(cfg, inputs, fingerprint=args.fingerprint) @@ -29,5 +26,5 @@ if __name__ == "__main__": inputs = [i for i in inputs if i.which() not in produces] outputs = sorted(inputs + outputs, key=lambda x: x.logMonoTime) - fn = f"{args.route}_{args.process}.bz2" + fn = f"{args.route.replace('/', '_')}_{args.process}.bz2" save_log(fn, outputs) diff --git a/selfdrive/debug/toyota_eps_factor.py b/selfdrive/debug/toyota_eps_factor.py index d60d2d372b..1f72fa296a 100755 --- a/selfdrive/debug/toyota_eps_factor.py +++ b/selfdrive/debug/toyota_eps_factor.py @@ -5,8 +5,7 @@ import matplotlib.pyplot as plt from sklearn import linear_model from openpilot.selfdrive.car.toyota.values import STEER_THRESHOLD -from openpilot.tools.lib.route import Route -from openpilot.tools.lib.logreader import MultiLogIterator +from openpilot.tools.lib.srreader import SegmentRangeReader MIN_SAMPLES = 30 * 100 @@ -58,7 +57,6 @@ def get_eps_factor(lr, plot=False): if __name__ == "__main__": - r = Route(sys.argv[1]) - lr = MultiLogIterator(r.log_paths()) + lr = SegmentRangeReader(sys.argv[1]) n = get_eps_factor(lr, plot="--plot" in sys.argv) print("EPS torque factor: ", n) diff --git a/tools/latencylogger/latency_logger.py b/tools/latencylogger/latency_logger.py index f2adc97e01..29d4889d35 100755 --- a/tools/latencylogger/latency_logger.py +++ b/tools/latencylogger/latency_logger.py @@ -8,7 +8,7 @@ import sys from bisect import bisect_left, bisect_right from collections import defaultdict -from openpilot.tools.lib.logreader import logreader_from_route_or_segment +from openpilot.tools.lib.srreader import SegmentRangeReader DEMO_ROUTE = "9f583b1d93915c31|2022-05-18--10-49-51--0" @@ -236,7 +236,7 @@ if __name__ == "__main__": args = parser.parse_args() r = DEMO_ROUTE if args.demo else args.route_or_segment_name.strip() - lr = logreader_from_route_or_segment(r, sort_by_time=True) + lr = SegmentRangeReader(r, sort_by_time=True) data, _ = get_timestamps(lr) print_timestamps(data['timestamp'], data['duration'], data['start'], args.relative) diff --git a/tools/replay/can_replay.py b/tools/replay/can_replay.py index 0827ca799f..590a37734c 100755 --- a/tools/replay/can_replay.py +++ b/tools/replay/can_replay.py @@ -11,7 +11,7 @@ os.environ['FILEREADER_CACHE'] = '1' from openpilot.common.realtime import config_realtime_process, Ratekeeper, DT_CTRL from openpilot.selfdrive.boardd.boardd import can_capnp_to_can_list from openpilot.tools.plotjuggler.juggle import load_segment -from openpilot.tools.lib.logreader import logreader_from_route_or_segment +from openpilot.tools.lib.srreader import SegmentRangeReader from panda import Panda, PandaJungle def send_thread(s, flock): @@ -102,7 +102,7 @@ if __name__ == "__main__": for lr in tqdm(pool.map(load_segment, logs)): CAN_MSGS += [can_capnp_to_can_list(m.can) for m in lr if m.which() == 'can'] else: - lr = logreader_from_route_or_segment(args.route_or_segment_name) + lr = SegmentRangeReader(args.route_or_segment_name) CAN_MSGS = [can_capnp_to_can_list(m.can) for m in lr if m.which() == 'can'] # set both to cycle ignition diff --git a/tools/tuning/measure_steering_accuracy.py b/tools/tuning/measure_steering_accuracy.py index a7718043cb..de4de46c2a 100755 --- a/tools/tuning/measure_steering_accuracy.py +++ b/tools/tuning/measure_steering_accuracy.py @@ -8,7 +8,7 @@ import signal from collections import defaultdict import cereal.messaging as messaging -from openpilot.tools.lib.logreader import logreader_from_route_or_segment +from openpilot.tools.lib.srreader import SegmentRangeReader def sigint_handler(signal, frame): exit(0) @@ -128,7 +128,7 @@ if __name__ == "__main__": if args.route is not None: print(f"loading {args.route}...") - lr = logreader_from_route_or_segment(args.route, sort_by_time=True) + lr = SegmentRangeReader(args.route, sort_by_time=True) sm = {} for msg in lr: