            CanBus.POWERTRAIN, apply_steer, idx, lkas_enabled))
  
      ### GAS/BRAKE ###
  
      if self.car_fingerprint not in SUPERCRUISE_CARS:
        # no output if not enabled, but keep sending keepalive messages
        # treat pedals as one
        final_pedal = actuators.gas - actuators.brake
  
        # *** apply pedal hysteresis ***
        final_brake, self.brake_steady = actuator_hystereses(
          final_pedal, self.pedal_steady)
  
 
</s> remove       if self.car_fingerprint in SUPERCRUISE_CARS:
        can_sends += gmcan.create_steering_control_ct6(self.packer_pt,
          CanBus, apply_steer, CS.out.vEgo, idx, lkas_enabled)
      else:
        can_sends.append(gmcan.create_steering_control(self.packer_pt,
          CanBus.POWERTRAIN, apply_steer, idx, lkas_enabled))
 </s> add       can_sends.append(gmcan.create_steering_control(self.packer_pt,
        CanBus.POWERTRAIN, apply_steer, idx, lkas_enabled)) </s> remove     alert_out = process_hud_alert(hud_alert)
    steer = alert_out

 </s> add  </s> remove def process_hud_alert(hud_alert):
  # initialize to no alert
  steer = 0
  if hud_alert == VisualAlert.steerRequired:
    steer = 1
  return steer

 </s> add  </s> remove     supercruise = self.CS.car_fingerprint in SUPERCRUISE_CARS
    events = self.create_common_events(ret, pcm_enable=supercruise)

    if not supercruise:
      # TODO: why is this only not supercruise? ignore supercruise?
      if ret.vEgo < self.CP.minEnableSpeed:
        events.append(create_event('speedTooLow', [ET.NO_ENTRY]))
      if self.CS.park_brake:
        events.append(create_event('parkBrake', [ET.NO_ENTRY, ET.USER_DISABLE]))
      if ret.cruiseState.standstill:
        events.append(create_event('resumeRequired', [ET.WARNING]))
      if self.CS.pcm_acc_status == AccState.FAULTED:
        events.append(create_event('controlsFailed', [ET.NO_ENTRY, ET.IMMEDIATE_DISABLE]))

      # handle button presses
      for b in ret.buttonEvents:
        # do enable on both accel and decel buttons
        if b.type in [ButtonType.accelCruise, ButtonType.decelCruise] and not b.pressed:
          events.append(create_event('buttonEnable', [ET.ENABLE]))
        # do disable on button down
        if b.type == ButtonType.cancel and b.pressed:
          events.append(create_event('buttonCancel', [ET.USER_DISABLE]))
 </s> add     events = self.create_common_events(ret, pcm_enable=False)

    if ret.vEgo < self.CP.minEnableSpeed:
      events.append(create_event('speedTooLow', [ET.NO_ENTRY]))
    if self.CS.park_brake:
      events.append(create_event('parkBrake', [ET.NO_ENTRY, ET.USER_DISABLE]))
    if ret.cruiseState.standstill:
      events.append(create_event('resumeRequired', [ET.WARNING]))
    if self.CS.pcm_acc_status == AccState.FAULTED:
      events.append(create_event('controlsFailed', [ET.NO_ENTRY, ET.IMMEDIATE_DISABLE]))

    # handle button presses
    for b in ret.buttonEvents:
      # do enable on both accel and decel buttons
      if b.type in [ButtonType.accelCruise, ButtonType.decelCruise] and not b.pressed:
        events.append(create_event('buttonEnable', [ET.ENABLE]))
      # do disable on button down
      if b.type == ButtonType.cancel and b.pressed:
        events.append(create_event('buttonCancel', [ET.USER_DISABLE])) </s> remove   def __init__(self, car_fingerprint):
    if car_fingerprint in SUPERCRUISE_CARS:
      self.STEER_MAX = 150
      self.STEER_STEP = 1              # how often we update the steer cmd
      self.STEER_DELTA_UP = 2          # 0.75s time to peak torque
      self.STEER_DELTA_DOWN = 5        # 0.3s from peak torque to zero
      self.MIN_STEER_SPEED = -1.       # can steer down to zero
    else:
      self.STEER_MAX = 300
      self.STEER_STEP = 2              # how often we update the steer cmd
      self.STEER_DELTA_UP = 7          # ~0.75s time to peak torque (255/50hz/0.75s)
      self.STEER_DELTA_DOWN = 17       # ~0.3s from peak torque to zero
      self.MIN_STEER_SPEED = 3.

 </s> add   def __init__(self):
    self.STEER_MAX = 300
    self.STEER_STEP = 2              # how often we update the steer cmd
    self.STEER_DELTA_UP = 7          # ~0.75s time to peak torque (255/50hz/0.75s)
    self.STEER_DELTA_DOWN = 17       # ~0.3s from peak torque to zero
    self.MIN_STEER_SPEED = 3.
    # no output if not enabled, but keep sending keepalive messages
    # treat pedals as one
    final_pedal = actuators.gas - actuators.brake
            CanBus.POWERTRAIN, apply_steer, idx, lkas_enabled))
  
      ### GAS/BRAKE ###
  
    # no output if not enabled, but keep sending keepalive messages
    # treat pedals as one
    final_pedal = actuators.gas - actuators.brake
    # no output if not enabled, but keep sending keepalive messages
    # treat pedals as one
    final_pedal = actuators.gas - actuators.brake
    # no output if not enabled, but keep sending keepalive messages
    # treat pedals as one
    final_pedal = actuators.gas - actuators.brake
    # no output if not enabled, but keep sending keepalive messages
    # treat pedals as one
    final_pedal = actuators.gas - actuators.brake
  
        # *** apply pedal hysteresis ***
        final_brake, self.brake_steady = actuator_hystereses(
          final_pedal, self.pedal_steady)
  
keep keep keep keep replace replace replace replace keep keep keep keep keep
 Remove Cadillac CT6 port (#1359)

* remove CT6 port

* dont need this route

* extra char

* fix carcontroller params 
selfdrive/car/gm/carcontroller.py