debug FW fingerprinting: live support (#32585)

* live debug!

* clean up
old-commit-hash: 63f55f4915
097
Shane Smiskol 11 months ago committed by GitHub
parent c2b13f27b9
commit b7949ec7ad
  1. 14
      selfdrive/debug/debug_fw_fingerprinting_offline.py

@ -1,11 +1,12 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import argparse import argparse
from openpilot.tools.lib.live_logreader import live_logreader
from openpilot.tools.lib.logreader import LogReader, ReadMode from openpilot.tools.lib.logreader import LogReader, ReadMode
from panda.python import uds from panda.python import uds
def main(route: str, addrs: list[int]): def main(route: str | None, addrs: list[int]):
""" """
TODO: TODO:
- highlight TX vs RX clearly - highlight TX vs RX clearly
@ -13,7 +14,10 @@ def main(route: str, addrs: list[int]):
- print as fixed width table, easier to read - print as fixed width table, easier to read
""" """
lr = LogReader(route, default_mode=ReadMode.RLOG, sort_by_time=True) if route is None:
lr = live_logreader()
else:
lr = LogReader(route, default_mode=ReadMode.RLOG, sort_by_time=True)
start_mono_time = None start_mono_time = None
prev_mono_time = 0 prev_mono_time = 0
@ -28,7 +32,7 @@ def main(route: str, addrs: list[int]):
if msg.which() in ("can", 'sendcan'): if msg.which() in ("can", 'sendcan'):
for can in getattr(msg, msg.which()): for can in getattr(msg, msg.which()):
if can.address in addrs: if can.address in addrs or not len(addrs):
if msg.logMonoTime != prev_mono_time: if msg.logMonoTime != prev_mono_time:
print() print()
prev_mono_time = msg.logMonoTime prev_mono_time = msg.logMonoTime
@ -38,8 +42,8 @@ def main(route: str, addrs: list[int]):
if __name__ == "__main__": if __name__ == "__main__":
parser = argparse.ArgumentParser(description='View back and forth ISO-TP communication between various ECUs given an address') parser = argparse.ArgumentParser(description='View back and forth ISO-TP communication between various ECUs given an address')
parser.add_argument('route', help='Route name') parser.add_argument('route', nargs='?', help='Route name, live if not specified')
parser.add_argument('addrs', nargs='*', help='List of tx address to view (0x7e0 for engine)') parser.add_argument('--addrs', nargs='*', default=[], help='List of tx address to view (0x7e0 for engine)')
args = parser.parse_args() args = parser.parse_args()
addrs = [int(addr, base=16) if addr.startswith('0x') else int(addr) for addr in args.addrs] addrs = [int(addr, base=16) if addr.startswith('0x') else int(addr) for addr in args.addrs]

Loading…
Cancel
Save