Remove can_capnp_to_can_list (#34542)

* about equal with multiprocessing

* but almost half without ;)

* rm

* Update tools/replay/can_replay.py
pull/34545/head
Shane Smiskol 3 months ago committed by GitHub
parent 3c72f1aa42
commit fb517b5bca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 7
      selfdrive/pandad/__init__.py
  2. 16
      tools/replay/can_replay.py

@ -2,10 +2,3 @@
from openpilot.selfdrive.pandad.pandad_api_impl import can_list_to_can_capnp, can_capnp_to_list from openpilot.selfdrive.pandad.pandad_api_impl import can_list_to_can_capnp, can_capnp_to_list
assert can_list_to_can_capnp assert can_list_to_can_capnp
assert can_capnp_to_list assert can_capnp_to_list
def can_capnp_to_can_list(can, src_filter=None):
ret = []
for msg in can:
if src_filter is None or msg.src in src_filter:
ret.append((msg.address, msg.dat, msg.src))
return ret

@ -8,7 +8,7 @@ import threading
os.environ['FILEREADER_CACHE'] = '1' 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.pandad import can_capnp_to_can_list from openpilot.selfdrive.pandad import can_capnp_to_list
from openpilot.tools.lib.logreader import LogReader from openpilot.tools.lib.logreader import LogReader
from panda import PandaJungle from panda import PandaJungle
@ -80,17 +80,15 @@ def connect():
time.sleep(1) time.sleep(1)
def process(lr):
return [can_capnp_to_can_list(m.can) for m in lr if m.which() == 'can']
def load_route(route_or_segment_name): def load_route(route_or_segment_name):
print("Loading log...") print("Loading log...")
sr = LogReader(route_or_segment_name) lr = LogReader(route_or_segment_name)
CP = sr.first("carParams") CP = lr.first("carParams")
print(f"carFingerprint (for hardcoding fingerprint): '{CP.carFingerprint}'") print(f"carFingerprint: '{CP.carFingerprint}'")
CAN_MSGS = sr.run_across_segments(24, process) mbytes = [m.as_builder().to_bytes() for m in lr if m.which() == 'can']
print("Finished loading...") return [m[1] for m in can_capnp_to_list(mbytes)]
return CAN_MSGS
if __name__ == "__main__": if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Replay CAN messages from a route to all connected pandas and jungles in a loop.", parser = argparse.ArgumentParser(description="Replay CAN messages from a route to all connected pandas and jungles in a loop.",

Loading…
Cancel
Save