|  |  | @ -4,7 +4,7 @@ from collections import defaultdict | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | from cereal import car |  |  |  | from cereal import car | 
			
		
	
		
		
			
				
					
					|  |  |  | from selfdrive.car.hyundai.values import CAMERA_SCC_CAR, CANFD_CAR, CAN_GEARS, CAR, CHECKSUM, FW_QUERY_CONFIG, \ |  |  |  | from selfdrive.car.hyundai.values import CAMERA_SCC_CAR, CANFD_CAR, CAN_GEARS, CAR, CHECKSUM, FW_QUERY_CONFIG, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |                                          FW_VERSIONS, LEGACY_SAFETY_MODE_CAR, PART_NUMBER_FW_PATTERN |  |  |  |                                          FW_VERSIONS, LEGACY_SAFETY_MODE_CAR, PART_NUMBER_FW_PATTERN, PLATFORM_CODE_FW_PATTERN | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | Ecu = car.CarParams.Ecu |  |  |  | Ecu = car.CarParams.Ecu | 
			
		
	
		
		
			
				
					
					|  |  |  | ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()} |  |  |  | ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()} | 
			
		
	
	
		
		
			
				
					|  |  | @ -39,7 +39,9 @@ class TestHyundaiFingerprint(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |           for fw in fws: |  |  |  |           for fw in fws: | 
			
		
	
		
		
			
				
					
					|  |  |  |             match = PART_NUMBER_FW_PATTERN.search(fw) |  |  |  |             match = PART_NUMBER_FW_PATTERN.search(fw) | 
			
		
	
		
		
			
				
					
					|  |  |  |             all_part_numbers[(*ecu, match.group())].add(car_model) |  |  |  |             code, date = PLATFORM_CODE_FW_PATTERN.search(fw).groups() | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             print(code, date) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             all_part_numbers[(*ecu, code + b" " + match.group() + b" " + (date or b""))].add(car_model) | 
			
		
	
		
		
			
				
					
					|  |  |  |             self.assertIsNotNone(match, fw) |  |  |  |             self.assertIsNotNone(match, fw) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     for ecu, platforms in all_part_numbers.items(): |  |  |  |     for ecu, platforms in all_part_numbers.items(): | 
			
		
	
	
		
		
			
				
					|  |  | 
 |