      ret = self.CS.update(self.cp, self.cp_cam, self.cp_loopback)
  
      if self.CS.cruise_buttons != self.CS.prev_cruise_buttons and self.CS.prev_cruise_buttons != CruiseButtons.INIT:
        buttonEvents = [create_button_event(self.CS.cruise_buttons, self.CS.prev_cruise_buttons, BUTTONS_DICT, CruiseButtons.UNPRESS)]
        # Handle ACCButtons changing buttons mid-press
        if self.CS.cruise_buttons != CruiseButtons.UNPRESS and self.CS.prev_cruise_buttons != CruiseButtons.UNPRESS:
          buttonEvents.append(create_button_event(CruiseButtons.UNPRESS, self.CS.prev_cruise_buttons, BUTTONS_DICT, CruiseButtons.UNPRESS))
  
        ret.buttonEvents = buttonEvents
  
 
</s> remove       ret.wheelbase = 2.69
 </s> add  </s> remove       ret.mass = 1363. + STD_CARGO_KG
 </s> add  </s> remove       ret.steerRatio = 17.3
 </s> add  </s> remove     if self.CP.networkLocation == NetworkLocation.fwdCamera and self.CP.pcmCruise:
      # The ECM has a higher brake pressed threshold than the camera, causing an
      # ACC fault when you engage at a stop with your foot partially on the brake
      if ret.vEgoRaw < 0.1 and ret.brake < 20:
        events.add(EventName.gmAccFaultedTemp)

 </s> add 
    # Enabling at a standstill with brake is allowed
    # TODO: verify 17 Volt can enable for the first time at a stop and allow for all GMs
    if ret.vEgo < self.CP.minEnableSpeed and not (ret.standstill and ret.brake >= 20 and
                                                  self.CP.networkLocation == NetworkLocation.fwdCamera):
      ret = self.CS.update(self.cp, self.cp_cam, self.cp_loopback)
  
      if self.CS.cruise_buttons != self.CS.prev_cruise_buttons and self.CS.prev_cruise_buttons != CruiseButtons.INIT:
        buttonEvents = [create_button_event(self.CS.cruise_buttons, self.CS.prev_cruise_buttons, BUTTONS_DICT, CruiseButtons.UNPRESS)]
    # Enabling at a standstill with brake is allowed
    # TODO: verify 17 Volt can enable for the first time at a stop and allow for all GMs
    if ret.vEgo < self.CP.minEnableSpeed and not (ret.standstill and ret.brake >= 20 and
                                                  self.CP.networkLocation == NetworkLocation.fwdCamera):
        if self.CS.cruise_buttons != CruiseButtons.UNPRESS and self.CS.prev_cruise_buttons != CruiseButtons.UNPRESS:
          buttonEvents.append(create_button_event(CruiseButtons.UNPRESS, self.CS.prev_cruise_buttons, BUTTONS_DICT, CruiseButtons.UNPRESS))
  
        ret.buttonEvents = buttonEvents
  
keep keep keep keep replace keep keep keep keep keep
 GM camera ACC: show under enable speed alert (#26148)

* fix the fault more generically

* fix

* need this

* some clean up

* comment and use standstill

* comment

* add comment

* better fix

* rm

* better (for now)

* update docs 
selfdrive/car/gm/interface.py