commaai / openpilot

openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system in 275+ supported cars.
https://comma.ai/openpilot
MIT License
49.67k stars 9.04k forks source link

Chyrlser: resume ACC from standstill #24883

Closed adeebshihadeh closed 2 years ago

sshane commented 2 years ago

Spamming both busses should work according to @realfast

realfast commented 2 years ago

I am sure there is a better way

I did the following in carcontroller:

if CC.cruiseControl.cancel:
      can_sends.append(create_wheel_buttons(self.packer, CS.button_counter + 1, 0, cancel=True, acc_resume = False))
      can_sends.append(create_wheel_buttons(self.packer, CS.button_counter + 1, 2, cancel=True, acc_resume = False))
    elif CS.out.cruiseState.standstill:
      can_sends.append(create_wheel_buttons(self.packer, CS.button_counter + 1, 0, cancel=False, acc_resume = True))
      can_sends.append(create_wheel_buttons(self.packer, CS.button_counter + 1, 2, cancel=False, acc_resume = True))

And this is chryslercan

  def create_wheel_buttons(packer, frame, bus, cancel = False, acc_resume = False):

    values = {
     "ACC_Cancel": cancel,
     "COUNTER": frame % 0x10,
     "ACC_Resume": acc_resume,
    }
    return packer.make_can_msg("Cruise_Control_Buttons", bus, values)