|  |  | @ -94,7 +94,7 @@ def create_lfahda_mfc(packer, enabled, hda_set_speed=0): | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   return packer.make_can_msg("LFAHDA_MFC", 0, values) |  |  |  |   return packer.make_can_msg("LFAHDA_MFC", 0, values) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | def create_acc_commands(packer, enabled, accel, jerk, idx, lead_visible, set_speed, stopping, gas_pressed): |  |  |  | def create_acc_commands(packer, enabled, accel, upper_jerk, idx, lead_visible, set_speed, stopping, gas_pressed): | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   commands = [] |  |  |  |   commands = [] | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   scc11_values = { |  |  |  |   scc11_values = { | 
			
		
	
	
		
		
			
				
					|  |  | @ -102,12 +102,12 @@ def create_acc_commands(packer, enabled, accel, jerk, idx, lead_visible, set_spe | 
			
		
	
		
		
			
				
					
					|  |  |  |     "TauGapSet": 4, |  |  |  |     "TauGapSet": 4, | 
			
		
	
		
		
			
				
					
					|  |  |  |     "VSetDis": set_speed if enabled else 0, |  |  |  |     "VSetDis": set_speed if enabled else 0, | 
			
		
	
		
		
			
				
					
					|  |  |  |     "AliveCounterACC": idx % 0x10, |  |  |  |     "AliveCounterACC": idx % 0x10, | 
			
		
	
		
		
			
				
					
					|  |  |  |     "ObjValid": 0,  # TODO: these two bits may allow for better longitudinal control |  |  |  |     "ObjValid": 1, # close lead makes controls tighter | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     "ACC_ObjStatus": 0, |  |  |  |     "ACC_ObjStatus": 1, # close lead makes controls tighter | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     "ACC_ObjLatPos": 0, |  |  |  |     "ACC_ObjLatPos": 0, | 
			
		
	
		
		
			
				
					
					|  |  |  |     "ACC_ObjRelSpd": 0, |  |  |  |     "ACC_ObjRelSpd": 0, | 
			
		
	
		
		
			
				
					
					|  |  |  |     "ACC_ObjDist": 0, |  |  |  |     "ACC_ObjDist": 1, # close lead makes controls tighter | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |     } | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   commands.append(packer.make_can_msg("SCC11", 0, scc11_values)) |  |  |  |   commands.append(packer.make_can_msg("SCC11", 0, scc11_values)) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   scc12_values = { |  |  |  |   scc12_values = { | 
			
		
	
	
		
		
			
				
					|  |  | @ -125,8 +125,8 @@ def create_acc_commands(packer, enabled, accel, jerk, idx, lead_visible, set_spe | 
			
		
	
		
		
			
				
					
					|  |  |  |   scc14_values = { |  |  |  |   scc14_values = { | 
			
		
	
		
		
			
				
					
					|  |  |  |     "ComfortBandUpper": 0.0, # stock usually is 0 but sometimes uses higher values |  |  |  |     "ComfortBandUpper": 0.0, # stock usually is 0 but sometimes uses higher values | 
			
		
	
		
		
			
				
					
					|  |  |  |     "ComfortBandLower": 0.0, # stock usually is 0 but sometimes uses higher values |  |  |  |     "ComfortBandLower": 0.0, # stock usually is 0 but sometimes uses higher values | 
			
		
	
		
		
			
				
					
					|  |  |  |     "JerkUpperLimit": max(jerk, 1.0) if not stopping else 0, # stock usually is 1.0 but sometimes uses higher values |  |  |  |     "JerkUpperLimit": upper_jerk, # stock usually is 1.0 but sometimes uses higher values | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     "JerkLowerLimit": max(-jerk, 1.0), # stock usually is 0.5 but sometimes uses higher values |  |  |  |     "JerkLowerLimit": 5.0, # stock usually is 0.5 but sometimes uses higher values | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     "ACCMode": 2 if enabled and gas_pressed else 1 if enabled else 4, # stock will always be 4 instead of 0 after first disengage |  |  |  |     "ACCMode": 2 if enabled and gas_pressed else 1 if enabled else 4, # stock will always be 4 instead of 0 after first disengage | 
			
		
	
		
		
			
				
					
					|  |  |  |     "ObjGap": 2 if lead_visible else 0, # 5: >30, m, 4: 25-30 m, 3: 20-25 m, 2: < 20 m, 0: no lead |  |  |  |     "ObjGap": 2 if lead_visible else 0, # 5: >30, m, 4: 25-30 m, 3: 20-25 m, 2: < 20 m, 0: no lead | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |