replace more tools with SegmentRangeReader (#30968)

* replace lrfros

* and those ones too
pull/30971/head
Justin Newberry 1 year ago committed by GitHub
parent f820b7cd94
commit 7e9843b5e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      selfdrive/debug/run_process_on_route.py
  2. 6
      selfdrive/debug/toyota_eps_factor.py
  3. 4
      tools/latencylogger/latency_logger.py
  4. 4
      tools/replay/can_replay.py
  5. 4
      tools/tuning/measure_steering_accuracy.py

@ -3,14 +3,12 @@
import argparse import argparse
from openpilot.selfdrive.test.process_replay.process_replay import CONFIGS, replay_process 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.helpers import save_log
from openpilot.tools.lib.srreader import SegmentRangeReader
if __name__ == "__main__": if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Run process on route and create new logs", parser = argparse.ArgumentParser(description="Run process on route and create new logs",
formatter_class=argparse.ArgumentDefaultsHelpFormatter) 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("--fingerprint", help="The fingerprint to use")
parser.add_argument("route", help="The route name to use") parser.add_argument("route", help="The route name to use")
parser.add_argument("process", help="The process to run") 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] cfg = [c for c in CONFIGS if c.proc_name == args.process][0]
route = Route(args.route) lr = SegmentRangeReader(args.route)
lr = MultiLogIterator(route.qlog_paths() if args.qlog else route.log_paths())
inputs = list(lr) inputs = list(lr)
outputs = replay_process(cfg, inputs, fingerprint=args.fingerprint) 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] inputs = [i for i in inputs if i.which() not in produces]
outputs = sorted(inputs + outputs, key=lambda x: x.logMonoTime) 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) save_log(fn, outputs)

@ -5,8 +5,7 @@ import matplotlib.pyplot as plt
from sklearn import linear_model from sklearn import linear_model
from openpilot.selfdrive.car.toyota.values import STEER_THRESHOLD from openpilot.selfdrive.car.toyota.values import STEER_THRESHOLD
from openpilot.tools.lib.route import Route from openpilot.tools.lib.srreader import SegmentRangeReader
from openpilot.tools.lib.logreader import MultiLogIterator
MIN_SAMPLES = 30 * 100 MIN_SAMPLES = 30 * 100
@ -58,7 +57,6 @@ def get_eps_factor(lr, plot=False):
if __name__ == "__main__": if __name__ == "__main__":
r = Route(sys.argv[1]) lr = SegmentRangeReader(sys.argv[1])
lr = MultiLogIterator(r.log_paths())
n = get_eps_factor(lr, plot="--plot" in sys.argv) n = get_eps_factor(lr, plot="--plot" in sys.argv)
print("EPS torque factor: ", n) print("EPS torque factor: ", n)

@ -8,7 +8,7 @@ import sys
from bisect import bisect_left, bisect_right from bisect import bisect_left, bisect_right
from collections import defaultdict 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" DEMO_ROUTE = "9f583b1d93915c31|2022-05-18--10-49-51--0"
@ -236,7 +236,7 @@ if __name__ == "__main__":
args = parser.parse_args() args = parser.parse_args()
r = DEMO_ROUTE if args.demo else args.route_or_segment_name.strip() 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) data, _ = get_timestamps(lr)
print_timestamps(data['timestamp'], data['duration'], data['start'], args.relative) print_timestamps(data['timestamp'], data['duration'], data['start'], args.relative)

@ -11,7 +11,7 @@ os.environ['FILEREADER_CACHE'] = '1'
from openpilot.common.realtime import config_realtime_process, Ratekeeper, DT_CTRL from openpilot.common.realtime import config_realtime_process, Ratekeeper, DT_CTRL
from openpilot.selfdrive.boardd.boardd import can_capnp_to_can_list from openpilot.selfdrive.boardd.boardd import can_capnp_to_can_list
from openpilot.tools.plotjuggler.juggle import load_segment 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 from panda import Panda, PandaJungle
def send_thread(s, flock): def send_thread(s, flock):
@ -102,7 +102,7 @@ if __name__ == "__main__":
for lr in tqdm(pool.map(load_segment, logs)): 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'] CAN_MSGS += [can_capnp_to_can_list(m.can) for m in lr if m.which() == 'can']
else: 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'] CAN_MSGS = [can_capnp_to_can_list(m.can) for m in lr if m.which() == 'can']
# set both to cycle ignition # set both to cycle ignition

@ -8,7 +8,7 @@ import signal
from collections import defaultdict from collections import defaultdict
import cereal.messaging as messaging 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): def sigint_handler(signal, frame):
exit(0) exit(0)
@ -128,7 +128,7 @@ if __name__ == "__main__":
if args.route is not None: if args.route is not None:
print(f"loading {args.route}...") 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 = {} sm = {}
for msg in lr: for msg in lr:

Loading…
Cancel
Save