parent
							
								
									593b0a50f6
								
							
						
					
					
						commit
						72895af60b
					
				
				 6 changed files with 34 additions and 28 deletions
			
			
		@ -1,30 +1,28 @@ | 
				
			|||||||
#!/usr/bin/env python3 | 
					#!/usr/bin/env python3 | 
				
			||||||
from collections import defaultdict | 
					from collections import defaultdict | 
				
			||||||
 | 
					
 | 
				
			||||||
from cereal import car | 
					from openpilot.selfdrive.car.data_structures import CarParams | 
				
			||||||
from openpilot.selfdrive.car.ford.values import get_platform_codes | 
					from openpilot.selfdrive.car.ford.values import get_platform_codes | 
				
			||||||
from openpilot.selfdrive.car.ford.fingerprints import FW_VERSIONS | 
					from openpilot.selfdrive.car.ford.fingerprints import FW_VERSIONS | 
				
			||||||
 | 
					
 | 
				
			||||||
Ecu = car.CarParams.Ecu | 
					Ecu = CarParams.Ecu | 
				
			||||||
ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()} | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == "__main__": | 
					if __name__ == "__main__": | 
				
			||||||
  cars_for_code: defaultdict = defaultdict(lambda: defaultdict(set)) | 
					  cars_for_code: defaultdict = defaultdict(lambda: defaultdict(set)) | 
				
			||||||
 | 
					
 | 
				
			||||||
  for car_model, ecus in FW_VERSIONS.items(): | 
					  for car_model, ecus in FW_VERSIONS.items(): | 
				
			||||||
    print(car_model) | 
					    print(car_model) | 
				
			||||||
    for ecu in sorted(ecus, key=lambda x: int(x[0])): | 
					    for ecu in sorted(ecus): | 
				
			||||||
      platform_codes = get_platform_codes(ecus[ecu]) | 
					      platform_codes = get_platform_codes(ecus[ecu]) | 
				
			||||||
      for code in platform_codes: | 
					      for code in platform_codes: | 
				
			||||||
        cars_for_code[ecu][code].add(car_model) | 
					        cars_for_code[ecu][code].add(car_model) | 
				
			||||||
 | 
					
 | 
				
			||||||
      print(f'  (Ecu.{ECU_NAME[ecu[0]]}, {hex(ecu[1])}, {ecu[2]}):') | 
					      print(f'  (Ecu.{ecu[0]}, {hex(ecu[1])}, {ecu[2]}):') | 
				
			||||||
      print(f'    Codes: {sorted(platform_codes)}') | 
					      print(f'    Codes: {sorted(platform_codes)}') | 
				
			||||||
    print() | 
					    print() | 
				
			||||||
 | 
					
 | 
				
			||||||
  print('\nCar models vs. platform codes:') | 
					  print('\nCar models vs. platform codes:') | 
				
			||||||
  for ecu, codes in cars_for_code.items(): | 
					  for ecu, codes in cars_for_code.items(): | 
				
			||||||
    print(f'  (Ecu.{ECU_NAME[ecu[0]]}, {hex(ecu[1])}, {ecu[2]}):') | 
					    print(f'  (Ecu.{ecu[0]}, {hex(ecu[1])}, {ecu[2]}):') | 
				
			||||||
    for code, cars in codes.items(): | 
					    for code, cars in codes.items(): | 
				
			||||||
      print(f'    {code!r}: {sorted(map(str, cars))}') | 
					      print(f'    {code!r}: {sorted(map(str, cars))}') | 
				
			||||||
 | 
				
			|||||||
@ -1,22 +1,21 @@ | 
				
			|||||||
#!/usr/bin/env python3 | 
					#!/usr/bin/env python3 | 
				
			||||||
from cereal import car | 
					from openpilot.selfdrive.car.data_structures import CarParams | 
				
			||||||
from openpilot.selfdrive.car.hyundai.values import PLATFORM_CODE_ECUS, get_platform_codes | 
					from openpilot.selfdrive.car.hyundai.values import PLATFORM_CODE_ECUS, get_platform_codes | 
				
			||||||
from openpilot.selfdrive.car.hyundai.fingerprints import FW_VERSIONS | 
					from openpilot.selfdrive.car.hyundai.fingerprints import FW_VERSIONS | 
				
			||||||
 | 
					
 | 
				
			||||||
Ecu = car.CarParams.Ecu | 
					Ecu = CarParams.Ecu | 
				
			||||||
ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()} | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == "__main__": | 
					if __name__ == "__main__": | 
				
			||||||
  for car_model, ecus in FW_VERSIONS.items(): | 
					  for car_model, ecus in FW_VERSIONS.items(): | 
				
			||||||
    print() | 
					    print() | 
				
			||||||
    print(car_model) | 
					    print(car_model) | 
				
			||||||
    for ecu in sorted(ecus, key=lambda x: int(x[0])): | 
					    for ecu in sorted(ecus): | 
				
			||||||
      if ecu[0] not in PLATFORM_CODE_ECUS: | 
					      if ecu[0] not in PLATFORM_CODE_ECUS: | 
				
			||||||
        continue | 
					        continue | 
				
			||||||
 | 
					
 | 
				
			||||||
      platform_codes = get_platform_codes(ecus[ecu]) | 
					      platform_codes = get_platform_codes(ecus[ecu]) | 
				
			||||||
      codes = {code for code, _ in platform_codes} | 
					      codes = {code for code, _ in platform_codes} | 
				
			||||||
      dates = {date for _, date in platform_codes if date is not None} | 
					      dates = {date for _, date in platform_codes if date is not None} | 
				
			||||||
      print(f'  (Ecu.{ECU_NAME[ecu[0]]}, {hex(ecu[1])}, {ecu[2]}):') | 
					      print(f'  (Ecu.{ecu[0]}, {hex(ecu[1])}, {ecu[2]}):') | 
				
			||||||
      print(f'    Codes: {codes}') | 
					      print(f'    Codes: {codes}') | 
				
			||||||
      print(f'    Dates: {dates}') | 
					      print(f'    Dates: {dates}') | 
				
			||||||
 | 
				
			|||||||
					Loading…
					
					
				
		Reference in new issue