|  |  |  | @ -28,6 +28,7 @@ class CAR: | 
			
		
	
		
			
				
					|  |  |  |  |   IONIQ = "HYUNDAI IONIQ ELECTRIC PREMIUM SE 2020" | 
			
		
	
		
			
				
					|  |  |  |  |   IONIQ_EV_LTD = "HYUNDAI IONIQ ELECTRIC LIMITED 2019" | 
			
		
	
		
			
				
					|  |  |  |  |   KIA_FORTE = "KIA FORTE E 2018" | 
			
		
	
		
			
				
					|  |  |  |  |   KIA_NIRO_EV = "KIA NIRO EV 2020" | 
			
		
	
		
			
				
					|  |  |  |  |   KIA_OPTIMA = "KIA OPTIMA SX 2019 & 2016" | 
			
		
	
		
			
				
					|  |  |  |  |   KIA_OPTIMA_H = "KIA OPTIMA HYBRID 2017 & SPORTS 2019" | 
			
		
	
		
			
				
					|  |  |  |  |   KIA_SORENTO = "KIA SORENTO GT LINE 2018" | 
			
		
	
	
		
			
				
					|  |  |  | @ -129,6 +130,9 @@ FINGERPRINTS = { | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KONA_EV: [{ | 
			
		
	
		
			
				
					|  |  |  |  |     127: 8, 304: 8, 320: 8, 339: 8, 352: 8, 356: 4, 544: 8, 549: 8, 593: 8, 688: 5, 832: 8, 881: 8, 882: 8, 897: 8, 902: 8, 903: 8, 905: 8, 909: 8, 916: 8, 1040: 8, 1042: 8, 1056: 8, 1057: 8, 1078: 4, 1136: 8, 1151: 6, 1168: 7, 1173: 8, 1183: 8, 1186: 2, 1191: 2, 1225: 8, 1265: 4, 1280: 1, 1287: 4, 1290: 8, 1291: 8, 1292: 8, 1294: 8, 1307: 8, 1312: 8, 1322: 8, 1342: 6, 1345: 8, 1348: 8, 1355: 8, 1363: 8, 1369: 8, 1378: 4, 1407: 8, 1419: 8, 1426: 8, 1427: 6, 1429: 8, 1430: 8, 1456: 4, 1470: 8, 1473: 8, 1507: 8, 1535: 8, 2000: 8, 2004: 8, 2008: 8, 2012: 8 | 
			
		
	
		
			
				
					|  |  |  |  |   }], | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KIA_NIRO_EV: [{ | 
			
		
	
		
			
				
					|  |  |  |  |     127: 8, 304: 8, 320: 8, 339: 8, 352: 8, 356: 4, 516: 8, 544: 8, 593: 8, 688: 5, 832: 8, 881: 8, 882: 8, 897: 8, 902: 8, 903: 8, 905: 8, 909: 8, 916: 8, 1040: 8, 1042: 8, 1056: 8, 1057: 8, 1078: 4, 1136: 8, 1151: 6, 1156: 8, 1157: 4, 1168: 7, 1173: 8, 1183: 8, 1186: 2, 1191: 2, 1193: 8, 1225: 8, 1260: 8, 1265: 4, 1280: 1, 1287: 4, 1290: 8, 1291: 8, 1292: 8, 1294: 8, 1312: 8, 1322: 8, 1342: 6, 1345: 8, 1348: 8, 1355: 8, 1363: 8, 1369: 8, 1407: 8, 1419: 8, 1426: 8, 1427: 6, 1429: 8, 1430: 8, 1456: 4, 1470: 8, 1473: 8, 1507: 8, 1535: 8, 1990: 8, 1998: 8, 1996: 8, 2000: 8, 2004: 8, 2008: 8, 2012: 8, 2015: 8 | 
			
		
	
		
			
				
					|  |  |  |  |   }], | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KIA_FORTE: [{ | 
			
		
	
		
			
				
					|  |  |  |  |     67: 8, 127: 8, 304: 8, 320: 8, 339: 8, 356: 4, 544: 8, 593: 8, 608: 8, 688: 5, 809: 8, 832: 8, 854: 7, 870: 7, 871: 8, 872: 8, 897: 8, 902: 8, 903: 8, 909: 8, 916: 8, 1040: 8, 1042: 8, 1078: 4, 1107: 5, 1136: 8, 1156: 8, 1170: 8, 1173: 8, 1191: 2, 1225: 8, 1265: 4, 1280: 4, 1287: 4, 1292: 8, 1294: 8, 1312: 8, 1322: 8, 1342: 6, 1345: 8, 1348: 8, 1363: 8, 1369: 8, 1384: 8, 1394: 8, 1407: 8, 1427: 6, 1456: 4, 1470: 8 | 
			
		
	
		
			
				
					|  |  |  |  |   }], | 
			
		
	
	
		
			
				
					|  |  |  | @ -256,6 +260,24 @@ FW_VERSIONS = { | 
			
		
	
		
			
				
					|  |  |  |  |     (Ecu.fwdCamera, 0x7c4, None): [b'\xf1\x00OS9 LKAS AT USA LHD 1.00 1.00 95740-J9300 g21', ], | 
			
		
	
		
			
				
					|  |  |  |  |     (Ecu.transmission, 0x7e1, None): [b'\xf1\x816U2VE051\x00\x00\xf1\x006U2V0_C2\x00\x006U2VE051\x00\x00DOS4T16NS3\x00\x00\x00\x00', ], | 
			
		
	
		
			
				
					|  |  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KIA_NIRO_EV: { | 
			
		
	
		
			
				
					|  |  |  |  |     (Ecu.fwdRadar, 0x7D0, None): [ | 
			
		
	
		
			
				
					|  |  |  |  |       b'\xf1\x00DEev SCC F-CUP      1.00 1.03 96400-Q4100         \xf1\xa01.03', | 
			
		
	
		
			
				
					|  |  |  |  |       b'\xf1\x00DEev SCC F-CUP      1.00 1.00 99110-Q4000         \xf1\xa01.00',       | 
			
		
	
		
			
				
					|  |  |  |  |     ], | 
			
		
	
		
			
				
					|  |  |  |  |     (Ecu.esp, 0x7D1, None): [ | 
			
		
	
		
			
				
					|  |  |  |  |       b'\xf1\xa01.06', | 
			
		
	
		
			
				
					|  |  |  |  |       b'\xf1\xa01.07',       | 
			
		
	
		
			
				
					|  |  |  |  |     ], | 
			
		
	
		
			
				
					|  |  |  |  |     (Ecu.eps, 0x7D4, None): [ | 
			
		
	
		
			
				
					|  |  |  |  |       b'\xf1\x00DE  MDPS C 1.00 1.05 56310Q4000\x00 4DEEC105', | 
			
		
	
		
			
				
					|  |  |  |  |       b'\xf1\x00DE  MDPS C 1.00 1.05 56310Q4100\x00 4DEEC105', | 
			
		
	
		
			
				
					|  |  |  |  |     ], | 
			
		
	
		
			
				
					|  |  |  |  |     (Ecu.fwdCamera, 0x7C4, None): [ | 
			
		
	
		
			
				
					|  |  |  |  |       b'\xf1\x00DEE MFC  AT USA LHD 1.00 1.03 95740-Q4000 180821', | 
			
		
	
		
			
				
					|  |  |  |  |       b'\xf1\x00DEE MFC  AT EUR LHD 1.00 1.00 99211-Q4000 191211', | 
			
		
	
		
			
				
					|  |  |  |  |     ], | 
			
		
	
		
			
				
					|  |  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KIA_OPTIMA: { | 
			
		
	
		
			
				
					|  |  |  |  |     (Ecu.fwdRadar, 0x7d0, None): [b'\xf1\x00JF__ SCC F-CUP      1.00 1.00 96400-D4110         '], | 
			
		
	
		
			
				
					|  |  |  |  |     (Ecu.esp, 0x7d1, None): [b'\xf1\x00JF ESC \v 11 \x18\x030 58920-D5180',], | 
			
		
	
	
		
			
				
					|  |  |  | @ -275,15 +297,15 @@ FEATURES = { | 
			
		
	
		
			
				
					|  |  |  |  |   # which message has the gear | 
			
		
	
		
			
				
					|  |  |  |  |   "use_cluster_gears": set([CAR.ELANTRA, CAR.ELANTRA_GT_I30, CAR.KONA]), | 
			
		
	
		
			
				
					|  |  |  |  |   "use_tcu_gears": set([CAR.KIA_OPTIMA, CAR.SONATA_2019, CAR.VELOSTER]), | 
			
		
	
		
			
				
					|  |  |  |  |   "use_elect_gears": set([CAR.KIA_OPTIMA_H, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.IONIQ]), | 
			
		
	
		
			
				
					|  |  |  |  |   "use_elect_gears": set([CAR.KIA_NIRO_EV, CAR.KIA_OPTIMA_H, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.IONIQ]), | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   # these cars use the FCA11 message for the AEB and FCW signals, all others use SCC12 | 
			
		
	
		
			
				
					|  |  |  |  |   "use_fca": set([CAR.SONATA, CAR.ELANTRA, CAR.ELANTRA_GT_I30, CAR.KIA_STINGER, CAR.IONIQ, CAR.KONA_EV, CAR.KIA_FORTE, CAR.PALISADE, CAR.GENESIS_G70, CAR.KONA]), | 
			
		
	
		
			
				
					|  |  |  |  |   "use_fca": set([CAR.SONATA, CAR.ELANTRA, CAR.ELANTRA_GT_I30, CAR.KIA_STINGER, CAR.IONIQ, CAR.KONA_EV, CAR.KIA_FORTE, CAR.KIA_NIRO_EV, CAR.PALISADE, CAR.GENESIS_G70, CAR.KONA]), | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   "use_bsm": set([CAR.SONATA, CAR.PALISADE, CAR.HYUNDAI_GENESIS, CAR.GENESIS_G70, CAR.GENESIS_G80, CAR.GENESIS_G90, CAR.KONA]), | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | EV_HYBRID = set([CAR.IONIQ_EV_LTD, CAR.IONIQ, CAR.KONA_EV]) | 
			
		
	
		
			
				
					|  |  |  |  | EV_HYBRID = set([CAR.IONIQ_EV_LTD, CAR.IONIQ, CAR.KONA_EV, CAR.KIA_NIRO_EV]) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | DBC = { | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.ELANTRA: dbc_dict('hyundai_kia_generic', None), | 
			
		
	
	
		
			
				
					|  |  |  | @ -295,6 +317,7 @@ DBC = { | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.IONIQ_EV_LTD: dbc_dict('hyundai_kia_generic', None), | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.IONIQ: dbc_dict('hyundai_kia_generic', None), | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KIA_FORTE: dbc_dict('hyundai_kia_generic', None), | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KIA_NIRO_EV: dbc_dict('hyundai_kia_generic', None), | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KIA_OPTIMA: dbc_dict('hyundai_kia_generic', None), | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KIA_OPTIMA_H: dbc_dict('hyundai_kia_generic', None), | 
			
		
	
		
			
				
					|  |  |  |  |   CAR.KIA_SORENTO: dbc_dict('hyundai_kia_generic', None), | 
			
		
	
	
		
			
				
					|  |  |  | 
 |