add CAR.print_debug (#31652)

print debug
old-commit-hash: ac16c5518a
chrysler-long2
Justin Newberry 1 year ago committed by GitHub
parent a254be8fe3
commit b3bb450e4a
  1. 14
      selfdrive/car/__init__.py
  2. 4
      selfdrive/car/subaru/values.py

@ -1,5 +1,5 @@
# functions common among cars
from collections import namedtuple
from collections import defaultdict, namedtuple
from dataclasses import dataclass
from enum import IntFlag, ReprEnum
from dataclasses import replace
@ -301,3 +301,15 @@ class Platforms(str, ReprEnum):
@classmethod
def with_flags(cls, flags: IntFlag) -> set['Platforms']:
return {p for p in cls if p.config.flags & flags}
@classmethod
def print_debug(cls, flags):
platforms_with_flag = defaultdict(list)
for flag in flags:
for platform in cls:
if platform.config.flags & flag:
assert flag.name is not None
platforms_with_flag[flag.name].append(platform)
for flag, platforms in platforms_with_flag.items():
print(f"{flag:20s}: {', '.join(p.name for p in platforms)}")

@ -262,3 +262,7 @@ FW_QUERY_CONFIG = FwQueryConfig(
CAR_INFO = CAR.create_carinfo_map()
DBC = CAR.create_dbc_map()
if __name__ == "__main__":
CAR.print_debug(SubaruFlags)

Loading…
Cancel
Save