|  |  |  | @ -126,12 +126,12 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  |     ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(gear)) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     if not self.CP.openpilotLongitudinalControl: | 
			
		
	
		
			
				
					|  |  |  |  |       if self.CP.carFingerprint in FEATURES["use_fca"]: | 
			
		
	
		
			
				
					|  |  |  |  |         ret.stockAeb = cp_cruise.vl["FCA11"]["FCA_CmdAct"] != 0 | 
			
		
	
		
			
				
					|  |  |  |  |         ret.stockFcw = cp_cruise.vl["FCA11"]["CF_VSM_Warn"] == 2 | 
			
		
	
		
			
				
					|  |  |  |  |       else: | 
			
		
	
		
			
				
					|  |  |  |  |         ret.stockAeb = cp_cruise.vl["SCC12"]["AEB_CmdAct"] != 0 | 
			
		
	
		
			
				
					|  |  |  |  |         ret.stockFcw = cp_cruise.vl["SCC12"]["CF_VSM_Warn"] == 2 | 
			
		
	
		
			
				
					|  |  |  |  |       aeb_src = "FCA11" if self.CP.carFingerprint in FEATURES["use_fca"] else "SCC12" | 
			
		
	
		
			
				
					|  |  |  |  |       aeb_sig = "FCA_CmdAct" if self.CP.carFingerprint in FEATURES["use_fca"] else "AEB_CmdAct" | 
			
		
	
		
			
				
					|  |  |  |  |       aeb_warning = cp_cruise.vl[aeb_src]["CF_VSM_Warn"] != 0 | 
			
		
	
		
			
				
					|  |  |  |  |       aeb_braking = cp_cruise.vl[aeb_src]["CF_VSM_DecCmdAct"] != 0 or cp_cruise.vl[aeb_src][aeb_sig] != 0 | 
			
		
	
		
			
				
					|  |  |  |  |       ret.stockFcw = aeb_warning and not aeb_braking | 
			
		
	
		
			
				
					|  |  |  |  |       ret.stockAeb = aeb_warning and aeb_braking | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     if self.CP.enableBsm: | 
			
		
	
		
			
				
					|  |  |  |  |       ret.leftBlindspot = cp.vl["LCA11"]["CF_Lca_IndLeft"] != 0 | 
			
		
	
	
		
			
				
					|  |  |  | @ -294,12 +294,14 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  |         signals += [ | 
			
		
	
		
			
				
					|  |  |  |  |           ("FCA_CmdAct", "FCA11"), | 
			
		
	
		
			
				
					|  |  |  |  |           ("CF_VSM_Warn", "FCA11"), | 
			
		
	
		
			
				
					|  |  |  |  |           ("CF_VSM_DecCmdAct", "FCA11"), | 
			
		
	
		
			
				
					|  |  |  |  |         ] | 
			
		
	
		
			
				
					|  |  |  |  |         checks.append(("FCA11", 50)) | 
			
		
	
		
			
				
					|  |  |  |  |       else: | 
			
		
	
		
			
				
					|  |  |  |  |         signals += [ | 
			
		
	
		
			
				
					|  |  |  |  |           ("AEB_CmdAct", "SCC12"), | 
			
		
	
		
			
				
					|  |  |  |  |           ("CF_VSM_Warn", "SCC12"), | 
			
		
	
		
			
				
					|  |  |  |  |           ("CF_VSM_DecCmdAct", "SCC12"), | 
			
		
	
		
			
				
					|  |  |  |  |         ] | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     if CP.enableBsm: | 
			
		
	
	
		
			
				
					|  |  |  | @ -383,12 +385,14 @@ class CarState(CarStateBase): | 
			
		
	
		
			
				
					|  |  |  |  |         signals += [ | 
			
		
	
		
			
				
					|  |  |  |  |           ("FCA_CmdAct", "FCA11"), | 
			
		
	
		
			
				
					|  |  |  |  |           ("CF_VSM_Warn", "FCA11"), | 
			
		
	
		
			
				
					|  |  |  |  |           ("CF_VSM_DecCmdAct", "FCA11"), | 
			
		
	
		
			
				
					|  |  |  |  |         ] | 
			
		
	
		
			
				
					|  |  |  |  |         checks.append(("FCA11", 50)) | 
			
		
	
		
			
				
					|  |  |  |  |       else: | 
			
		
	
		
			
				
					|  |  |  |  |         signals += [ | 
			
		
	
		
			
				
					|  |  |  |  |           ("AEB_CmdAct", "SCC12"), | 
			
		
	
		
			
				
					|  |  |  |  |           ("CF_VSM_Warn", "SCC12"), | 
			
		
	
		
			
				
					|  |  |  |  |           ("CF_VSM_DecCmdAct", "SCC12"), | 
			
		
	
		
			
				
					|  |  |  |  |         ] | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, 2) | 
			
		
	
	
		
			
				
					|  |  |  | 
 |